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

ConoHa VPSでHAIKを移転する完全手順|Kusanagi+PHP共存構成の設定まとめ

FavoriteLoadingお気に入り登録
その他

ConoHa VPSにHAIKを移転した話【完全手順まとめ】

ConoHa VPSにKusanagiでWordPressを運用しながら、同じサーバーにWikiシステム「HAIK」を移転した作業記録です。つまずいた点や解決策も含めてまとめました。

■ 環境について

移転前(コアサーバーV1)

  • HAIK(PukiWiki派生のCMS)
  • URL:https://memo.example.com/
  • PHP:8.x系(HAIKが真っ白になるため7.x系が必要)

移転先(ConoHa VPS)

  • OS:AlmaLinux 9.7
  • Webサーバー:Nginx(Kusanagiで構築済み)
  • PHP:8.3系(最初から入っていた)
  • WordPress:Kusanagiで稼働中

■ 事前に確認したこと

cat /etc/os-release && php -v
kusanagi nginx --status
kusanagi httpd --status

確認結果:

  • OSはAlmaLinux 9.7
  • Nginxはすでに稼働中(KusanagiはNginx構成)
  • Apacheは inactive(停止中)
  • PHPは8.3系がインストール済み

ポイント:WebサーバーはNginxに統一

WordPress(Kusanagi)→ Nginx + PHP 8.3-FPM
HAIK → Nginx + PHP 7.4-FPM

注意:KusanagiのNginxユーザーは nginx ではなく httpd

grep "user" /etc/opt/kusanagi/nginx/nginx.conf | head -5
id httpd

■ STEP 1:PHP 7.4-FPMを追加インストール

dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm
dnf install -y php74-php-fpm php74-php-mbstring php74-php-gd php74-php-xml php74-php-intl

■ STEP 2:PHP 7.4-FPMを別ポートで設定

sed -i 's|listen = /var/opt/remi/php74/run/php-fpm/www.sock|listen = 127.0.0.1:9074|' /etc/opt/remi/php74/php-fpm.d/www.conf
systemctl start php74-php-fpm
systemctl enable php74-php-fpm
systemctl status php74-php-fpm

■ STEP 3:コアサーバーからHAIKファイルを転送

dnf install -y lftp
mkdir -p /var/www/html/memo

つまずきポイント:正しいディレクトリに移動する

ls
cd public_html
cd memo.example.com
mirror --use-pget-n=5 . /var/www/html/memo/

■ STEP 4:パーミッション設定

chown -R httpd:www /var/www/html/memo
find /var/www/html/memo -type d -exec chmod 755 {} \;
find /var/www/html/memo -type f -exec chmod 644 {} \;
chmod -R 777 /var/www/html/memo/wiki
chmod -R 777 /var/www/html/memo/attach
chmod -R 777 /var/www/html/memo/backup
chmod -R 777 /var/www/html/memo/counter
chmod -R 777 /var/www/html/memo/cache

■ STEP 5:Nginx設定ファイルを作成

nano /etc/opt/kusanagi/nginx/conf.d/memo.example.com.conf
server {
    listen 80;
    server_name memo.example.com;
    root /var/www/html/memo;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9074;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}
kusanagi nginx --test
kusanagi nginx --reload

■ STEP 6:動作確認(DNS切り替え前)

curl -I http://VPSのIPアドレス -H "Host: memo.example.com"

以下が返ればOK:

Server: nginx
X-Powered-By: PHP/7.4.33

■ トラブルシューティング

エラー1:DIFF_DIRがない

mkdir -p /var/www/html/memo/diff
chmod 777 /var/www/html/memo/diff
chown httpd:www /var/www/html/memo/diff

エラー2:ログインできない(passwdディレクトリ不足)

mkdir -p /var/www/html/memo/passwd
chmod 777 /var/www/html/memo/passwd
chown httpd:www /var/www/html/memo/passwd

■ STEP 7:hostsファイルを元に戻す

VPSのIPアドレス memo.example.com  ← この行を削除

■ STEP 8:DNS切り替えとSSL設定

dig memo.example.com A +short
dnf install -y certbot python3-certbot-nginx
certbot --nginx -d memo.example.com

■ まとめ

作業内容
PHP7.4-FPMを追加インストール(8.3と共存)
WebサーバーNginx(Kusanagi)に統一
ファイル転送lftpでコアサーバーからミラーリング
ポートPHP 7.4-FPMは9074番を使用

一番のポイントはPHPのバージョンを切り替えるのではなく共存させること。
これによりKusanagiのWordPressには一切影響を与えずにHAIKを移転できました。

同じ構成でHAIKの移転を考えている方の参考になれば嬉しいです!

ブログ管理者などによく売れてる本です

コメント

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