まえがき
タイトルどおり、AmazonのLightsail上で、Multisite構成でないwordpress環境を複数作って
サブドメインで分けるところまでやっていきます。
参考記事を見ながら作業をしていましたが、
現在、Lightsailで新しく作成したbitnamiのwordpressでは、ディレクトリ構造が変わっているようなので記事にしてみました。
本家の英語ドキュメントではふたつのやり方があることが記載されておりコマンドで自分の環境を調べることができることが記載されています。
注:現在、多くのBitnamiスタックのファイル構造と構成を変更しています。これらの変更により、このガイドに記載されているファイルパスは、お使いのBitnamiスタックがネイティブのLinuxシステムパッケージを使用しているかどうか(アプローチA)、または自己完結型のインストールであるかどうか(アプローチB)に応じて変更される可能性があります。お使いのBitnamiのインストールタイプと従うべきアプローチを特定するには、以下のコマンドを実行してください。
$ test ! -f "/opt/bitnami/common/bin/openssl" && echo "Approach A: Using system packages." || echo "Approach B: Self-contained installation."
Approach A: Using system packages.
と帰ってきました。
私の環境ではアプローチAということがわかりました。
日本語記事で多いのはファイル構成変更前のアプローチBです。
やりたいこと
apacheのヴァーチャルホスト機能を使って複数のワードプレスをひとつのインスタンス上で機能させたい。
具体的には
・wp.mydomain.com
というワードプレスを最初に作ったので、
・wp1.mydomain.com
・wp2.mydomain.com
・wp3.mydomain.com
というアドレスでアクセスできるwordpressサイトを複数作ろうというものです。
参考にした記事のように、複数人のwordpress学習環境としての用意です。
「.htaccess」を有効にする
Bitnamiのhttpd.confは、「/opt/bitnami/apache2/conf」配下にあります。
210行目あたりにAllowOverride
の項目があるので、設定内容をNone
からAll
へ変更します。
<Directory />
AllowOverride All
Require all denied
</Directory>
Apacheを再起動します。
$ sudo /opt/bitnami/ctlscript.sh restart apache
phpmyadminを操作できるようにする。
Bitnamiでは、「phpMyAdmin」が実質上利用不可となっているので、利用可能とします。
これはセキュリティ上当然の判断で、デフォルトでWordPressを使うだけの人には「phpMyAdmin」が不要ですし、全世界からアクセス可能とすることはリスクがあります。リスクを理解して作業を行ってください。
とのことで、少しリスクの伴うやり方なようです。
操作後、戻す設定にすると思います。
phpmyadminの設定ファイルへ追記、変更をしていきます。
先頭4行目あたりまでだけで設定できます。
Allow from All
Require all granted
Apacheを再起動します。
$ sudo /opt/bitnami/ctlscript.sh restart apache
IPアドレス末尾に「/phpmyadmin/」を追加してアクセスします。
ログインユーザーはroot、パスワードはbitnami初期パスワードです。
ですので、homeディレクトリにbitnami_credentials
があるはずなので、vi等で開くと確認できます。
$ vi ~/bitnami_credentials
別のWordpressを環境を用意する
デフォルトのwordpressの場所は、/opt/bitnami/wordpress
になります。
ここと同じ階層に/opt/bitnami/wordpress1
とかを作っていきます。
まずは、wordpressを取得します。
ホームディレクトリあたりで取得。
$ wget https://ja.wordpress.org/wordpress-5.8.1-ja.zip
解凍(unzip)します。
$ unzip wordpress-5.8.1-ja.zip
wordpressというディレクトリが出来上がっていると思うので、公開したいフォルダへコピーします。
$ cp -R ./wordpress /opt/bitnami/wordpress1
所有ユーザ、権限まわりを変更していきます。
$ cd /opt/bitnami
$ sudo chown -R bitnami:daemon wordpress1
$ sudo chmod -R g+w wordpress1
ヴァーチャルホストの設定
bitnamiのapacheの設定は/opt/bitnami/apache2/conf/httpd.conf
です。
そのファイルの末尾(520行目あたり)でOptinalとしてvhostフォルダ内がまとめてインクルードされている設定が確認できます。
IncludeOptional "/opt/bitnami/apache/conf/vhosts/*.conf"
初期のwordpressのヴァーチャルホスト設定もここにあることも確認しましょう。
$ bitnami@ip-YOUR-OWN-IP-ADR:/opt/bitnami/apache2/conf/vhosts$ ls -1
00_status-vhost.conf
htaccess
wordpress-https-vhost.conf
wordpress-vhost.conf
ここに新しいヴァーチャルホストの設定ファイルを作成します。
$ cd /opt/bitnami/apache2/conf/vhosts
$ touch wordpress1-vhost.conf
このあたりからは細かい調整がまだ済んでいませんが、最小構成で動作確認用にこんな設定にしてみました。
<VirtualHost 127.0.0.1:80 _default_:80>
ServerName wp1.mydomain.com
ServerAlias www.mydomain.com
DocumentRoot /opt/bitnami/wordpress1
<Directory "/opt/bitnami/wordpress1">
Options -Indexes +FollowSymLinks -MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
DNSの解決のサブドメインを設定
最後にRoute53のドメインサービスの方で、割り当てたサブドメインのAレコードを記載して、名前解決できるようにします。
route53だとほんの1分ほどで名前浸透するので安心です。
phpmyadminで新しいデータベースを作成
上の方で設定したphpadminから新しいデータベースを作成します。
siteにアクセス
ブラウザからサイトにアクセスしてwordpressの初期設定を行います。
同じサーバーでヴァーチャルホストの設定ができました。
あとは通常のワードプレスのように使っていくことができます。
細かいリライトの設定などはまた調べて追記していきたいと思います。
参考記事に記載のアプローチAを参考にファイル構造などを把握していくことが必要です。
参考