hogehoge/fuga のように、サブディレクトリ構成のサイトを運営したい場合はこちらをご覧ください。
サブディレクトリへの WordPress のインストールこの手順はセルフホスティングをご利用の方のみが対象です。マネージドホスティングをご利用の方は弊社にて作業をいたしますので、 Amimoto ダッシュボードよりご連絡ください。
セルフホスティングの Amimoto AMI では、 wp-setup を使用することでバーチャルホストへの WordPress のインストールを簡単に行うことができます。
参考: [セルフホスティング] セルフホスティングでインスタンス・サーバへ SSH 接続をする方法
しかし、この wp-setup コマンドではサブディレクトリへの WordPress のインストールには対応していません。 サブディレクトリに WordPress をインストールし、利用できるようにするには wp-cli を使用して、以下の手順で行ってください。
すでに wp-setup コマンドを利用して example.com としてバーチャルホストの設定が行われているものとします。
バーチャルホストの設定が終わっていない場合
/etc/nginx/conf.d/default.conf、/etc/nginx/conf.d/default.backend.conf をコピーして Nginx でのバーチャルホスト設定を行ってください。
コピーした設定ファイルでは server_name、root を書き換える必要があります。また listen の default という記述を削除してください。 設定ファイル作成後は sudo service nginx reload で設定ファイルへの変更を反映する必要がありますので、注意してください。
WordPress コアソースのダウンロード
まず、インストール先のディレクトリを作成して WordPress コアソースをダウンロードします。 インストール先は /var/www/vhoste/example.com/test とします。
なお,コマンドを実行する場合、先頭の $ や # を入力する必要はありません。
$ sudo mkdir -p /var/www/vhoste/example.com/test
$ cd /var/www/vhoste/example.com/test
$ sudo wp --allow-root core download
$ sudo chown -R nginx:nginx /var/www/vhoste/example.com/test
データベースの作成
次にデータベースと、データベースにアクセスすることのできるユーザを作成します。 ここでは MySQL のユーザ名が wp_user 、パスワードが wp_password 、作成するデータベース名は db_example_com_test とします。 網元 AMIでは MySQL の root アカウントにパスワードを設定していませんので、以下のコマンドを実行することでデータベースを作成することができます。 (これは、外部からの 3306 ポートへの接続をデフォルトで無効にしているからです。運用上、気になる方は root アカウントへのパスワードを設定してください)
なお,コマンドを実行する場合、先頭の $ や # を入力する必要はありません。
$ mysql -u root
mysql> create database db_example_com_test default character set utf8 collate utf8_general_ci;
mysql> grant all privileges on db_example_com_test.* to wp_user@localhost identified by 'wp_password';
mysql> exit
$ exit
WordPress コンフィグファイルの作成
次に WordPress のコンフィグファイルを作成します。 ここでは MySQL のユーザ名が wp_user 、パスワードが wp_password 、作成するデータベース名は db_example_com_test とします。
$ sudo wp --allow-root core config --dbname=db_example_com_test --dbuser=wp_user --dbpass=wp_password
nginx 設定ファイルの修正
最後に nginx のバックエンド側の設定ファイルを修正します。 サブディレクトリとして /test にインストールした場合は以下のように location /test/ {} を追加してください。
server {
listen unix:/var/run/nginx-backend.sock;
server_name example.com;
root /var/www/vhosts/example.com;
index index.php index.html index.htm;
access_log /var/log/nginx/example.com.backend.access.log backend;
keepalive_timeout 25;
port_in_redirect off;
gzip off;
gzip_vary off;
location /test/ {
try_files $uri $uri/ /test/index.php$is_args$args;
}
include /etc/nginx/wp-singlesite;
#include /etc/nginx/wp-multisite-subdir;
}
設定ファイルの変更反映
nginx の設定ファイルの修正を行った後は sudo service nginx reload で設定ファイルの変更を反映してください。 以上でサブディレクトリへの WordPress のインストールは終了です。
以降はブラウザからアクセスして管理者ユーザの作成を行っても良いですし、このままコマンドラインから
$ wp core install --url= --title= --admin_user= --admin_password= --admin_email=
とコマンドでインストールしても良いです。