テーマをCocoonに変更しました!
その他

WordPressをコアサーバーからConoHa VPS(Kusanagi)に移転してみた完全手順【トラブル解決まとめ】

FavoriteLoadingお気に入り登録
その他

webcss.withrun.org 移転完全記録

コアサーバーV2 → ConoHa VPS(Kusanagi / AlmaLinux9)

作業日:2026年5月14日
過去の移転経験を活かした手順で臨んだが、新たなトラブルも発生。次回の移転をスムーズにするための完全記録。


環境

項目内容
移転元コアサーバー V2({FTPホスト名})
移転先ConoHa VPS(AlmaLinux 9 / Kusanagi)
サイトURLhttps://webcss.withrun.org
ConoHa IPxxx.xxx.xxx.xxx
DB名{DB名}
DBユーザー{DBユーザー名}
テーブルプレフィックスwp_
Kusanagiプロファイル名webcss

移転前チェックリスト

  • ConoHaのターミナルにSSHログインできる状態にしておく
  • コアサーバーのFTPホスト名・FTPユーザー名・FTPパスワードを手元に用意
  • コアサーバーのphpMyAdminにログインできる状態にしておく
  • Value Domainにログインできる状態にしておく
  • WinSCPをインストール済み

全体の流れ

  1. DBをphpMyAdminでエクスポート
  2. WinSCPでConoHaにDBファイルをアップロード
  3. Kusanagiでプロビジョニング
  4. Nginx設定を書き換える(HTTPSリダイレクト有効化)
  5. DBをインポート
  6. lftpでwp-contentをミラーリング
  7. パーミッションと所有者を設定する【最重要】
  8. hostsファイルで動作確認
  9. Value DomainでDNS切り替え
  10. SSL証明書取得
  11. Nginx設定のSSL証明書パスを更新
  12. セキュリティ・プラグイン設定の確認
  13. 最終動作確認

STEP 1:DBをphpMyAdminでエクスポート

  1. コアサーバーのphpMyAdminにログイン
  2. 左のリストから {DB名} をクリック
  3. テーブル一覧に wp_ から始まるテーブルがあることを確認(プレフィックスの確認)
  4. 上のメニューから 「エクスポート」 をクリック
  5. 方式は 「簡易」、形式が 「SQL」 になっていることを確認
  6. 「実行」 でPCに .sql ファイルをダウンロード

⚠️ 注意:詳細でエクスポートする場合は形式が「SQL」になっているか確認すること。
簡易でも詳細でもデータの中身は同じ。記事・コメント・設定すべて含まれる。

  • □ {DB名}.sql のダウンロード完了

STEP 2:WinSCPでConoHaにDBファイルをアップロード

WinSCPでConoHa(xxx.xxx.xxx.xxx)に接続し、/tmp/ フォルダに .sql ファイルをドラッグ&ドロップします。

  • □ /tmp/{DB名}.sql のアップロード完了

STEP 3:Kusanagiでプロビジョニング

ConoHaのターミナルで実行:

kusanagi provision webcss --wp --fqdn webcss.withrun.org --noemail \
  --dbname {DB名} --dbuser {DBユーザー名} --dbpass {8文字以上のパスワード}

⚠️ パスワードは8文字以上必須!8文字未満だと以下のエラーが出る:

kusanagi provision: error: argument --dbpass: DBPASS must have minimum 8 characters

コアサーバーのDBパスワードとは別物なので新しく決めてOK。

provision completed. が表示されれば成功。

  • □ provision completed. を確認した
  • □ 設定したDBパスワードをメモした

STEP 4:Nginx設定を書き換える

今回はプロビジョニング後のNginx設定にすでに443ブロックが存在していた。変更箇所は80番ブロックの1行だけ

WinSCPで /etc/opt/kusanagi/nginx/conf.d/webcss.conf を開き以下を変更:

変更前:

#rewrite ^(.*)$ https://webcss.withrun.org$request_uri permanent; # SSL ONLY

