お世話になっております。
ご質問の内容についてご返答させて頂きます。
WordPressをサブディレクトリで使用する場合、同一サーバ内であれば、通常は単純にドキュメントルート直下にsubというディレクトリを新たに作りそこにWordPressをインストールするという方法があります。
ただKUSANAGIの場合、プロビジョニングして管理していくという構造上上記の方法ではサブディレクトリ内のWordPressについては管理できなくなってしまいますので、このケースであれば下記のようにリバースプロキシの設定をするのが良いと思います。
# kusanagi provision main
についてはFQDNを通常通りwww.example.comとしてプロビジョニングして下さい。
# kusanagi provision sub
については、プロビジョニング時に設定するFQDNを任意の名前、たとえばsub.example.comとします。
2つのプロビジョニングの終了後、mainのnginxの設定ファイル(/etc/nginx/conf.d/main_http.conf)に下記のような項目を追加して下さい。場所はlocation/の下辺りにします。
location / {
try_files $uri $uri/ /index.php?$args;
}
# 下記を追加
location ^~ /sub/ {
proxy_pass http://localhost:8080/;
proxy_set_header Host sub.example.com;
proxy_http_version 1.1;
}
続いて、subのnginxの設定ファイル(/etc/nginx/conf.d/sub_http.conf)のlistenの項目を80から8080に変更します。
server {
listen 8080;
続いてsubのディレクトリにある/home/kusanagi/sub/DocumentRoot/wp-config-sample.php を/home/kusanagi/sub/wp-config.phpとして移動します。
移動させたら、wp-config.php内のデータベース名やデータベースのユーザー名などを手動で変更し、define(‘WP_DEBUG’, false);の下あたりに下記の2行を追記します。
/**
* 開発者へ: WordPress デバッグモード *
* この値を true にすると、開発中に注意 (notice) を表示します。
* テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。
*/
define('WP_DEBUG', false);
# 下記2行を追加
define('WP_HOME','http://www.example.com/sub');
define('WP_SITEURL','http://www.example.com/sub');
最後にnginxの再起動を行います。
# kusanagi nginx
これで
http://www.example.com/
http://www.example.com/sub/
を同じサーバのKUSANAGI上で運用することが可能となります。
-
This reply was modified 7 years ago by 草薙 沙耶.