WordPressをWebでインストールした後、不都合にアクセスして欲しくないファイルを.htaccessで制限をかけます。
WordPress配置先の設定
WordPressのインストールが終わると、.htaccessが出力されます。
インストールも終わったので、外部からアクセスされたくないファイルを設定しておきましょう。
$ sudo vi /var/www/html/test/.htaccess
インストール直後は、下記の内容となっています。赤字部分の追記をしておきましょう。
但し、FileMatchで指定したPHPのファイルは、機能が使用できなくなるので必要な方は外してください。
# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /test/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /test/index.php [L]
</IfModule>
# END WordPress
<FilesMatch "^(wp-config\.php|wp-mail\.php|xmlrpc\.php|wp-comments-post\.php)">
Require all denied
</FilesMatch>
wp-comments-post\.phpを使用禁止にする時は、WordPressの設定=>ディスカッションで、コメントの許可を外しましょう。
install.phpのアクセス禁止
WordPressのインストールを再実行されても「インストール済み」の画面が出るので問題ないのですが、アクセスの制限を入れておきます。
$ sudo vi /var/www/html/test/wp-admin/.htaccess
下記内容を入力して保存しておきましょう。
<Files "install.php">
Require all denied
</Files>
アップロードコンテンツの実行阻止
phpのファイルをアップロードして、URLを指定して実行される事を阻止するために入れておきます。自分だけがブログに記事を登録するのであれば特に不要です。
$ sudo vi /var/www/html/test/wp-content/uploads/.htaccess
下記内容を入力して保存しておきましょう。
<Files *.php>
Require all denied
</Files>
Apache2が動作するユーザにオーナーを変更
最後にファイルのオーナーを再度設定しなおします。
$ sudo chown -R www-data:www-data /var/www/html/test
これぐらいのガードを入れておけば、そんなに問題は出ないと思います。