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 *

のようにして更新した。

Tags of current page

,