ubuntu16.04上で、WordPressを複数運用する方法について解説します。
ドメインを取得する
新しいドメインさえ取得すれば、煩雑な作業は必要ありません。ドメインはお名前.comなどで数百円という安値で取得出来ますので、気軽に新しいサイトを開設できます。
WordPressを同居させる
下記手順でaptインストールしたWordPressは、簡単な手順でマルチ運用可能となっています。
設定ファイルは、ドメインによって振り分けられるようになっていますので、データベースを作成すれば、全く新しい別のサイトが短時間で作成できます。
データベースを作成する
初回にインストールしたときと同じように、setup-mysqlを使ってデータベースを作成しましょう。
$ cd /usr/share/doc/wordpress/examples
$ sudo bash setup-mysql -n new-site example.com
new-siteは任意の名前、example.comは、取得した新ドメイン名です。
これで、ドメインのレコード設定さえすれば、すぐにでも新しいサイトにアクセスできるようになっているはずです。
「データベース接続エラー」が発生する場合
データベースのパスワードポリシー設定によっては、新しいサイトにアクセスしたときにデータベース接続エラーが発生することがあります。
そんな場合には、データベースの手動修正が必要となりますので、以下の手順を参考に修正を行ってください。
まず、コンフィグファイルの内容を確認します。
$ sudo vim /etc/wordpress/config-example.com
DB_NAMEとDB_USERの値が同じことを確認し、DB_USERとDB_PASSWORDの値を控えます。
$ mysql -u root -p
root権限でログインします。
SELECT user FROM mysql.user;
先ほど確認した名前があるか確認します。ここにある場合はそのままログイン出来るはずです。
名前がない場合は、以下の手順でユーザーを作成します。
CREATE USER 'DB_USERの値'@'localhost' IDENTIFIED BY [PASSWORD] 'DB_PASSWORDの値';
パスワードポリシー設定違反でユーザーが作成出来ていなかった場合は、ここでエラーが発生しますので、以下の情報に従ってパスワードの値を見直します。
MEDIUM ポリシーは、パスワードが最低 1 つの数値文字を含み、1 つの小文字および大文字を含み、1 つの特殊文字 (英数字以外) を含む必要があるという条件を追加します。
パスワードを変更したら、configファイルのDB_PASSWORDの値を修正してください。
続いて、権限設定を行います。
GRANT ALL PRIVILEGES ON `DB_NAMEの値`.* TO 'DB_USERの値'@'localhost';
これでデータベースへの接続が可能となりました。
wp-contentのコピー
現状のままですと、wp-contentを共有しての運用となります。このままでも運用できなくもないのですが、プラグイン関連で不具合が起きやすいので、ディレクトリをコピーしてconfig-example.com.phpファイルを修正します。
$ cd /var/lib/wordpress
$ sudo cp wp-content new-site
$ sudo vim /etc/wordpress/config-新しいドメイン.php
define('WP_CONTENT_DIR', '/var/lib/wordpress/new-site');
Apacheの設定
通常、apache側の設定は必要ありませんが、サイトをSSL対応している場合は、証明書の取得が必要です。
wordpress-le-ssl.confファイル(既存サイトの設定ファイル)を編集します。ServerNameの下に以下の行を追加してください。
ServerAlias 新ドメイン
サブドメインがある場合はそれも追加してしまいましょう。
SSL接続を行う場合は、続いて下記コマンドを実行します。
$ letsencrypt --apache
新しいドメインも全て選択して新たに証明書を取得します。
必ず、使用する全てのサブドメインを含めて取得するようにしてください。
まとめ
aptリポジトリからインストールしたWordPressは、非常に簡単な手順でマルチサイト運用できます。
wp-contentを共有すれば、プラグインインストールの手間も省けますので、同じ設定のサイトを量産することもできます。
利用用途に応じて、有効活用してみてください。