LoginSignup
5
3

More than 1 year has passed since last update.

Amazon lightsail上のwordpressで複数の環境を作る。

Posted at

まえがき

タイトルどおり、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へ変更します。

/opt/bitnami/apache2/conf/httpd.conf
 <Directory />
     AllowOverride All
     Require all denied
 </Directory>

Apacheを再起動します。

$ sudo /opt/bitnami/ctlscript.sh restart apache

phpmyadminを操作できるようにする。

Bitnamiでは、「phpMyAdmin」が実質上利用不可となっているので、利用可能とします。

これはセキュリティ上当然の判断で、デフォルトでWordPressを使うだけの人には「phpMyAdmin」が不要ですし、全世界からアクセス可能とすることはリスクがあります。リスクを理解して作業を行ってください。

とのことで、少しリスクの伴うやり方なようです。
操作後、戻す設定にすると思います。

phpmyadminの設定ファイルへ追記、変更をしていきます。
先頭4行目あたりまでだけで設定できます。

/opt/bitnami/apache2/conf/bitnami/phpmyadmin.conf
Allow from All
Require all granted

Apacheを再起動します。

$ sudo /opt/bitnami/ctlscript.sh restart apache

IPアドレス末尾に「/phpmyadmin/」を追加してアクセスします。
ログインユーザーはroot、パスワードはbitnami初期パスワードです。

phpmyadmin.png

ですので、homeディレクトリにbitnami_credentialsがあるはずなので、vi等で開くと確認できます。

$ vi ~/bitnami_credentials

phpmyadmin_after_login.png

別の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フォルダ内がまとめてインクルードされている設定が確認できます。

/opt/bitnami/apache2/conf/httpd.conf
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.jpg

route53だとほんの1分ほどで名前浸透するので安心です。

phpmyadminで新しいデータベースを作成

上の方で設定したphpadminから新しいデータベースを作成します。
new-database.jpg

siteにアクセス

ブラウザからサイトにアクセスしてwordpressの初期設定を行います。
wordpress.jpg

同じサーバーでヴァーチャルホストの設定ができました。
あとは通常のワードプレスのように使っていくことができます。

細かいリライトの設定などはまた調べて追記していきたいと思います。
参考記事に記載のアプローチAを参考にファイル構造などを把握していくことが必要です。

参考

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3