新規インストールするなら、こちらを参考にしてください。
今回は既存の WordPress をそのままコピーすることにした。
ubuntu@ubuntu:~$ scp -r root@raspberrypi2:/mnt/data/wordpress /mnt/data/wordpress
モジュール追加
ubuntu@ubuntu:~$ sudo apt install nginx php-mysql php-fpm -y
nginx のサイト定義
/etc/nginx/site-available/wordpress ファイル
upstream phpfpm70 {
server unix:/var/run/php/php7.2-fpm.sock;
}
server {
server_name evo.check.jp;
listen 80;
listen [::]:80;
listen 443;
listen [::]:443;
root /mnt/data/wordpress/;
index index.php;
try_files $uri $uri/ @permalink;
location ~ \.php$ {
try_files $uri =404
fastcgi_index index.php;
fastcgi_pass phpfpm70;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
include fastcgi_params;
}
location @permalink {
fastcgi_pass phpfpm70;
fastcgi_param SCRIPT_FILENAME /mnt/data/wordpress/index.php;
fastcgi_param QUERY_STRING q=$uri&$args;
include fastcgi_params;
}
}
サイト有効化
ubuntu@ubuntu:~$ sudo ls -sf /etc/nginx/site-available/wordpress /etc/nginx/site-enabled/wordpress
nginx 再起動
ubuntu@ubuntu:~$ sudo systemctl restart nginx
http://evo.check.jp/ が表示できれば OK。
TLS の設定はあとで Let’s Encrypt を使って行うつもり。
-
wp-admin 配下を LAN 内のみ許可
ただし /wp-admin/admin-ajax.php だけは WAN アクセスでも許可しておく。
/etc/nginx/site-available/wordpress の server 内に下記を追記した。location = /wp-admin/admin-ajax.php { fastcgi_pass phpfpm70; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name; include fastcgi_params; } location ~ /(wp-login|wp-admin/.*)\.php$ { allow 192.168.0.0/24; allow 240f:3e:f6e:1::/64; deny all; try_files $uri =404 fastcgi_index index.php; fastcgi_pass phpfpm70; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name; include fastcgi_params; }
php 定義をコピペしまくりだけど、もっとエレガントな書き方ないかな。
コメントを残す