下記前提で、1つのAWSインスタンスに2つのドメインと2つのWordPressコンテンツ(フォルダ)を作成する方法を記事にする。
- AWSインスタンス はLightSailとする
- urlはドメインだけで(ディレクトリ指定無しで)、/var/www/html/<そのドメイン用wpコンテンツ>と紐付く形とする
- SSL設定を行う
AWS、お名前ドットコムのユーザ登録や請求先設定(VISA等の登録)、Teratermの設定、等は説明を割愛する。
サーバセットアップ
ドメイン取得
お名前ドットコム(https://navi.onamae.com/domain/search)で、
domain1-sapporo と、 domain2-okinawa を検索

今回は、.jpと.netにあえて、バラしてみる。

目的は、ブログ・ホームページ を選択し、次へ、申し込む。

LightSailインスタンスの作成
LightSailページへアクセス(https://lightsail.aws.amazon.com)、
インスタンスの作成 を選択し、

オペレーティングシステムのみ、今回は5$のものを選択する。



IPアドレス割付け
作成したインスタンスを選択
静的IPをアタッチする → 作成およびアタッチ

静的IPアドレスが割り当てられた事を確認

Teratermでアクセス
作成したインスタンスを選択し、
接続タブから デフォルトキーのダウンロード
重要なファイルなので厳重管理する。
静的IPや格納したデフォルトキーの場所を記載したTeratermマクロを作成
;—————————————————
; ホスト/ユーザ名/パスワード/鍵ファイル格納場所
;—————————————————
username = ‘ec2-user’
passwd = ”
hostname = ‘54.248.224.19’
rsapath = ‘E:/work/Private/Pass/LightsailDefaultKey-ap-northeast-1.pem’
;—————————————————
; コマンド文字列作成
;—————————————————
cmdstr = hostname
strconcat cmdstr ‘:22 /ssh /auth=publickey /user=’
strconcat cmdstr username
strconcat cmdstr ‘ /passwd=’
strconcat cmdstr passwd
strconcat cmdstr ‘ /keyfile=’
strconcat cmdstr rsapath
;—————————————————
; コマンド実行
;—————————————————
connect cmdstr
wait ‘ec2-user’
;—————————————————
; Rootへ変更、作業フォルダへ移動
;—————————————————
dispstr #$1b”[8;50;200t”
sendln ‘sudo su -‘
sendln ‘cd /var/’
sendln ‘ls * -ltrh’
実行して、アクセスできている事を確認。 一回目はこのような確認画面が表示されるが問題ない。

DNSゾーンの作成
左のタブのドメインとDNS → DNSゾーンの作成

domain1-sapporo.jp を入力して、DNSゾーンの作成。

ネームサーバーレコードをメモしておく事。

割り当てタブから、リソースを選択し、さきほど作成した静的IPを指定し、割り当てる。

同じ事(DNSゾーンの作成、割り当て)を、domain2-okinawa.net に対して実行
Apacheのインストール
dnf update -y
dnf install -y httpd
Apacheを起動し、必要に応じて自動起動設定を有効にする
systemctl start httpd
systemctl enable httpd
ブラウザから、さきほど設定した静的IPアドレスへアクセス。
http://54.248.224.19
It works! の表示がされる。

MariaDBのインストール
vi /etc/yum.repos.d/MariaDB.repo
下記内容を保存
MariaDB 11.4 LTS repository list
[mariadb]
name = MariaDB
baseurl = https://rpm.mariadb.org/11.4/rhel/9/x86_64
gpgkey=https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=1
キャッシュ更新
dnf clean all
dnf makecache
インストール
dnf install MariaDB-server MariaDB-client
自動起動設定と、1回目の起動
systemctl enable mariadb
systemctl start mariadb
インストールしたバージョン確認
mariadb –version
初期設定
mariadb-secure-installation
パスワードは覚えておく。
Disallow root login remotely?
Remove test database and access to it?
だけY、それ以外はnを選択
アクセス確認
mysql -u root -p
パスワード入力が必要となる。 MariaDB のコマンド入力画面に遷移する事を確認。

show databases;
で、データベース一覧が表示される事の確認

exit;
でMariaDBコマンドモードから戻れる。
pythonのインストール
dnf install python3.12
echo ‘alias python3=/usr/bin/python3.12’ >> /root/.bashrc
source /root/.bashrc
python -V
でインストールしたバージョン確認
PHPのインストール
dnf list –available php*
8.4がある事を確認
dnf install php8.4
dnf install php-fpm php-mysqli php-json php php-devel
php -v
でversion確認
タイムゾーンの変更
cp /etc/localtime /etc/localtime.20251122
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
cp /etc/sysconfig/clock /etc/sysconfig/clock.20251122
vi /etc/sysconfig/clock
で内容を下記へ変更
ZONE=”Asia/Tokyo”
UTC=false
ネームサーバーレコードを設定
お名前ドットコムの、左メニューのネームサーバー/DNS → ネームサーバー設定 を選択

domain1-sapporo.jp にチェックを入れてその他サービスタブを選択し、ネームサーバー情報4つを入力。 最初3つした入力欄が無いが、+ボタンで4つ目を追加。


同じ事を、domain2-okinawa.net に対して実行。
30分ほど待って
http://domain1-sapporo.jp/
http://domain2-okinawa.net/
へアクセス。
SSL化
LightSailコンソールから、作成したインスタンス → ネットワーキングタブ → ルールの追加 → → HTTPS → 作成

mod_sslインストール
dnf install mod_ssl
certbotインストール
dnf install -y python3 augeas-libs pip
python3 -m venv /opt/certbot/
/opt/certbot/bin/pip install –upgrade pip
/opt/certbot/bin/pip install certbot
ln -s /opt/certbot/bin/certbot /usr/bin/certbot
証明書取得
systemctl stop httpd
certbot certonly –standalone -d domain1-sapporo.jp
certbot certonly –standalone -d domain2-okinawa.net
vi /etc/httpd/conf.d/ssl.conf
の最後へ下記を追加
<VirtualHost *:443>
ServerName domain1-sapporo.jp
#DocumentRoot /var/www/html/index.html
ErrorLog logs/ssl_error_log_sapporo
TransferLog logs/ssl_access_log_sapporo
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/domain1-sapporo.jp/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain1-sapporo.jp/privkey.pem
</VirtualHost>
<VirtualHost *:443>
ServerName domain2-okinawa.net
#DocumentRoot /var/www/html/index.html
ErrorLog logs/ssl_error_log_sapporo
TransferLog logs/ssl_access_log_sapporo
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/domain2-okinawa.net/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain2-okinawa.net/privkey.pem
</VirtualHost>
https://domain1-sapporo.jp
https://domain2-okinawa.net
へアクセス
WordPressインストール
DB作成
mysql -u root -p ※パスワード入力が必要
CREATE DATABASE db_wp_sapporo;
CREATE USER ‘user_wp_sapporo’@’localhost’;
SET PASSWORD FOR user_wp_sapporo@localhost = PASSWORD(‘pass_user_wp_sapporo’);
GRANT ALL ON db_wp_sapporo.* TO user_wp_sapporo@localhost;
exit;
WordPressインストール
フォルダ作成
cd /var/www/html/
mkdir wp_sapporo
作成したフォルダへ移動し、DLして、解凍
cd wp_sapporo
wget http://ja.wordpress.org/latest-ja.zip
unzip latest-ja.zip
wordpressフォルダが生成されるので、そこへ移動し、1つ上のフォルダへ全ファイル移動、1つ上のフォルダへし、workpressフォルダとzipファイルは削除
cd wordpress/
mv * ../
cd ..
rm -r wordpress
rm latest-ja.zip
wp_sapporo 配下を全てapache所有へ変更
chown -R apache:apache /var/www/html/wp_sapporo
wp-config.phpを編集(コピーをとってから)
cp wp-config-sample.php wp-config.php
vi wp-config.php
DB_NAME、DB_USER、DB_PASSWORD、を上記で設定したDB、ユーザ、パスワードへ変更
ユニークキー(AUTH_KEY ~ NONCE_SALT)は、
https://api.wordpress.org/secret-key/1.1/salt/
のユニークキー生成サイトで生成したものを、そのままコピー
SSLアクセス時のコンテンツ指定
/etc/httpd/conf.d/ssl.conf
の、SSL Virtual Host Context 以下、”<VirtualHost>”から、”</VirtualHost>”までのすべてを削除して、
NameVirtualHost *:443
を追記。
/etc/httpd/conf.d
の下に、ドメインごとに新規ファイルで、VirtualHostディレクティブのファイルを作成します。
vi domain1-sapporo.conf
<Virtualhost *:443>
DocumentRoot "/var/www/html/wp_sapporo"
ServerName domain1-sapporo.jp:443
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSv1
SSLCertificateFile /etc/letsencrypt/live/domain1-sapporo.jp/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain1-sapporo.jp/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/domain1-sapporo.jp/fullchain.pem
ErrorLog logs/error_log_sapporo
CustomLog logs/access_log_sapporo common
<Directory "/var/www/html/wp_sapporo/">
</Directory>
</Virtualhost>
systemctl restart httpd
※参考にしたサイト
https://dotiga.software/linux/apache/2022-to-open-multiple-ssl-web-sites-with-name-based-virtualhost
初期アクセス
https://domain1-sapporo.jp にアクセスし、
サイトのタイトル 札幌情報
ユーザー名 editor_sapporo
パスワード Wp_Sapporo9821!
メールアドレス codecreare@gmail.com
を入力し、インストールボタン。
DB作成 からここまでの工程を、
https://domain1-sapporo.jp 関連の部分(domain, db名、ユーザ名、etc…)を
https://domain2-okinawa.net 関連に読み替えて、実施


コメント