これまでさくらのレンタルサーバーを使っていたが、FreeBSDだとホームページとしてしか使うことがないので、Google Cloud Platformに移行することにした。
WordPressのブログのサーバー移行でいろいろはまりどころがあったので備忘録として記しておく。
ちなみに、さくらのレンタルサーバーのphpバージョンは7.4。これをGCP側のサーバーで同じにする必要がある。
1. 移行先サーバーの準備
1.1. VMインスタンス
あまり運用費をかけたくないので、下記の条件でVM インスタンスを作成。
インスタンスを停止した場合でもIPアドレスが変わらないよう、固定しておく。
項目 | 値 |
---|---|
ゾーン | us-west1-b |
CPU | e2-micro |
OS | Ubuntu 22.04 amd64 |
ブートディスクの種類 | 標準永続ディスク |
サイズ | 30GB |
ファイアウォール | Allow HTTP traffic, Allow HTTPS traffic |
1.2. WordPressのインストール
下記のサイトを参考に構築。
Ubuntu 22.04 LTS に WordPress 6.2 をインストール
若干phpのバージョンがうまくいかなかった場所があるので、コマンドは下記の通り。
1.2.1. タイムゾーンの設定
sudo timedatectl set-timezone Asia/Tokyo
1.2.2. Apache2 のインストール
sudo apt -y update
sudo apt -y install apache2
sudo systemctl enable apache2
sudo systemctl start apache2
mod_rewriteを有効化。これをやっていないと、トップページは見れるのに、それ以外のページはすべて404エラーになる。
sudo a2enmod rewrite
sudo vi /etc/apache2/sites-enabled/000-default.conf
11行目付近。
…
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html>
AllowOverride All
</Directory>
…
Apache2を再起動。
sudo /etc/init.d/apache2 restart
1.2.3. PHP 7.4 のインストール
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt install php7.4 php7.4-mysql
1.2.4. MariaDB のインストール
sudo apt -y install mariadb-server mariadb-client
sudo systemctl enable mariadb
sudo systemctl start mariadb
1.2.5. WordPress のインストール
cd /var/www/html
sudo wget https://ja.wordpress.org/latest-ja.tar.gz
sudo tar xvf latest-ja.tar.gz
sudo chown -R www-data:www-data .
1.2.6. MariaDB に接続
sudo mariadb
1.2.7. MariaDBでデータベース作成
ここで使用したwordpress(DB名), username, passwordを初期設定画面で使用
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8;
GRANT ALL ON wordpress.* TO username@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
1.2.8. WordPress初期設定
webブラウザで xx.xx.xx.xx/wordpress にアクセス。username, passwordを入力。
1.2.9. all in one wp migration プラグインのインストール
WordPress上でプラグインをインストールする。
最新版をインストールすると、サイズ上限が2MBと小さいので、下記のサイトを参考にv6.68をインストールする。
【2023年版】All-in-One WP Migrationの容量を無料で上げる方法!
ここまできたら、いったん移行元でエクスポートの準備をする。
2. 移行元サーバーの準備
2.1. WordPressの最新版アップデート
管理画面のアナウンス通り、更新する。
2.2. all in one wp migration プラグインのインストール
先ほどと同様にインストールする。
2.3. エクスポート
FILEにエクスポートする。
今回は250MB程度だったので、特に問題なくダウンロード完了。
3. 移行先サーバーへのインポート
2.3で準備したwpressファイルをアップロードする。
PROCEEDを実行すると、画面は「xxxxファイルを復元中」→「ブログの準備が完了しました」→「mu-pluginsを有効化しました」→完了と遷移する。
「mu-pluginsを有効かしました」で止まっていたが、phpのバージョンが8.1だったのが原因だった。
その場合は下記のコマンドで削除してから、1.2.3. をやりなおせばOK。
sudo apt purge php-8.1* -y
4. ドメイン名の取得
GCPだとIPアドレスでアクセスすることになり怪しいサイト感がでるので、No-IPでドメイン名を登録する。
無料アカウントは、30日に一回アクセスしないと消されてしまうので注意。