wordpressを導入した話

勉強用のサーバーにwordpressを導入したのでパーミッションやらの設定はどうしたのか、という話を書きます。

環境

Ubuntu 18.10

権限とパーミッションの設定

参考サイトを真似しながら設定します。

所有者の変更

/var/www/以下のディレクトリ・ファイルの所有者はapacheが持つように設定するのが良いらしいです。
wordpressではその変更が重要らしくテーマの設定だったり、様々な変更がしやすくなります。
では変更 -Rオプションをつけることで再帰的に、対象ディレクトリ以下を全て設定してくれます。

sudo chown -R www-data:www-data /var/www

CentOSとかではapacheはそのままapache:apacheで設定できるらしいのですが、Ubuntuではwww-dataというユーザー・グループ名なのでこれで設定します。
/etc/apache2/envvarsに設定があるのでそこを変えると変更もできます。

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

16, 17行目に上記のような設定があるので書き換えれば良いと思います。
今回はデフォルトのままいきます。

パーミッションの設定

権限の設定はできたので、次はパーミッションの設定をします。
参考サイトによるとファイルには664, ディレクトリは775のパーミッションを設定した方が良いとのことでした。
下記のコマンドを実行

sudo find /var/www/ -type f -exec chmod 664 {} \;
sudo find /var/www/ -type d -exec chmod 775 {} \;

実行権限を与えないとファイルに移動ができないため、ディレクトリの設定は775にしています。

/var/www/はroot管理へ

/var/www/はroot管理にしておくことで、万が一サイトを乗っ取られても、他のファイルに影響がないようにします。

sudo chown root:root /var/www/

まとめ

サイトを参考にしながら設定しました。
もっとこうした方が良いというアドバイスございましたらお願いします。

参考

CentOS 6 LAMP permissions - the right way - What Sam Knows

WordPressのファイルのパーミッションはどうすべきなのか(WordPress the Right Way) | ニートエンジニアの日記