Oct 22, 2020

さくらインターネットへ引っ越し

 USのHostmonsterのレンタルサーバーを利用していたが、トラブルが発生。対処を依頼したが、改善が見られないため、さくらインターネットへ引っ越した。

トラブル

www.mylovewill.comの SSL証明書が、一日の内約12時間だけ "*.hostmonster"に切り替わり、ブラウザから接続できなくなった。残りの半日は接続できる。 ssh, sftp も証明書フィガーブリントが異なるというトラブル。証明書が半日だけ切り替わる原因は不明のまま。

対処依頼

online chat で、症状を説明、対策を依頼(すべて英語、5回以上、10回以下ぐらい)したが、2020年8月末から、10月初旬まで約二か月改善されなかった。

さくらインターネット

[さくらのレンタルサーバ スタンダード]を申し込む

カッコつけず専用ドメインを捨ててサブドメイン [yaruben.sakura.ne.jp] にした。

選定理由:必要容量が2GBで利用可能100GBと充分、安価 年間一括 5,238円 初期費用1,048円、サブドメインなのでさくらインターネットのSSL証明書が無料で使える。日本の有名業者で評判も平均よりずっと良い。

変更点と移行時の注意点

ドメイン名が変更(自作php等のコード変更が発生)

MySQLのデータ移行(一度に32MBずつしか移行できないので、MySQL-Adminで、テーブル単位でexportしてからimport、サーバ名、ユーザー名、パスワードが変更になりphpを修正)

テーブルフィールドのTypeが VARCHAR (VARCHAR(512)など) で 4バイトコードの絵文字を含む場合、EXPORT前に  CHARACTER SET と COLLATE を utf8  utf8_bin から utf8mb4 utf8mb4_bin に変更(SQL例 ALTER TABLE `game_user` CHANGE `gu_profile` `gu_profile` VARCHAR(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;)しておかないと、絵文字を正しくEXPORTできないから、IMPORTした後に困ることになる。ただし、フィールドのTypeが varbinaryの場合は、絵文字があっても問題はない。

メールフィルターか使えない(さくらインターネットでは、メールフィルターが使えないため、phpの新規開発が必要に)

OSの変更(Linux+bash to freeBSD+csh, プロンプトの色付けなど .login を修正)

crontabの制限(無制限から5つに制限、シェルスクリプト開発が必要)

php環境の変更(error_logが、WEBでは stdout=html に出る、CLI では、出ない)

php.ini に

log_errors = On

error_log = /home/yaruben/error_log

# Securing Session INI Settings https://www.php.net/manual/en/session.security.ini.php

session.use_strict_mode=On

session.cookie_httponly=On

session.cookie_secure=On

session.cookie_samesite="Strict"

session.sid_length="48"

session.sid_bits_per_character="6"

session.hash_function="sha512"


ただし、 session.cookie_samesite="Strict" を入れると、スマホアプリからのformデータPOSTで、別サイトからのPOST(クロスサイト)とされ、PHPセッションIDがその後の自己サイト内遷移時に別になるため、phpプログラムの先頭で ini_set()関数を呼び出しsession.cookie_samesite="Lax"を指定する必要がある。

構文チェックには、オプション"-c ."をつける (意味:カレントディレクトリのphp.iniを見てエラーを出す)

~/www % php -c . -l sample.php 

php の設定を確認する方法

 ~/www % php -i

移行工数

php修正に二週間程度かかる


IPv6

さくらインターネットでは、IPv4に加えてIPv6も使えるので有効にしてみた。https://www.ultratools.com/tools/dnsLookupResult などで調べると、 yaruben.sakura.ne.jp には、Aレコード(IPv4アドレス指定)とAAAAレコード(IPv6アドレス指定)が割り当てられている。自宅のソフトバンク光+WiFiと自分のソフトバンク携帯電話4Gからアクセスすると、それらにもIPv6アドレスが割り当てられていた。20年前IPv6のルーター開発をしていたのが懐かしく思い出される。