メインコンテンツへスキップ
見出し画像

サーバー移行とPHPの強制アップで、サイトが止まる前に──旧PHPの提供終了で起きる事故の型と防ぎ方、移行チェックリスト

    この記事は、サーバー移行や、レンタルサーバーでの古いPHPの提供終了で起きる事故と、その防ぎ方を扱います。

    朝、顧客から「サイトが真っ白です」と電話が来る

    「昨日まで普通に見られたサイトが、今朝から真っ白なんです。何もしていないのに」


    調べると、サーバーの事業者が、古いPHPの提供を終え、新しいバージョンへ切り替えていました。
    告知のメールは、何か月も前に、顧客の担当者の受信箱に届いていたのです。


    サーバー移行でも、同じことが起きます。
    ファイルとデータベースは移したのに、PHPのバージョンや設定が変わって、フォームが動かない。移行の作業そのものより、こうした「移した後の違い」で事故が起きます。

    サーバー移行の事故とは、「中身」ではなく「動かす土台」の違いで起きる停止である

    黒字化の外科医です。サーバー移行と、PHPの強制的な切り替えで起きる事故を解剖します。


    土台の違いに目を向けるべき理由は、三つあります。


    第一に、PHPの扱いは、事業者ごとに違うから。
    古いPHPを互換性のために残す事業者もあれば、提供を終える日を告知し、新しいバージョンへ切り替える事業者もあります。終了したPHPに有償の延長サポートを用意する事業者もあります。具体的な扱いと日付は、事業者ごとの公式の告知で確かめるしかありません。


    第二に、告知が、制作会社に届かないことが多いから。
    サーバーの契約者が顧客なら、告知のメールは顧客に届きます。顧客はその意味が分からず、読み流してしまいます。


    第三に、切り替えた後に、元に戻せない場合があるから。
    事業者によっては、PHPのバージョンを上げた後に、元のバージョンへ戻せないと案内しているところがあります。戻せない前提で準備する必要があります。

    サーバー移行とPHPの切り替えで起きる事故の型

    ① 画面が真っ白になる、エラーが表示される
      → 新しいPHPで使えなくなった機能が、テーマやプラグインに残っていた
    ② 問い合わせフォームのメールが届かない
      → メールの送り方や、送信元の設定が新しいサーバーで変わった
    ③ 管理画面に入れない
      → プラグインの不具合、URLやパスの設定の違い
    ④ 移行の間に入った問い合わせや注文が消える
      → DNSを切り替える間に、古いサーバーに入ったデータを移していない
    ⑤ 「保護されていない通信」と表示される
      → 新しいサーバーで、SSL証明書の設定が済んでいない
    ⑥ 定期の処理やバックアップが止まる
      → cron の設定や、バックアップの設定を移していない


    ①と③は、PHPのバージョンの違いが原因になることが多い事故です。検証環境で新しいPHPを先に試しておけば、多くは前もって見つけられます。

    今すぐ試せる:移行前の調査メモを作るプロンプト

    私はWeb制作会社の担当者です。サーバー移行の前に、移行元と移行先の違いを洗い出すメモを作ってください。
    
    【前提】
    ・移行元のサーバーの情報(PHPのバージョン、拡張モジュール、php.iniの独自設定、cron、メール送信の方法):〔記載〕
    ・移行先のサーバーで選べるPHPのバージョンと、主な仕様:〔事業者の公式ページで確認した内容を記載〕
    ・サイトのCMS、プラグイン、独自のプログラム:〔記載〕
    ・フォーム、会員、決済、予約などの機能:〔記載〕
    
    1. 移行元と移行先で、違う点を一覧にする。
    2. 違う点ごとに、起きうる不具合を示す。
    3. 移行の前に検証環境で確かめる項目を並べる。
    4. DNSの切り替えの前後でやることを、時系列で示す。
    
    事業者の仕様は推測せず、私が記載した内容だけを使うこと。

    移行工場:事故を防ぐチェックリスト

    サーバー事業者の告知を、制作会社が受け取る仕組み

    □ 保守先ごとに、サーバーの契約者と、告知が届くメールアドレスを台帳に書いた
    □ 顧客に、事業者からの告知を転送してもらう約束をした
    □ 主な事業者の「お知らせ」ページを、月に1回確かめる担当を決めた
    □ PHPの提供終了の告知を見つけたら、該当する保守先を台帳から抜き出す


    台帳の作り方は、別の記事で扱っています。

    ▶ ドメイン・サーバーの管理台帳テンプレート、制作会社のアカウント管理キット──台帳の32項目、名義と権限の整理表、更新日のアラート設計、引き渡しチェックリスト、お客様への説明文、AIの点検プロンプト

    サーバー移行チェックリスト

    【移行の前】
    □ 移行元のPHPのバージョン、拡張モジュール、独自の設定を控えた
    □ 移行先で、同じか、より新しいPHPのバージョンを選べるか確かめた
    □ 検証環境(または移行先の仮のURL)で、新しいPHPで動作を確かめた
    □ フォームのメールの送り方と、送信元の設定を確かめた
    □ cron とバックアップの設定を控えた
    □ DNSの情報(TTLなど)を確かめ、切り替えの日時を顧客と決めた
    □ 移行の間、更新や注文を止めるかどうかを顧客と決めた
    
    【切り替えの当日】
    □ 移行元の最新のファイルとデータベースを、もう一度移した
    □ 移行先でSSL証明書を設定し、https で表示されることを確かめた
    □ DNSを切り替えた
    
    【切り替えの後】
    □ 主要なページ、管理画面、フォーム、会員・決済の機能を確かめた
    □ フォームから送ったメールが、顧客に届くことを確かめた
    □ cron とバックアップが動いていることを確かめた
    □ 移行元のサーバーは、すぐに解約せず、一定期間残した


    移行元のサーバーをすぐに解約しないことが、最後の保険です。問題が起きたとき、元の状態を確かめられます。


    移行の費用の出し方は、別の記事で扱っています。

    ▶ サーバー移行の費用と見積もり、「データを移すだけ」で受けると赤字になる──調査・移行・切り替え・確認の4工程、止まるリスク、料金の計算例

    構造的なリスク

    逆説を指摘しておきます。


    サーバーの告知を制作会社が見張るほど、「告知を見落としたのは制作会社の責任」と見られやすくなります。
    善意で始めた見張りが、いつの間にか、約束していない責任になるのです。


    だから、告知の確認を保守の範囲に入れるなら、契約に書きます。入れないなら、「サーバーの契約と告知の確認は、契約者である御社の役割です」と明記します。なお私は弁護士ではありません。実務の指針として読み、個別の判断は専門家や公的な窓口に確認してください。

    よくあるQ&A

    Q. 事業者がPHPを自動で切り替える前に、こちらで上げておくべきか?


    はい。自動の切り替えを待つと、日時を選べません。検証環境で確かめてから、自分たちの決めた日時に上げるほうが安全です。


    Q. 移行と同時に、PHPのバージョンも上げていいか?


    可能ですが、不具合の原因が移行か、PHPかを切り分けにくくなります。できれば、移行元で先にPHPを上げてから移すか、移した後に上げてください。


    Q. 移行元のサーバーは、どのくらい残せばいいか?


    決まった期間はありません。DNSの切り替えが行き渡り、フォームと注文が新しいサーバーに届いていることを確かめるまでは、残しておきます。

    最後に

    サーバー移行と、PHPの強制的な切り替えの事故は、中身ではなく、動かす土台の違いで起きます。


    告知を受け取る仕組みを作り、新しいPHPを先に試し、元に戻す手段を残した会社だけが、顧客の朝の電話を防げるのです。


    PHPの更新を、保守の売上に変える考え方は、こちらにまとめました。

    ▶ PHPバージョンアップを「無償の後始末」で終わらせない──保守の売上に変える考え方と、顧客への切り出し方の文例

    これまでの記事は、メンバーシップ「黒字化オペ室」でまとめて読めます。月額1,980円、記事2本分の金額です。詳しくはプロフィールから。


    #Web制作会社 #サーバー移行 #PHP #レンタルサーバー #サイト保守 #セキュリティ #制作会社経営 #中小企業 #チェックリスト #トラブル防止

     
     
    Web制作・開発会社の「労働集約という病」をAIで冷徹に切除し、利益率を極限化する組織ハッキング術を公開。 人間の感情と作業を排除し、社長一人で莫大な富を搾取する「完全無人ファクトリー」を構築する覚悟を持つ経営者のみ、有料記事で圧倒的な暴利と勝利を手に入れてください。

    あなたへのおすすめ