ConoHaのVPSでKUSANAGI8からKUSANAGI9へ乗り換え

長らくお世話になってきたKUSANAGI8ですが、OSはとっくの昔にEOLを迎え、つい最近話題になったPHPの脆弱性についてもパッチが出ないので、流石に潮時かということでKUSANAGI9に乗り換えることに。

これまでConoHa VPSでKUSANAGI8を使ってきた流れでKUSANAGI9もConoHaで行こうと思ったのですが、まず最初に躓いたのがサービス選択画面で、最初「KUSANAGI」を選んだら月額4,510円とか出てきてファッ???ってなったのですが、サービスは「VPS」でイメージタイプをアプリケーションにして「KUSANAGI」を選んだら常識的な値段になって一安心です。

あとは地道にデータを引っ越していくだけなんですが、他にも詰まった箇所が幾つかあったので、いつかまた新サーバへ移行しないといけないだろう未来の自分に向けてメモ。

英語キーボードでVPSのコンソールを使う方法

/etc/vconsole.conf で KEYMAP=”us” にする

https証明書の引っ越し

  1. 旧サーバでバックアップした /etc/letsencrypt/ ディレクトリを、新サーバの同じパス(/etc/letsencrypt/)にそのまま配置
  2. 新サーバのKUSANAGI環境で以下のコマンドを実行。既存の証明書をベースに設定を紐付け
    kusanagi ssl –email hogehoge@example.com kusanagi_html
  3. 更新スクリプトが生きているか確認
    systemctl status certbot-renew.timer

root宛のメールを個人メアドへ転送

  1. postfix起動
    systemctl enable –now postfix
  2. /etc/alias に転送先のメールアドレスを記載
    root: hogehoge@example.com
  3. エイリアス更新
    newaliases
  4. /etc/postfix/genericでFromを書き換え
    root@vm-xxxxxxx.novalocal root@example.com
  5. 設定を反映
    postmap /etc/postfix/generic
    systemctl restart postfix

あとSPFレコードも設定しておかないとスパムメール扱いされるので注意。

nginxの設定を移植

既存のwordpressのインストール先が特殊らしく、

/etc/opt/kusanagi/nginx/conf.d/kusanagi_html.wp.inc

のlocation設定を変更する必要あり。

# 【修正前】
location / {
    try_files $uri $uri/ /index.php?$args;
}

# 【修正後】
location / {
    try_files $uri $uri/ /wordpress/index.php?$args;
}

ついでに個別設定をincludeファイルに切り出しておく

server {
    ...
    root /home/kusanagi/kusanagi_html/DocumentRoot;

    # 独自に作成したカスタムrewrite設定を読み込む
    include conf.d/www2_custom.inc;

    include conf.d/kusanagi_html.wp.inc;
    ...
}

MySQLチューニング

デフォルト設定がメモリが潤沢なサーバ前提になっているので、/etc/my.cnf.d/server.cnf を貧乏人向けにカスタマイズ。

[mysqld]
# デフォルトの900だとSwap使いまくりなので削減
max_connections = 100
thread_cache_size = 16

# innodb_buffer_pool_size は現状の 128M のままでメモリ全体のバランスを維持
innodb_buffer_pool_size = 128M

書き換えたら再起動
systemctl restart mariadb


という訳でWordPressの移行はどうにか目途が立ちました(というかこのページが見えている人は移行後のサーバが閲覧できている証です)が、PukiWikiと自作CGIの移設がまだ残っているので、もうひと踏ん張りせねば・・・。

コメント

タイトルとURLをコピーしました