GCPのWordPress初期設定
このサイトはGCPのMarketPlaceにあるWordPressを使いました。再構築する際に備えて、やったことを簡単に記録しておきます。
この手順はGCP MarketPlaceにあるWordPress Container Registry tag:5.3で実行したときのものです。
TLS対応
まずはTLS対応しましょう。今回はテスト用途なので、デフォルトのものをサクッと使います。
: 自己署名証明書を作成
sudo make-ssl-cert generate-default-snakeoil --force-overwrite
: ApacheでSSLを有効化
sudo a2ensite default-ssl
sudo a2enmod ssl
sudo systemctl restart apache2
ここまでで、httpsでアクセスできるようになっているはずです。ただしGCP側のファイアウォールでブロックされるので、GCPのコンソールに入ってファイアウォールを開放します。VMインスタンスの設定画面に入り、HTTPSトラフィックを許可するにチェックすれば良いです。
アクセスできることを確認したら、間違ってhttpを使わないように、80番ポートは完全に落とすか、リダイレクトするかしましょう。今回は落とす方法でやりました。
sudo vi /etc/apache2/ports.conf
: 中に Listen 80 という記載があるのでコメントアウトする
sudo systemctl restart apache2
また、GCPのファイアウォールに80番を開放するルールがデプロイ時に作成されているので、消しておきましょう。
[2020/11/01 追記]
ここで80番ポートを閉塞しましたが、結局Let's Encrypt導入時に開放しました。
ユーザ名・テンポラリパスワードの変更
WordPressをデプロイすると、このような形でテンポラリパスワードが使われているので、心配であればより強固なものに変えておきましょう。セキュリティ的にはデフォルトでよく使われるユーザアカウント(例えば、root、adminや、wordpressなどのソフト名)も避けるとより安全です。この画面はDeployment Managerからいつでも見ることができます。
WordPress MySQL passwordとMySQL root passwordはphpMyAdminから、WordPress Admin passwordはWordPressから変更できます。なお、WordPress MySQL user/passwordを変更すると/var/www/html/wp-config.phpの変更も必要なので注意してください。ここではMySQLのルートユーザを変更してみます。
use mysql;
update user set user='NewRootUser' where user='root';
flush privileges;