CodeIgniterデプロイ完全ガイド!初心者向けチェックリストと本番公開の準備
生徒
「CodeIgniterで作ったWebアプリケーションが完成したんですが、どうやってインターネット上に公開すればいいんですか?」
先生
「素晴らしいですね!作成したプログラムをインターネット上のサーバーへ移して、誰でも見られるようにすることをデプロイと呼びます。ただ、何も準備せずに移すと動かないことも多いんです。」
生徒
「そうなんですね。公開する前に必ず確認しておくべきことってありますか?」
先生
「もちろんです。初心者の方が安心してデプロイできるように、必須のチェックリストを解説しましょう。」
1. デプロイの基礎知識と全体像を把握しよう
まず、デプロイという言葉について説明します。これは作ったウェブサイトやシステムを、自分のパソコン(開発環境)から、インターネット上にある公開用のコンピュータ(本番環境のサーバー)へアップロードして、動かせる状態にすることを指します。例えるなら、自分の机の上で一生懸命書いた手紙を、ポストに入れて相手に届ける準備をするようなものです。
CodeIgniterはPHPというプログラム言語で作られたフレームワークですが、初心者がいきなりデプロイしようとすると、セキュリティの設定やデータベースの接続情報の書き換えを忘れてエラーになることがよくあります。そのため、公開前のチェックリストは非常に重要です。
2. 本番環境のための環境設定ファイルを確認
CodeIgniterでは、開発中と本番公開時で設定を切り替える必要があります。最も重要なのが環境設定です。これを設定しないと、エラー内容が画面に表示されてしまい、悪意のある人にプログラムの構造を見破られてしまうリスクがあります。
設定ファイルである .env ファイルの環境設定を production(本番モード)に変更しましょう。これにより、セキュリティが強化されます。
# 本番環境ではdevelopmentではなくproductionを設定する
CI_ENVIRONMENT = production
このように設定することで、エラーが発生した際に詳細なプログラムの中身が表示されず、安全な画面を表示してくれるようになります。
3. データベース接続情報を本番用に書き換える
次に、データベースの接続情報です。開発中は自分のパソコンのデータベースを見に行っていますが、本番サーバーではサーバー内にあるデータベースを見に行くように変更しなければなりません。これを忘れると、データベースとつながらず真っ白な画面になってしまいます。
データベースの設定は、設定ファイル内のデータベース用項目を編集します。
// 本番用のデータベース設定に書き換える
public $default = [
'hostname' => 'localhost', // 通常はlocalhostでOK
'username' => 'db_user_name',
'password' => 'db_password',
'database' => 'production_database_name',
'DBDriver' => 'MySQLi',
];
データベースとは、会員情報や記事のデータなど、たくさんの情報を整理整頓して保存しておく場所のことです。この接続情報が間違っていると、ウェブサイトは情報を読み取ることができず、何も表示できなくなってしまいます。
4. ベースURLの設定を正しく行う
CodeIgniterでは、Webサイトの基準となるアドレスをベースURLとして設定します。これが開発時のローカル環境のアドレスのままだと、画像が表示されなかったり、CSSというデザインを指定するファイルが読み込めなかったりします。
本番のドメイン名(URL)を正確に指定しましょう。
// 公開するURLに合わせて変更する
public $baseURL = 'https://example.com/';
ドメインとは、インターネット上の住所のようなものです。この設定を間違うと、ウェブサイトの中にあるボタンを押したときに、開発中の自分のパソコンへ戻ろうとしてしまい、エラーになってしまいます。
5. デバッグモードとエラーログの無効化
開発中は、エラーが起きた場所がどこか分かるように詳細な情報を表示させますが、公開後はこれを無効にするのが基本です。誰でもエラーを見られる状態は危険だからです。
また、不要なデバッグ用のコードやコメントアウトを削除することも忘れないようにしましょう。初心者のうちは、テストコードをそのまま放置してしまうことがありますが、セキュリティの穴になることがあるため、注意が必要です。
// 不要な出力やデバッグ用コードはコメントアウトや削除を行う
// echo $variable; // これを表示していると本番で公開されてしまう
プログラムの中身を見られないようにするのは、空き巣が入らないように家の鍵をしっかりかけるのと同じくらい大切なことです。
6. ファイル権限と公開ディレクトリの確認
最後は、サーバー上のファイルの権利に関する設定です。Linuxサーバーなどでは、ファイルに対して読み込みや書き込みの許可を設定する必要があります。CodeIgniterの書き込み用ディレクトリ(ログやキャッシュなど)は、サーバーが書き込みできるように権限を正しく設定しなければなりません。
また、CodeIgniterの公開ディレクトリである public フォルダをサーバーのドキュメントルート(一番外側の公開場所)に向ける必要があります。これ以外のフォルダが外から直接アクセスできないように配置することで、プログラムのファイルを外部から読み取られるのを防ぎます。
これらを確認して初めて、自信を持ってインターネット上に公開することができるようになります。一つずつ丁寧に確認作業を進めていきましょう。