APACHE+SSLにWordPressを複数インストールする。Bitnami

Amazon Lightsailの”WordPress Certified by Bitnami および Automattic 5.1.1-2″のWordpressをバーチャルホスト設定してみようと思います。

Amazon Lightsailのインスタンス選択画面の最初にあるWordpressインストール済みのインスタンスなので何度か挑戦したのですが、設定が普通のApacheと違うので途中で諦めました。

今回こそはWordpress2つをSSL設定して実際に運用できるようにしたいと思います。

環境
Amazon Lightsail5ドルプラン(1CPU 1Gメモリ)
WordPress Certified by Bitnami および Automattic 5.1.1-2

実行日
2019年8月6日

SSH設定

今回はBITNAMIのマニュアルにあるトンネル接続をするためにPUTTYを使います。

PUTTYのホームページからPUTTYをダウンロードしてインストールします。

今日(2019年8月6日)時点でのPUTTY最新版は0.72でした。

PUTTYgen設定
PUTTYgen設定

PUTTYgenを開いてLoadをクリック

ファイル選択画面
ファイル選択画面

Lightsailの秘密鍵を保存しているフォルダに行き、右下のプルダウンメニューからAll fileを選択すると、Lightsailの秘密鍵が表示されるので、それを選択して右下の開くをクリック

PUTTYgen画面
PUTTYgen

OKをクリック

PUTTY秘密鍵設定
PUTTY秘密鍵設定

Save privatekey keyをクリック

PUTTYgen画面
PUTTYgen

はいをクリック

ファイル保存画面
ファイル保存

ファイル名に適当な名前を入力して保存をクリック。

すぐに画面が切り替わるので見えませんが、適当な名前.ppkというファイルが保存されます。

PUTTY初期設定
PUTTY初期設定

PUTTYを立ち上げ、Host Nameに先ほど作成した静的IPアドレス、Portに22、Seved Sessionsに適当な名前を入力します。

PUTTY秘密鍵設定
PUTTY秘密鍵設定

左メニューのConection→SSH→Authと進んでPrivate key file for authenticationのBrowseをクリック

ファイル選択画面
ファイル選択画面

秘密鍵を保存しているフォルダに行き、さきほど作成した適当な名前.ppkを選択して開くをクリック

PUTTYトンネル設定
PUTTYトンネル設定

左メニューConnection→Dataと進んで、Auto-Logins usernameにbitnamiと入力。


ubuntuでログインでもログインできますが、何かのはずみで設定がおかしくなります。ubuntuでのログインは避けましょう。

PUTTYトンネル設定
PUTTYトンネル設定

左メニューのTunnelsでSource portに8888、Destinationにlocalhost:80を入力。

Addをクリック。

PUTTY初期設定
PUTTY初期設定

左メニューのSessionでSaveをクリックして設定を保存した後、Openをクリックしてインスタンスに接続します。

phpmyadminトンネル接続
phpmyadminトンネル接続

ブラウザにlocalhost:8888/phpmyadminを入力。

phpMyadminのログイン画面が表示されればトンネル接続成功。

SSHでインスタンスに接続したらパスワードを確認します。

cat bitnami_application_password

パスワードが表示されるはずです。

bitnami@ip-11-22-33-44:/opt/bitnami/apache2$ cat bitnami_application_password
cat: bitnami_application_password: No such file or directory

bitnami_application_passwordはbitnamiのホームディレクトリ(/home/bitnami)にあるので、他のディレクトリにいると当然見れません

ホームディレクトリに戻ってからbitnami_application_passwordを開くか、ディレクトリを指定して開きます。

cd ~
cat bitnami_application_password

または

cat /home/bitnami/bitnami_application_password

パスワードを確認したら静的IPアドレスをブラウザに入力してWordressにアクセスします。

WordPressが表示されたらLoginをクリックします。

Wordpressログイン画面
WordPressログイン画面

BitnamiのWorpressログインユーザー名user、先ほど確認したパスワードを入力してWordpressにログインします。

Mod PageSpeedをオフにする

トラブルの原因が分かりにくくなるのでMod Pagespeedをオフにします。

vi /opt/bitnami/apache2/conf/pagespeed.conf

viでpagespeed.confを開きます。

Mod Pagespeed設定画面
Mod Pagespeed設定画面

