KUSANAGI公式でも推奨されているWordPressサイトを公開する前にやっておく設定(セキュリティ、WAF、キャッシュ)を紹介します。
wp-config.phpの移動とパーミッション設定
wp-config.phpファイルをDocumentRootの上のディレクトリに移動し、オーナー、グループをkusanagi:kusanagi、パーミッションを440に変更。
#DocumentRootディレクトリに移動 # cd /home/kusanagi/プロファイル名/DocumentRoot #一つ上のプロファイル名ディレクトリにwp-config.phpファイルを移す # mv wp-config.php /home/kusanagi/プロファイル名 #プロファイル名ディレクトリに移動 # cd /home/kusanagi/プロファイル名 #オーナーとグループをkusanagiに設定 # chown kusanagi:kusanagi wp-config.php #wp-config.phpの権限を440に設定 # chmod 440 wp-config.php
作業が終わったらちゃんとサイトが表示されているかを確認。
既存のサイトを移転した場合、wp-config.phpのパーミッションを440に設定すると500エラーによってサイトが表示されない場合がある。
その時は適宜「444」などに設定し直してみるとよい。
DocumentRootとwp-contentの権限を755に設定
他人にDoumentRootとwp-contentディレクトリの中身を書き換えられないようパーミッションを設定する。
#プロファイル名ディレクトリに移動 # cd /home/kusanagi/ディレクトリ名 #権限を755に設定 # chmod 755 DocumentRoot #DocumentRootに移動 # cd /home/kusanagi/プロファイル名/DocumentRoot #権限を755に設定 # chmod 755 wp-content
一通り設定ができたらnginxを再起動。
# kusanagi nginx
WAFを起動する
WAFは「KUSANAGI 8.4.0へのアップデート以降に新規でセットアップしたサーバー」でしか利用できません。
WAFは「Web Application Firewall」の略。
サーバー内にインストールされたアプリケーション(このケースではWordPress)特有の脆弱性を狙った攻撃をブロックする仕組み。
一通りセットアップされたものをKUSANAGIコマンドで簡単に起動できる。
#WAFを起動 # kusanagi waf on Nginxを使用します。 完了しました。
WAFでは一部の正常な通信も弾かれてしまうことがあるので、一通りサイトが表示されているか?、プラグインが動いているかを確認しておく。
特定のファイルのアップロードなどがブロックされてしまうこともありますが、個人サイトレベルであれば一時的にWAFをオフにして、作業が終わったらもう一度起動させる程度でもいいでしょう。
#WAFを停止 #kusanagi waf off Nginxを使用します。 完了しました。
サーバーキャッシュをオンにする
KUSANAGI標準で備わっているサーバーキャッシュをオンにする。
サーバーキャッシュ(fcache)を利用するならページキャッシュはオフのままでもいい。
#サーバーキャッシュをオン # kusanagi fcache on onにします。 Nginxを使用します。 完了しました。
selinuxはオフのままでいい
KUSANAGIではより高度なセキュリティ対策としてselinuxも簡単に導入できるが、2019年2月現在selinuxをオンにするとSSHでログインができなくなってしまうので現段階では利用しない方がいいかもしれない。
- KUSANAGI参考書籍
- ゼロからはじめるLinuxサーバー構築・運用ガイド 動かしながら学ぶWebサーバーの作り方
- 新しいLinuxの教科書
- 入門者のLinux 素朴な疑問を解消しながら学ぶ (ブルーバックス)
- 標準テキスト CentOS 7 構築・運用・管理パーフェクトガイド
- プロに管理してもらえるKUSANAGI搭載サーバー
- カゴヤ・ジャパンの「WordPress専用サーバー」
- CloudGarage(旧エクスクラウド)の「WordPressプラン」