[AWS] Bitnami WordPress構築2 – WP設定編

2019-02-07WordPressAWS,Bitnami

AWS ( Amazon Web Services )上で、Bitnami WordPress をインストールする手順その2。
前項でAWSの設定を行い、その続き。

<WordPress 設定編>

WordPress パスワードを確認

  1. 「インスタンス」 → 対象インスタンス選択
  2. 「アクション」 → 「インスタンスの設定」 → 「システムログの取得」
    AWS EC2 Systemlog
    AWS EC2 Systemlog
  3. ログからパスワード確認(ユーザー名はデフォルトで 「user」 )
    AWS Bitnami WP Password
    AWS Bitnami WP Password

    システムログに書かれたログイン情報は、インスタンス起動後 24 時間だけ確認できる。24 時間をすぎると消える。

    システムログから確認できなくなった場合は、 SSH ログインして以下のコマンドで確認できる。

    cat ./bitnami_credentials
    Find Application Credentials
  4. ユーザー名・パスワード変更

    必須ではないが、WP ログイン後、ユーザー名とパスワード変更したほうがいい

    <方法1>
    新しく管理者権限のユーザーを追加し、デフォルトの 「user」 アカウントを削除する
    * デフォルトの 「user」 アカウントが削除できない場合は、パスワードだけでも変えておく

    <方法2>
    データベースで bitnami_wordpress を選択し、SQL を発行する
    ・パスワードを変更する SQL

    UPDATE wp_users SET user_pass=MD5('NEW-PASSWORD') WHERE ID='1';
    ユーザー名を変更する SQL
    UPDATE wp_users SET user_login='NEW-USERNAME' WHERE ID='1';

SSH 接続 ( Mac の場合)

ターミナルを起動し、コマンドを実行する ( Windows の場合デフォルトではターミナルが入っていないため、Tera Term とかをインストールして使う)

  1. インスタンス作成時にダウンロードした pem ファイルを、「~/.ssh/」 フォルダに移動(またはコピー)する
    cp コピー元フォルダ/ファイル名.pem ~/.ssh/ファイル名.pem
  2. 権限を 600 に設定
    sudo chmod 600 ~/.ssh/ファイル名.pem
  3. SSH ログイン
    ssh -i ~/.ssh/ファイル名.pem bitnami@SERVER-IP
    ※ @ の前の 「bitnami」 は、ユーザ名
    Amazon マシンイメージ (AMI) で Amazon Linux 系を選択した場合、ユーザー名は 「ec2-user」 、 Ubuntu の場合、 「ubuntu」 or 「root」になる。 前は、 bitnami でも 「ubuntu」 だったので、ログインできない場合は、 Bitnami 公式ドキュメントでユーザー名を確認すること。  Bitnami 公式ドキュメント
     
  4. PHPの mail() 関数を有効にする
    Bitnami AMI にはデフォルトでは sendmail が入っておらず、WordPress やサイトからメールの送受信ができないのでインストールする
    sudo apt-get install sendmail

    php.ini を修正
    php.ini の場所: /opt/bitnami/php/etc/php.ini
    (デフォルトで記載済みなので、コメントアウトを外せば OK )

    sendmail_path = "env -i /usr/sbin/sendmail -t -i"
    php.ini を修正後は apache 再起動だけではダメ。必ず php-fpm も再起動する!
    sudo /opt/bitnami/ctlscript.sh restart php-fpm
    sudo /opt/bitnami/ctlscript.sh restart apache
    または、 Bitnami サービス全部再起動でも OK
    sudo /opt/bitnami/ctlscript.sh restart
    ちなみに、全部再起動だと、https ( apache ) , php-fpm , mysql が再起動する
    php-fpm 再起動時に、 wp-config.php を読みにいっているので、chmod 660 とか、daemon ( = Apache ) で読み込み可にしておくこと! 読込み権限がないと Permission エラーになる.
    参考:bitnami community
     
  5. Bitnami のロゴを消す
    Bitnami WordPress を使うと、右下にロゴマークが現れるのでこれを非表示にする
    sudo /opt/bitnami/apps/wordpress/bnconfig --disable_banner 1
    Apache を再起動する
    sudo /opt/bitnami/ctlscript.sh restart apache

phpMyAdmin の有効化

  1. httpd-app.conf 編集
    場所 : /home/bitnami/apps/phpmyadmin/conf/httpd-app.conf
    こう書いてあるのを、
    Allow from 127.0.0.1
    Require local
    こう書き換える
    Allow from All
    Require all granted
  2. Apache 再起動
    sudo /opt/bitnami/ctlscript.sh restart apache
  3. DBへのログイン情報は wp-config.php で確認する
    場所 : /home/bitnami/apps/wordpress/htdocs/wp-config.php
     
  4. これで、http(s)://{インスタンスのIP or ドメイン名}/phpmyadmin/ にアクセスすると、phpMyAdminにログインできる

HTTPS 化の設定

  1. wp-config.php の編集
    場所:/opt/bitnami/apps/wordpress/htdocs/wp-config.php
    require_once(ABSPATH . 'wp-settings.php'); の記述よりも前に記述すること
    define('FORCE_SSL_ADMIN', true);
    if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
        $_SERVER['HTTPS']='on';
    以下を記述すると、動かなくなった。。。環境によって?、これだとダメらしい。
    if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
        $_SERVER['HTTPS'] = 'on';
    既存コードをコメントアウトして、新たに下記コードを追記
    //define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/');
    //define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/');
    define('WP_SITEURL', 'https://ドメイン名/');
    define('WP_HOME', 'https://ドメイン名/');

ファイルパーミッションの設定

  1. 下記コマンドを実行する
    sudo chown bitnami:daemon /opt/bitnami/apps/wordpress/htdocs
    sudo find /opt/bitnami/apps/wordpress/htdocs/ -type f -exec chmod 664 {} \;
    sudo find /opt/bitnami/apps/wordpress/htdocs/ -type d -exec chmod 2775 {} \;
    WordPress と SFTP の両方からファイル編集や新規作成するためには、Bitnami ユーザーと Apache ユーザーの両方にアクセス権限が必要になる。
    ( Apache に権限がないと、WordPressの管理画面から、プラグインのインストールや WordPress 本体の更新もできない)
    Bitnami では、 Apache グループは「 daemon 」というグループ名になっている。 (通常、Apache グループ名は「 apache 」)
    wp-config.php への修正が終わっていれば、オーナーのみ「読み取り」「書き込み」可能なパーミッションに変更する
    chmod 600 /opt/bitnami/apps/wordpress/htdocs/wp-config.php

sendmail の cron 停止

/var/log/syslog に、下記のログが大量に出力される。

CRON[0010]: (smmsp) CMD (test -x /etc/init.d/sendmail && test -x /usr/share/sendmail/sendmail && test -x /usr/lib/sm.bin/sendmail && /usr/share/sendmail/sendmail cron-msp)

これが何なのかまだよく分からないけれど、ログが出力されなようにこの cron の該当部分をコメントアウトする。

$ sudo vi /etc/cron.d/sendmail
 
#*/20 *    *    *    *		smmsp	test -x /etc/init.d/sendmail && test -x /usr/share/sendmail/sendmail && test -x /usr/lib/sm.bin/sendmail && /usr/share/sendmail/sendmail cron-msp

参考
Bitnamiガイド
Bitnami sendmail()

Posted by Agopeanuts