28行目のModPagespeed onをModPagespeed offにします。

独自ドメイン設定

WordPressに独自ドメインを設定します。

sudo vi /opt/bitnami/apps/wordpress/htdocs/wp-config.php

VIでwp-config.phpを開く。

define('WP_SITEURL', 'http://test.vpsfan.net/');
define('WP_HOME', 'http://test.vpsfan.net/');

この2行を追記。

Wordpress
WordPress

ブラウザで確認します。

SSL設定

BITNAMIのSSL設定ツールを使用してSSL証明書を取得します。

このインスタンスのIPアドレスが設定されているドメインのみSSL証明書取得が可能です。

wget -O bncert-linux-x64.run https://downloads.bitnami.com/files/bncert/latest/bncert-linux-x64.run
sudo mkdir /opt/bitnami/bncert
sudo mv bncert-linux-x64.run /opt/bitnami/bncert/
sudo chmod +x /opt/bitnami/bncert/bncert-linux-x64.run
sudo ln -s /opt/bitnami/bncert/bncert-linux-x64.run /opt/bitnami/bncert-tool
sudo /opt/bitnami/bncert-tool

これでSSL設定ツールが起動します

 ----------------------------------------------------------------------------
Welcome to the Bitnami HTTPS Configuration tool.

----------------------------------------------------------------------------
Domains

Please provide a valid space-separated list of domains for which you wish to 
configure your web server.

The web server name will be configured as the first provided domain name.

If you provide a non-www domain (e.g. example.com) but not its www subdomain 
(e.g. www.example.com), it will be added automatically, and viceversa.

Domain list []: test.vpsfan.net


SSL証明書が必要なドメインを入力。

スペースで区切って複数ドメインの証明書を取得可能(未確認)

ここから画像を撮るのを忘れてしまったのですが、英語の質問にY or Nで回答して、メールアドレスを入力したら取得できました。

Backup files:
* /opt/bitnami/apache2/conf/httpd.conf.back.201908060405
* /opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf.back.201908060405
* /opt/bitnami/apache2/conf/bitnami/bitnami.conf.back.201908060405


こんな感じでバックアップファイルが作成されました。

次に取得した時に詳細を記載しようと思います。

バーチャルホスト設定

httpd.confにデフォルトのWordpressがあるドキュメントルートの記載がないのでIncludeをたどって調べました。

  1. /opt/bitnami/apache2/conf/httpd.conf
  2. /opt/bitnami/apache2/conf/bitnami/bitnami.conf
  3. /opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf
  4. /opt/bitnami/apps/wordpress/conf/httpd-prefix.conf
DocumentRoot "/opt/bitnami/apps/wordpress/htdocs"

BITNAMIの設定ファイルが複雑すぎて分かりにくいのですが、4のhttpd-prefix.confにWordpressのドキュメントルートがありました。

BITNAMIのベストプラクティスに出来るだけ手を加えたくないので、1、2はそのまま使用することにして

2のbitnami.confに記載のある

Include /opt/bitnami/apps/wordpress/conf/bitnami-apps-vhosts.conf

これにつながるようにWorpress側から設定して行きます。

cd /opt/bitnami/apps/wordpress/
sudo wget sudo wget  https://ja.wordpress.org/latest-ja.tar.gz
sudo tar xvf latest-ja.tar.gz
sudo mv wordpress exam.vpsfan.com
sudo chown -R bitnami:daemon exam.vpsfan.com
sudo chmod 775 exam.vpsfan.com


デフォルトのWordpressと同じディレクトリに移動。
2つ目のWordpressを設置。
所有者を再帰的に変更。
パーミッションを775に変更

2つ目のWordpress用設定ファイル作成

2つ目のWordpressにアクセスできるように設定します。

cd conf
sudo cp  httpd-app.conf httpd-app_01.conf
sudo vi httpd-app.conf

9行目のhtdocsをexam.vpsfan.comに変更。

/opt/bitnami/apps/wordpress/confに使えそうな設定ファイルがあったのでそれを流用します

cd conf
sudo mkdir vhosts
sudo cp httpd-vhosts.conf vhosts/exam_vpsfan_com.conf

confに移動。
バーチャルホスト用ディレクトリ作成
設定ファイルのコピー

cd vhosts
sudo vi  exam_vpsfan_com.conf 