変更後(先頭の # を削除するだけ):

rewrite ^(.*)$ https://webcss.withrun.org$request_uri permanent; # SSL ONLY

保存後にターミナルで実行:

kusanagi nginx --test
kusanagi nginx --reload

nginx completed. が表示されれば成功。

  • □ nginx completed. を確認した

STEP 5:DBをインポート

ConoHaのターミナルで実行:

mariadb -u {DBユーザー名} -p {DB名} < /tmp/{DB名}.sql

パスワードを聞かれたら {設定したDBパスワード} を入力。エラーが出ずに完了すればOK。

  • □ エラーなしでインポート完了

STEP 6:lftpでwp-contentをミラーリング

⚠️ ftps:// では接続が止まる場合があります。必ず ftp:// を使います。

ConoHaのターミナルで実行:

lftp ftp://{FTPホスト名} -u {FTPユーザー名}

パスワードを入力後:

cd public_html/webcss.withrun.org
mirror --use-pget-n=5 wp-content/ /home/kusanagi/webcss/DocumentRoot/wp-content/

転送完了後:

exit
  • □ ミラーリング完了(エラーメッセージがないことを確認)

STEP 7:パーミッションと所有者を設定する【最重要】

⚠️ KusanagiのPHP実行ユーザーは httpd:www です。
kusanagi でも apache でもありません!
ここを正しく設定しないとプラグインのインストール・削除ができなくなります。

# ① 親ディレクトリを通過可能にする(711 = 中身の一覧は見せないが通過はOK)
chmod 711 /home/kusanagi/
chmod 711 /home/kusanagi/webcss/

# ② DocumentRoot以下の所有者をhttpd:wwwに変更
chown -R httpd:www /home/kusanagi/webcss/DocumentRoot/

# ③ ディレクトリとファイルのパーミッションを設定
find /home/kusanagi/webcss/DocumentRoot -type d -exec chmod 755 {} \;
find /home/kusanagi/webcss/DocumentRoot -type f -exec chmod 644 {} \;

# ④ 必要なディレクトリを事前作成
mkdir -p /home/kusanagi/webcss/DocumentRoot/wp-content/upgrade
mkdir -p /home/kusanagi/webcss/DocumentRoot/wp-content/cache/autoptimize/
chown -R httpd:www /home/kusanagi/webcss/DocumentRoot/wp-content/

# ⑤ FS_METHODを正しいwp-config.phpに追記(場所に注意!)
echo "define('FS_METHOD', 'direct');" >> /home/kusanagi/webcss/wp-config.php

⚠️ wp-config.phpの場所に注意!
❌ 間違い:/home/kusanagi/webcss/DocumentRoot/wp-config.php
✅ 正解:/home/kusanagi/webcss/wp-config.php(DocumentRootの1つ上)

  • □ 全コマンドエラーなしで完了

STEP 8:hostsファイルで動作確認

DNS切り替え前にローカルPCだけConoHaに向けて確認します。

① HSTSをクリアする(Chrome)

Chromeのアドレスバーで:

chrome://net-internals/#hsts

「Delete domain security policies」に webcss.withrun.org を入力して「Delete」をクリック。

② Windowsのhostsファイルを編集する

  1. メモ帳を管理者として実行
  2. C:\Windows\System32\drivers\etc\hosts を開く
    (ファイルの種類を「すべてのファイル (*.*)」に変更してから選択)
  3. 一番下に以下を追加:
xxx.xxx.xxx.xxx webcss.withrun.org

Ctrl + S で保存。ブラウザで https://webcss.withrun.org を開いてサイトが正常に表示されることを確認します。

⚠️ FirefoxはHSTSエラーが出ることがある。Chromeで確認するのが無難。

  • □ HSTSをクリア済み
  • □ hostsファイル編集済み
  • □ サイトが正常に表示されることを確認

STEP 9:Value DomainでDNS切り替え

コアサーバーのコントロールパネルから:
「ドメイン」→「ドメイン管理」→ withrun.org の「[VALUE-DOMAIN] DNS設定変更」

以下の1行を追加:

a webcss xxx.xxx.xxx.xxx

PowerShellでDNS反映を確認:

nslookup webcss.withrun.org

xxx.xxx.xxx.xxx が返ってくれば反映完了(最大1時間かかる場合あり)。

  • □ DNSにAレコードを追加
  • □ nslookupで xxx.xxx.xxx.xxx が返ることを確認
  • □ hostsファイルから追加した行を削除した

STEP 10:SSL証明書取得

DNS反映確認後にConoHaのターミナルで実行:

certbot certonly --webroot -w /home/kusanagi/webcss/DocumentRoot -d webcss.withrun.org

途中の入力:

質問入力内容
メールアドレス自分のメールアドレス
利用規約(Y/N)Y
メール配信(Y/N)N(不要な場合)

Successfully received certificate. が表示されれば成功。

  • □ Successfully received certificate. を確認した

STEP 11:NginxのSSL証明書パスを更新

WinSCPで /etc/opt/kusanagi/nginx/conf.d/webcss.conf を開き以下を書き換え:

変更前:

ssl_certificate     /etc/pki/tls/certs/localhost.crt;
ssl_certificate_key /etc/pki/tls/private/localhost.key;

変更後:

ssl_certificate     /etc/letsencrypt/live/webcss.withrun.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/webcss.withrun.org/privkey.pem;

保存後にリロード:

kusanagi nginx --test
kusanagi nginx --reload
  • □ nginx completed. を確認した

STEP 12:セキュリティ・プラグイン設定の確認

① SiteGuardのログインページ変更を確認する

⚠️ SiteGuardの「ログインページ変更」機能が有効になっていると、CAPTCHA画像が表示されないことがある。移転作業中は無効にしておくのが安全。

WordPress管理画面 → SiteGuard WP Plugin → ログインページ変更 → 無効化

  • □ SiteGuardのログインページ変更を確認・無効化

② KUSANAGI Settings:セキュリティタブを確認する

WordPress管理画面 → KUSANAGI Settings → 「セキュリティ」タブ

⚠️ KusanagiはデフォルトでXML-RPCを無効化しています。JetpackはXML-RPCを使うため、無効のままだと連携できません。

「XML-RPC 無効」のチェックを外す → 変更を保存。その後、Jetpackを再連携します。

  • □ XML-RPCの設定を確認した(Jetpack使用の場合は有効化)

③ KUSANAGI Settings:自動更新タブを確認する

WordPress管理画面 → KUSANAGI Settings → 「自動更新」タブ

WordPressコア・プラグイン・テーマの自動更新設定を確認・変更します。

KusanagiはデフォルトでWordPressの自動更新を制御しています。プラグイン一覧で自動更新の切り替えができない場合はここで設定します。

  • □ 自動更新の設定を確認・変更した

STEP 13:最終動作確認

ブラウザで https://webcss.withrun.org を開いて以下を確認:

  • □ 🔒 鍵マーク(HTTPS)が表示されている
  • □ サイトのデザイン・記事が正しく表示されている
  • □ WordPress管理画面にログインできる
  • □ プラグインのインストール時にFTPダイアログが出ない

⚠️ 発生したトラブルと解決方法

トラブル①:DBパスワードが8文字未満でエラー

現象:

kusanagi provision: error: argument --dbpass: DBPASS must have minimum 8 characters

原因: Kusanagiのプロビジョニングコマンドでは8文字以上のパスワードが必須。

解決方法: 8文字以上のパスワードを新たに決めて再実行する。コアサーバーのDBパスワードとは別物なので新しく決めてOK。

トラブル②:Jetpackがインストールされていない

現象:

プラグイン jetpack/jetpack.php はエラーにより停止しました: プラグインファイルが存在しません。

原因: lftpでのミラーリング時にJetpackのファイルが正常に転送されなかった。

解決方法: WordPress管理画面の「プラグイン」→「新規追加」から Jetpack を検索して新規インストールし直す。

Jetpackはミラーリングで転送されないことがある。毎回新規インストールする前提で作業すると良い。

トラブル③:プラグインインストール時にFTP接続情報ダイアログが出る

現象: プラグインをインストールしようとすると「接続情報」ダイアログが表示される。

原因: wp-config.php に FS_METHOD が2つ設定されており、ftpext(古い設定)が direct(正しい設定)より先に読み込まれていた。

確認コマンド:

grep 'FS_METHOD' /home/kusanagi/webcss/wp-config.php

悪い状態(2つある):

define('FS_METHOD', 'ftpext');  ← これが邪魔している
define('FS_METHOD', 'direct');

解決方法: ftpext の行を削除する:

sed -i "/define('FS_METHOD', 'ftpext');/d" /home/kusanagi/webcss/wp-config.php

削除後に確認:

grep 'FS_METHOD' /home/kusanagi/webcss/wp-config.php

define(‘FS_METHOD’, ‘direct’); だけが表示されればOK。


Kusanagi環境の重要ポイントまとめ

ポイント内容
PHPの実行ユーザーhttpd:www(kusanagi でも apache でもない!)
wp-config.phpの場所/home/kusanagi/{プロファイル名}/wp-config.php(DocumentRootの1つ上)
親ディレクトリのパーミッションデフォルトが700のためhttpdが通過できない → 711に変更必須
DBパスワード8文字以上必須
lftpの接続ftps:// ではなく ftp:// を使う
Jetpackミラーリングで転送されないことがある → 管理画面から新規インストール
XML-RPCKusanagiはデフォルトでXML-RPCを無効化 → Jetpack使用時は有効化必須

トラブル発生時の確認コマンド集

# エラーログ確認(まず最初にここを見る!)
tail -20 /home/kusanagi/webcss/log/nginx/ssl_error.log

# wp-contentの所有者確認
ls -la /home/kusanagi/webcss/DocumentRoot/wp-content/

# PHPの実行ユーザー確認
ps aux | grep php

# wp-config.phpの場所確認
ls /home/kusanagi/webcss/

# FS_METHODの設定確認
grep 'FS_METHOD' /home/kusanagi/webcss/wp-config.php

# Nginxの構文チェック
kusanagi nginx --test

# DNSの反映確認
nslookup webcss.withrun.org

今回の教訓

  1. DBパスワードは8文字以上で事前に決めておく
  2. Jetpackは毎回新規インストールする前提で作業する
  3. FTPダイアログが出たらまず grep ‘FS_METHOD’ で重複を確認する
  4. SSL証明書取得はDNS反映確認後に行う
  5. hostsファイルの確認はChromeで行う(FirefoxはHSTSエラーが出やすい)
  6. KUSANAGI Settings のセキュリティタブ・自動更新タブを移転後に必ず確認する

KUSANAGI+WordPressかんたん導入ガイド|ConoHa VPSサポート
かんたんKUSANAGIテンプレートとKUSANAGI managerを利用したKUSANAGI搭載のWordPress導入方法、KUSANAGI managerの利用方法を紹介します。

気になる中古パソコン

Supported by Rakuten Web Service

コメント

※当サイトは、Amazon、楽天アソシエイト・他プログラムの参加者です。リンクを通じて商品を購入すると、紹介料を得る場合があります。
タイトルとURLをコピーしました