Wordpress の Ubuntu 18.04 のサーバへの移転
パッケージのインストール
apt install nginx mariadb-server libsqlite3-dev libmysqlclient-dev php-mysql php-fpm php-gd
で必要なパッケージをインストールする。
Nginx の設定
Wordpress は /path/to/example.com に保存することにする。 次のような nginx の設定のファイルを用意して、適切なファイル名(たとえば、example.com)で /etc/nginx/sites-available/ に保存する。
server {
listen 80;
server_name example.com;
error_log /var/log/nginx/example.com.error.log;
access_log /var/log/nginx/example.com.access.log;
root /path/to/example.com;
index index.html index.htm index.php;
gzip on;
gzip_http_version 1.1;
gzip_types text/plain
text/xml
text/css
application/xml
application/xhtml+xml
application/rss+xml
application/javascript
application/x-javascript;
gzip_buffers 16 8k;
gzip_min_length 1000;
gzip_comp_level 1;
gzip_proxied off;
gzip_disable "MSIE [1-6]\." "Mozilla/4";
gzip_vary off;
gzip_static on;
client_max_body_size 50M;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ {
expires 1d;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
error_page 404 /error/not_found.html;
}
このファイルのシンボリックリンクを /etc/nginx/sites-enabled/ に作る。
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled
Nginx の設定を読み込む。
service nginx reload
WordPress のデータベース
移行前のサーバで
mysqldump -u root -p wordpress > wordpress_database.sql
のようにしてデータベースをダンプする。 ここでは、データベース名は wordpress であり、 MySQL のデータベースのパスワードは wp-config.php に記述されている。 wordpress_database.sql を新しいサーバにコピーする。
新しいサーバで以前と同じようにデータベースを作成する。
mysql -u root -p
として
create database wordpress;
grant all privileges on wordpress.* to "wpuser"@localhost identified by "wordpress-password";
flush privileges;
とする。
mysql -u wpuser -p wordpress < wordpress_database.sql
として新しいデータベースにデータを復元する。 Wordpress が保存されているディレクトリ /path/to/example.com に移動して、グループとパーミションを設定する。
cd /path/to/example.com
chown -fR www-data:www-data *
chmod -fR g+w *
Ubuntu だと nginx が chown で www-data:www-data に変えれば良い。
WordPress のアップデート
Wordpress のバージョンが低かったため、php 7.2 が対応していなかったようだったので、 アクセスする前に wordpress のバージョンを上げる必要があった。 https://ja.wordpress.org/download/ から wordpress-4.9.8-ja.tar.gz をダウンロードして
tar xvf wordpress-4.9.8-ja.tar.gz
rsync -avh wordpress/ /path/to/example.com/
cd /path/to/example.com
chown -fR www-data:www-data *
chmod -fR g+w *
のようにして更新した。