phpMyAdminを使う~DiskStation DS218j

DSMアプリケーション, Synology DiskStation DS218j, Webサイト構築, WordPressDSM, DSMパッケージ, NAS, phpMyAdmin, Synology, システム管理, バックアップ

WordPressでホームページを運用するとき、怖いのはサイト構築中のエラーです。

例えば[保存]とか[OK]とかのボタンを押して設定を反映するような場合は、「処理が終了しましたぁ」みたいなメッセージが出るまでページを遷移しないのが原則ですが、勢いでうっかり処理中のウインドウを閉じたりしてしまうとサイトが壊れてしまうことがままあります。最悪の場合、管理画面が真っ白になって頭の中も真っ白、になりかねません。

そこで、プラグインを入れるときとか、大幅にカスタマイズをかけるときなどはバックアップをとってから行うのが定石です。

WordPressはドキュメントルートに配置したデータ類とデータベースから構成されています。データ類はそのままコピーをとるだけでバックアップできますが、データベースはツールかコマンドでダンプしてバックアップをとる必要があります。

Synology DiskStation DS218jでWordPressを構築すると、データベースとしてMySQL互換のMariaDBが使用されます。

MariaDBのデータベースをバックアップするにはWordPressのプラグインを使う方法もありますが、非力なDS218j上で動いているWordPressにあまりたくさんのプラグインを入れたくないので、DSMであらかじめパッケージとして準備されているMySQLデータベース操作ツールの定番"phpMyAdmin"を利用したいと思います。

DSMにログインして[パッケージセンター]を開きます。

phpMyAdminのインストール|DiskStation DS218j

「phpMyAdmin」の[インストール]をクリックします。

phpMyAdminを停止へ|DiskStation DS218j

インストールが終わったら[開く]を押さずに[開く]ボタンの外をクリックします。

ここからちょっとイレギュラーな使い方になります。理由は後程説明します。

phpMyAdminを停止する|DiskStation DS218j

プルダウンメニューを開いて[停止]をクリックします。確認のダイアログが出ますので[はい]をクリックします。

phpMyAdmin停止の確認|DiskStation DS218j

停止完了です。

「何で停止するの?」と思われるかもしれませんが、ちゃんと理由があります。

phpMyAdminはMySQL(MariaDB)のデータベースをGUIで操作するCMSですから、ログインにはユーザー名とパスワードが必要とはいえ、ログイン画面を外部インターネット空間にさらしたくはありません。バックアップを行うのはNOMI自身しかいませんので、自宅内か、自宅にVPN接続をした場合にのみログイン画面が表示されれば十分です。

しかし「phpMyAdminを実行」してしまうと、"http(s)://[ホスト名またはIPアドレス]/phpMyAdmin/"でどこからでもアクセスできてしまうのでちょっと困りものではあります。

もちろん、phpMyAdminそのものの設定を変更して「ローカルIPアドレスからのみアクセスを受け付ける」という制限をかける方法もありますが、それではDSMがphpMyAdminのアップデートを行ってしまうと、せっかく変更した設定が初期化されてしまう恐れがあります。これもうざったいです。

一方phpMyAdminは、常に何かの常駐プログラムを動かしているのではなく、ブラウザからの操作で受動的に動くスクリプトの集まりに過ぎません。

実はDSMで「phpMyAdminを実行する」という設定は、

  • ディレクトリ"/web/phpMyAdmin/"に対して"http(s)://[ホスト名またはIPアドレス]/phpMyAdmin/"でアクセスできるように仮想ホスト機能を有効にしている。

だけですので、phpMyAdminを「停止」してもブラウザから"/web/phpMyAdmin/"にアクセスできればちゃんと使えます。

ということは、ローカル環境からのみアクセス可能なように自分で仮想ホスト機能を作ってあげれば問題は解決という訳です。

引き続きDSMから、

Web Stationを開く|DiskStation DS218j

[メインメニュー]→[Web Station]を開きます。

仮想ホストを開く|Web Station

[仮想ホスト]→[作成]をクリックします。

phpMyAdmin用仮想ホストの設定|Web Station

まず「ポートベース」を選択します。プロトコルはHTTPでもHTTPSでも構わないのですが、ここではHTTPSのみのアクセスとし、インターネット空間からのポートフォワーディングに使用していない5桁のポート番号を設定します。

NOMI宅ではDS218jに対してhttpアクセスのポート80と、httpsアクセスのポート443をルーターの設定でポートフォワーディングしています。

ここで設定するのはそれ以外なら何でもいいのですが、こういう場合は習慣として4~5桁のパスワードっぽいポート番号を指定するもののようですね。

ドキュメントルートは[検索する]から"web/phpMyAdmin"を選択。「HTTPバックエンドサーバ:」と「PHP:」はWordPressの場合と同じく[Apache HTTP Server 2.2]と[Default Profile (PHP5.6)]を選択します。

設定ができたら[OK]をクリックします。

仮想ホストの設定完了|Web Station

これで設定は終わりです。

LAN内のパソコンのWebブラウザから、"https://wwq.mydns.jp:[ポート番号]"でアクセスすると、

phpMyAdminへログイン

アクセスできました。ここで、【WordPressのインストール1~DiskStation DS218j】で設定した「データベースユーザーアカウント」と「データベースユーザーパスワード」を入力して[実行]をクリックします。

データベースをエクスポート|phpMyAdmin

ログインできたら左のペインから【WordPressのインストール1~DiskStation DS218j】で設定したデータベース名"wordpress"を選び、上段メニューから[エクスポート]をクリックし、[実行]をクリックするとデータベースのバックアップがパソコンにダウンロードできます。

Synologyの作法に則った方法ではありませんが、これが安全な方法だと思っています。