vhostsに移動。
exam_vpsfan_com.confを開く

<virtualhost *:80="">    
ServerName exam.vpsfan.com 
# ServerAlias   www.exam.vpsfan.com    
DocumentRoot "/opt/bitnami/apps/wordpress/exam.vpsfan.com"        
Include "/opt/bitnami/apps/wordpress/conf/httpd-app_01.conf"
</virtualhost >

#<virtualhost *:443="">
#    ServerName wordpress.example.com
#    ServerAlias www.wordpress.example.com
#    DocumentRoot "/opt/bitnami/apps/wordpress/htdocs"
#    SSLEngine on
#    SSLCertificateFile "/opt/bitnami/apps/wordpress/conf/certs/server.crt"
#    SSLCertificateKeyFile "/opt/bitnami/apps/wordpress/conf/certs/server.key" 
#    Include "/opt/bitnami/apps/wordpress/conf/httpd-app.conf"
#</virtualhost>

ServerNameとDocumentRootを書き直します。
SSLはまだ使わないのでコメントアウト。

cd /opt/bitnami/apache2/conf/bitnami/
sudo cp bitnami-apps-prefix.conf  bitnami-apps-vhosts.conf
sudo vi bitnami-apps-vhosts.conf

bitnamiに移動
bitnami-apps-prefix.confをコピー
viで bitnami-apps-vhosts.confを開く

Include "/opt/bitnami/apps/wordpress/conf/vhost/*.conf"


2行目を先ほど作成したvhostディレクトリの設定ファイルに書き換え。

これでデフォルトのWordpressに似たルートの設定が完了しました。

データベース作成

バーチャルホスト用データベースを作成します

mysql -u root -p

Mysqlにログイン。
パスワードを忘れたら

cat /home/bitnami/bitnami_application_password

これでパスワードが表示されます。

CREATE DATABASE でーたべーす;
CREATE USER  ゆーざー@localhost  IDENTIFIED  WITH  mysql_native_password  BY 'ぱすわーど';
GRANT  ALL  PRIVILEGES  on  でーたべーす.*  to  ゆーざー@localhost;
quit

データベース作成
ユーザー作成
権限付与
ログアウト

これでexam.vpsfan.comにアクセスするとWordpressの初期設定画面が表示されます。

バーチャルホストSSL設定

先ほど使用したBITNAMIのSSL設定ツールを利用すると、デフォルトの設定を上書きしてしまいそうなので、個別に設定します。

sudo apt install certbot


certbotをインストール。

sudo certbot certonly

certbot起動。

How would you like to authenticate with the ACME CA?
-------------------------------------------------------------------------------
1: Spin up a temporary webserver (standalone)
2: Place files in webroot directory (webroot)
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

1を選択

Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel):


メールアドレスを入力


-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: 

Aを選択

-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: 

Nを選択

Please enter in your domain name(s) (comma and/or space separated)  (Enter 'c'
to cancel):

SSL化するドメインを入力
例 exam.vpsfan.com

IMPORTANT NOTES:                                                                                                                                  
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/vpsfan.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/vpsfan.com/privkey.pem
   Your cert will expire on 2019-06-10. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

SSL証明書取得成功

vi /opt/bitnami/apps/wordpress/conf/vhosts/exam_vpsfan_net.conf

設定ファイルを開いて修正します。

<virtualhost *:80="">
    ServerName exam.vpsfan.com
#   ServerAlias www.exam.vpsfan.com
    DocumentRoot "/opt/bitnami/apps/wordpress/www.exam.vpsfan.com"

    Include "/opt/bitnami/apps/wordpress/conf/httpd-app_01.conf"
</virtualhost>

<virtualhost *:443="">
    ServerName exam.vpsfan.com
#    ServerAlias www.exam.vpsfan.com
    DocumentRoot "/opt/bitnami/apps/wordpress/exam.vpsfan.com"
    SSLEngine on
    SSLCertificateFile "/etc/letsencrypt/live/vpsfan.com/fullchain.pem"
    SSLCertificateKeyFile "/etc/letsencrypt/live/exam.vpsfan.com/privkey.pem"

    Include "/opt/bitnami/apps/wordpress/conf/httpd-app_01.conf"
</virtualhost>

これですべて完了です。

未分類
スポンサーリンク
仮想犬

コメント

タイトルとURLをコピーしました