セルフホスティングの 網元 AMI では wp-setup
を使用することでバーチャルホストへの WordPress のインストールを簡単に行うことができます。
参考: 網元のインスタンスに SSH 接続する
なお、マネージドホスティングをご利用の場合、この手順で WordPress のサブディレクトリへのインストールはできません。弊社にて作業いたしますので、 Amimoto ダッシュボードよりご連絡ください。
しかし、この 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
$
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?$args;
}
include /etc/nginx/wp-singlesite;
#include /etc/nginx/wp-multisite-subdir;
}
nginx の設定ファイルの修正を行った後は sudo service nginx reload
で設定ファイルの変更を反映してください。
以上でサブディレクトリへの WordPress のインストールは終了です。
以降はブラウザからアクセスして管理者ユーザの作成を行っても良いですし、このままコマンドラインから wp core install --url=<url> --title=<site-title> --admin_user=<username> --admin_password=<password> --admin_email=<email>
コマンドでインストールしても良いです。