PHP/MySQL製の業務システムをレンタルサーバーへ設置する場合、HTMLサイトと同じようにファイルを置くだけでは動作しません。公開場所、PHPのバージョン、データベース接続情報、書き込み権限を合わせる必要があります。

1. 公開ディレクトリを確認する

CoreServerではドメインごとに公開先が設定されます。コントロールパネルのサイト設定で、対象ドメインとドキュメントルートを確認してからアップロードします。別ドメインのディレクトリや、配布ZIPの外側のフォルダをそのまま公開しないようにします。

2. PHPの動作条件を確認する

  • 配布元が指定するPHPバージョン
  • PDO MySQL、mbstring、JSONなど必要な拡張
  • index.phpを優先するDirectoryIndex
  • アップロード上限と実行時間

HTTP 500が出た場合は、PHP構文だけでなく、利用できない関数、拡張不足、古い.htaccessも確認します。

3. MySQLデータベースを用意する

  1. コントロールパネルでデータベースと専用ユーザーを作成します。
  2. ホスト名、データベース名、ユーザー名、パスワードを控えます。
  3. 付属のSQLをphpMyAdminなどから読み込みます。
  4. アプリの設定ファイルへ接続情報を入力します。

Access deniedは、パスワードだけでなく、DB名・ユーザー名の接頭辞や権限の不一致でも発生します。

4. 設定ファイルを公開から守る

データベースや決済APIの秘密情報をGitHubへ登録したり、ブラウザから直接読める状態にしたりしてはいけません。可能なら公開ディレクトリ外へ置き、難しい場合はサーバー設定で直接アクセスを拒否します。サンプル設定には実際の秘密情報を残しません。

5. 書き込み権限を必要最小限にする

アップロード、ログ、JSON保存など、アプリが書き込むディレクトリだけに必要な権限を付けます。一般的にはファイル644、ディレクトリ755を基準にし、動かないからといって全体を777にしないでください。

6. 公開後の確認

  • 初期パスワードを変更したか
  • 管理画面が検索対象になっていないか
  • テストデータや設定確認ページを削除したか
  • HTTPSでフォームとログインが動くか
  • バックアップから復元できるか

まとめ

レンタルサーバーへの設置では、公開先・PHP・DB・権限・秘密情報の5点を分けて確認すると原因を切り分けやすくなります。エラー画面を公開したままにせず、サーバーログと設定値を照合して進めます。