PHP/MySQL製の業務システムをレンタルサーバーへ設置する場合、HTMLサイトと同じようにファイルを置くだけでは動作しません。公開場所、PHPのバージョン、データベース接続情報、書き込み権限を合わせる必要があります。
1. 公開ディレクトリを確認する
CoreServerではドメインごとに公開先が設定されます。コントロールパネルのサイト設定で、対象ドメインとドキュメントルートを確認してからアップロードします。別ドメインのディレクトリや、配布ZIPの外側のフォルダをそのまま公開しないようにします。
2. PHPの動作条件を確認する
- 配布元が指定するPHPバージョン
- PDO MySQL、mbstring、JSONなど必要な拡張
index.phpを優先するDirectoryIndex- アップロード上限と実行時間
HTTP 500が出た場合は、PHP構文だけでなく、利用できない関数、拡張不足、古い.htaccessも確認します。
3. MySQLデータベースを用意する
- コントロールパネルでデータベースと専用ユーザーを作成します。
- ホスト名、データベース名、ユーザー名、パスワードを控えます。
- 付属のSQLをphpMyAdminなどから読み込みます。
- アプリの設定ファイルへ接続情報を入力します。
Access deniedは、パスワードだけでなく、DB名・ユーザー名の接頭辞や権限の不一致でも発生します。
4. 設定ファイルを公開から守る
データベースや決済APIの秘密情報をGitHubへ登録したり、ブラウザから直接読める状態にしたりしてはいけません。可能なら公開ディレクトリ外へ置き、難しい場合はサーバー設定で直接アクセスを拒否します。サンプル設定には実際の秘密情報を残しません。
5. 書き込み権限を必要最小限にする
アップロード、ログ、JSON保存など、アプリが書き込むディレクトリだけに必要な権限を付けます。一般的にはファイル644、ディレクトリ755を基準にし、動かないからといって全体を777にしないでください。
6. 公開後の確認
- 初期パスワードを変更したか
- 管理画面が検索対象になっていないか
- テストデータや設定確認ページを削除したか
- HTTPSでフォームとログインが動くか
- バックアップから復元できるか
まとめ
レンタルサーバーへの設置では、公開先・PHP・DB・権限・秘密情報の5点を分けて確認すると原因を切り分けやすくなります。エラー画面を公開したままにせず、サーバーログと設定値を照合して進めます。