レンタルサーバーの更新日が近づいているので他の業者にするかどうか検討中ですが、まずは移行自体が可能かどうか確認しておこうとテスト環境を作ることにしました。
WordPressのデータはバックアップを取るプラグインがあるのでそれを使ってインポート・エクスポートすることで可能なようです。実際にやって確認しようと思いましたがもう一つの環境を作るにはレンタルサーバーを借りるしかないのか?というジレンマに陥る事となりました。
無料の試用期間があるところもありますがもう少し手軽にやりたいと思い、思い出したのがQNAP NAS。
ストレージとして使用しているTS-453Beは仮想環境を構築できることを思い出して調べてみるとLXCやDockerなどコンテナによる仮想環境を作れるとのこと。Dockerという単語は聞いていたのですが実際に触れる機会がなかったのでコレを機に調べてWordPressをローカルで使える環境を構築してみました。
TS-453BeではContainer Stationというアプリをインストールすることで使用することができます。対応しているQNAP NAS 製品であれば以降同じ手順で行けると思います。
ブラウザからお使いの QNAP NAS にアクセスしてApp Centerをオープン、QTS必須という項目をクリックすると Container Station が出てきます。インストールをクリックするとダウンロードされて読み込まれます。
私の場合、ここで失敗しました。 Container Station 用の領域がないのでエラーとなりました。どのくらいのサイズが必要なのかわからなかったので60GBほど新規にボリュームを作成して再トライすると正常にインストールできました。
インストールすると Container Station のアイコンが表示されるようになります。これをクリックします。
セットアップ画面が出ます。 Container Station 用に共有フォルダが新しくできるとのお知らせ確認したら次に進めると完了です。
Container Station の管理が出てきました。概要のところはダッシュボードになっており、ここから作成したコンテナの停止やアクセスが便利です。コンテナ作成後、頻繁に使う箇所になります。
今回はDockerを使って作成していきます。WordPressの環境を作成するには左側のメニューより「作成」をクリック、右側に「アプリケーションの作成」と出るのでこのボタンをクリック。
Docker ComposeのYAMLファイル作成の画面になります。ここでYAMLの内容を入力して「YAMLを検証」をクリック。問題なければ「作成」をクリックします。
Container Station 内で使用されるアプリケーションという言葉はプリセットされているすぐに機能を使用できるものを指すようです。実はWordPressを純粋に使いたいだけであればプリセットされたものがありますのでそちらを選択すれば環境を構築できます。ただ、バージョンが選べないので検証用途としては不向きだと思います。
今回構築した環境のYAMLになります。バージョンやポート番号などを変更したりすればお好みの環境になると思います。インターネット上にある 他のDocker Compose YAMLでも使えると思います。
version: '3' services: wordpress: image: wordpress:5.2.4 container_name: wordpress-5.2.4 restart: always ports: - 8088:80 environment: WORDPRESS_DB_HOST: mariadb:3306 WORDPRESS_DB_NAME: testdb WORDPRESS_DB_USER: wpuser WORDPRESS_DB_PASSWORD: wppw depends_on: - mariadb mariadb: image: mariadb:10.4.8 container_name: mariadb-10.4.8 restart: always environment: MYSQL_DATABASE: testdb MYSQL_USER: wpuser MYSQL_PASSWORD: wppw MYSQL_RANDOM_ROOT_PASSWORD: "yes"
作成をクリックした後に概要ページに戻ってきます。イメージのダウンロードやデータベースの構築など時間がかかります。しばらくするとWordPressの部分にリンクのボタンが表示されます。こちらをクリックするとWordPressのセットアップ画面が出ます。後はWordPressの環境になりますのでバックアップの検証が可能となります。
Dockerを初めての触れてみましたがなかなか面白い技術ですね。
コンテナのフォルダをQNAP側のフォルダにマウントしたかったのですがうまくいきませんでした。特に Docker Compose を使うとQNAP側でのボリュームの扱い方がいまいち不明です。個別にコンテナを作成すると楽にその辺りの指定ができるので同じような事ができるとよいのですが。
そしてあとから気づいたのですがDockerはサーバじゃないと使えないと思っていたのですがデスクトップ上でも使えるのでQNAP上に構築しなくても良かったかな、と。なにか他に面白い使い方ができないか考えてみたいと思います。