インフラ・運用 2025.12.27

バックアップから復元したのにサイトが表示されない理由と対処法

約7分で読めます

バックアップを取ったのに復元後にサイトが動かない…そんなトラブルの原因と確実な復元手順を横浜のWeb制作会社が解説します。

こんなトラブルでお困りではありませんか?

「システムトラブルが発生したので、バックアップから復元したのにサイトが表示されない…」 「復元は成功したはずなのに、なぜかエラーが出る」 「バックアップを取っていたから安心だと思ったのに」

このような状況になると、一刻も早くサイトを復旧させたいのに、原因が分からず困ってしまいますよね。実は、バックアップからの復元がうまくいかないのには、いくつかの典型的な原因があります。

弊社でも過去20年間で、数多くのサイト復旧作業を手がけてきましたが、バックアップが取れていても復元で躓くケースは決して珍しくありません。今回は、そんなトラブルの原因と具体的な対処法について解説します。

バックアップ復元でよくある失敗パターン

1. データベース情報の不整合

最も多いのが、データベースの接続情報が古い環境のままになっているケースです。

あるクライアントでは、WordPressサイトのファイルは正常に復元できたものの、wp-config.phpのデータベース接続情報が古いサーバーの情報のままで、サイトが「データベース接続エラー」を表示し続けました。

対処法:設定ファイルの確認と更新

// wp-config.php(WordPress)の場合
define('DB_NAME', 'new_database_name');
define('DB_USER', 'new_username');
define('DB_PASSWORD', 'new_password');
define('DB_HOST', 'new_host');
// .env(Laravel)の場合
DB_CONNECTION=mysql
DB_HOST=new_host
DB_PORT=3306
DB_DATABASE=new_database_name
DB_USERNAME=new_username
DB_PASSWORD=new_password

2. ファイルパスの相違

サーバー環境が変わると、ファイルパスも変わることがあります。特にWordPressの場合、siteurlhomeの設定が古いままだと、CSS や JavaScript が読み込まれずにデザインが崩れます。

対処法:データベース内のURL更新

-- WordPressの場合
UPDATE wp_options SET option_value = 'https://new-domain.com' WHERE option_name = 'home';
UPDATE wp_options SET option_value = 'https://new-domain.com' WHERE option_name = 'siteurl';

3. PHPバージョンの違い

新しいサーバーのPHPバージョンが古いサイトと異なる場合、互換性の問題で動作しないことがあります。

実際に、PHP 7.4 で動作していたLaravelアプリケーションを PHP 8.1 の環境に復元した際、非推奨関数の使用でエラーが発生したケースもありました。

対処法:

  • サーバーのPHPバージョンを確認
  • 必要に応じてバージョンを調整
  • ログファイルでエラー内容を確認

確実な復元を行うための手順

ステップ1:復元前の環境確認

復元作業を始める前に、以下の項目を必ずチェックしましょう:

  • PHPのバージョン
  • データベースの種類とバージョン
  • 必要なPHP拡張機能
  • ディスク容量
  • ファイルの所有者・権限

ステップ2:段階的な復元

すべてを一度に復元するのではなく、段階的に進めることで問題の特定が容易になります:

  1. データベースの復元
  2. 設定ファイルの更新
  3. ファイル一式の復元
  4. 権限の設定
  5. 動作確認

ステップ3:ログファイルの確認

エラーが発生した場合は、必ずログファイルを確認しましょう:

# Apacheのエラーログ
tail -f /var/log/apache2/error.log

# PHPのエラーログ
tail -f /var/log/php/error.log

# Laravelの場合
tail -f storage/logs/laravel.log

よくある失敗とその回避方法

キャッシュファイルの問題

Laravelサイトの復元で見落としがちなのが、キャッシュファイルの削除です。古い環境のキャッシュが残っていると、正常に動作しません。

# Laravelの場合
php artisan cache:clear
php artisan config:clear
php artisan view:clear
php artisan route:clear

ファイル権限の設定ミス

Linuxサーバーでは、ファイルの権限設定が重要です。権限が適切でないと、ファイルの読み込みや書き込みができません。

# 一般的な権限設定
find /path/to/website -type f -exec chmod 644 {} \;
find /path/to/website -type d -exec chmod 755 {} \;

# 書き込み可能なディレクトリ(WordPressの場合)
chmod 755 wp-content/uploads/

復元成功後の確認ポイント

復元作業が完了したら、以下の項目を確認しましょう:

  • フロントページの表示:トップページが正常に表示される
  • 管理画面アクセス:ログインできる
  • データベース接続:データが正常に取得できる
  • 画像やCSS:デザインが正しく表示される
  • フォーム機能:お問い合わせフォームなどが動作する

予防策:より確実なバックアップ戦略

今回のようなトラブルを避けるためには、バックアップ戦略の見直しも重要です:

完全なバックアップの取得

  • ファイル一式だけでなく、データベースも必ず含める
  • 設定ファイルの内容を文書化しておく
  • 環境情報(PHPバージョンなど)も記録

定期的な復元テスト

バックアップを取るだけでなく、実際に復元できるかを定期的にテストすることで、いざという時の安心感が全く違います。

まとめ:確実な復旧のために

バックアップからの復元がうまくいかない原因の多くは、環境の違いや設定の不整合です。しかし、適切な手順で進めれば、確実にサイトを復旧させることができます。

今すぐできること:

  1. 現在のバックアップに設定ファイルが含まれているか確認
  2. データベース接続情報を最新の状態に更新
  3. エラーログの場所を確認しておく

もし復元作業でお困りの場合や、より安全なバックアップ体制を構築したい場合は、お気軽にご相談ください。弊社では20年以上の経験をもとに、迅速で確実な復旧作業をサポートいたします。

この記事をシェア