gcp+bitnami+nginxで複数ドメインを使う

最終更新日:2021‐05-23

はじめに

gcpの「wordpress with nginx and ssl certified by bitnami」でwordpressを立ち上げたときにマルチドメインに対応する手順をメモしておきます。

上記のテンプレートを使用するとすぐにWordpressが使用できる状態なので、そのままスキーマとディレクトリをコピーして使います。

MySQLでスキーマをコピー

自分のホームディレクトリで実行します。

MySQLのrootユーザーのパスワードは、GCPの「VM インスタンスの詳細」ページに記載してある「bitnami-base-password」の部分です

mysqldump -u root -p bitnami_wordpress > bitnami_wordpress.dump.sql
mysqladmin -u root -p create bitnami_wp_newdb
mysql -u root -p bitnami_wp_newdb < bitnami_wordpress.dump.sql

MySQLのユーザーを作成する

MySQLにログインしたあと、先程作ったスキーマを操作できるユーザーを新規作成します。

mysql -u root -p
create user 'wp_admin'@'localhost' identified by '****(任意のパスワード)****';
grant all on bitnami_wp_newdb.* to 'wp_admin'@'localhost';

WordPressのディレクトリをまるっとコピー

cd /opt/bitnami/apps/wordpress
sudo cp -rp htdocs/ hogefuga1.jp/

wp-config.phpを編集する

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'bitnami_wp_newdb' );

/** MySQL database username(作成下MySQLのユーザー名を設定) */
define( 'DB_USER', 'wp_admin' );

/** MySQL database password(作成したMySQLユーザーのパスワードを設定) */
define( 'DB_PASSWORD', 'password' );

bitnami用のnginxの設定ファイルを修正する

sudo vi /opt/bitnami/nginx/conf/bitnami/bitnami-apps-vhosts.conf
####################
# hogefuga1.jp
####################
server {
    listen    80 ;
    server_name  hogefuga1.jp www.hogefuga1.jp;
    client_max_body_size 20M;
    return 301 https://hogefuga1.jp$request_uri;
}
server {
    listen    443 ssl http2;
    ssl_protocols TLSv1.2 TLSv1.3;
    root   "/opt/bitnami/apps/wordpress/htdocs";
    server_name  hogefuga1.jp www.hogefuga1.jp;
    ssl_certificate      "/opt/bitnami/letsencrypt/certificates/hogefuga1.jp.crt";
    ssl_certificate_key  "/opt/bitnami/letsencrypt/certificates/hogefuga1.jp.key";
       ssl_session_cache    shared:SSL:1m;
       ssl_session_timeout  5m;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;
    include "/opt/bitnami/apps/wordpress/conf/nginx-app.conf";
}
####################
# hogefuga2.jp
####################
server {
    listen    80 ;
    server_name  hogefuga2.jp www.hogefuga2.jp;
    client_max_body_size 20M;
    return 301 https://hogefuga2.jp$request_uri;
}
server {
    listen    443 ssl http2;
    ssl_protocols TLSv1.2 TLSv1.3;
    root   "/opt/bitnami/apps/wordpress/hogefuga2.jp";
    server_name  hogefuga2.jp www.hogefuga2.jp;
    ssl_certificate      "/opt/bitnami/letsencrypt/certificates/hogefuga2.jp.crt";
    ssl_certificate_key  "/opt/bitnami/letsencrypt/certificates/hogefuga2.jp.key";
       ssl_session_cache    shared:SSL:1m;
       ssl_session_timeout  5m;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;
    include "/opt/bitnami/apps/wordpress/conf/nginx-app.conf";
}

bitnamiの関連ソフトウェアをまとめて停止

sudo /opt/bitnami/ctlscript.sh stop

Let's EncryptでSSL証明書を取得

sudo /opt/bitnami/letsencrypt/lego --tls --email="(任意のメールアドレス)" --domains="(任意のドメイン名)" --path="/opt/bitnami/letsencrypt" run
sudo /opt/bitnami/letsencrypt/lego --tls --email="hoge@gmail.com" --domains="code.eaglet.jp" --path="/opt/bitnami/letsencrypt" run

bitnamiを起動

sudo /opt/bitnami/ctlscript.sh start

以上で手順は終わりです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です