CodeIgniterのデプロイ全体像!本番公開までの流れを初心者向けに解説
生徒
「CodeIgniterでWebサイトを作ったのですが、自分のパソコンの中だけで動いています。どうやってインターネット上に公開するのですか?」
先生
「パソコンの中にあるプログラムを、世界中の人が見られるサーバーという場所に移動させる作業をデプロイと呼びます。」
生徒
「デプロイですか?なんだか難しそうですが、初心者でもできますか?」
先生
「手順をひとつずつ確認すれば大丈夫です。まずは全体の流れから見ていきましょう。」
1. デプロイとは何か?Webサイト公開の仕組み
プログラミングの世界で「デプロイ(Deploy)」とは、開発したプログラムをサーバーに配置して、誰でも利用できる状態にすることを指します。例えるなら、自分の机の上で書いていた手紙を、ポストに入れて相手の家に届けるような作業です。
PHPフレームワークであるCodeIgniterを使った開発では、ソースコード、画像ファイル、そしてデータベースの情報をサーバーへ安全に移動させる必要があります。公開するためには、インターネット上に繋がっている「レンタルサーバー」や「クラウドサーバー」を準備することが最初のステップです。
2. 公開前に準備すべき本番環境の設定
パソコン内(ローカル環境)での設定と、本番用のサーバーでは環境が異なります。最も重要なのは、環境変数の切り替えです。CodeIgniterでは、.envファイルを適切に設定することが求められます。
例えば、データベースの接続先情報を本番環境のものに書き換えます。これを忘れると、公開したサイトがうまく動きません。以下のコード例のように、環境設定をしっかりと分けて管理しましょう。
// .envファイルの例
CI_ENVIRONMENT = production
database.default.hostname = localhost
database.default.database = my_production_db
database.default.username = prod_user
database.default.password = secret_pass
「本番環境(production)」に切り替えることで、エラーの詳細な内容が表示されなくなり、セキュリティが向上します。初心者がやりがちなミスとして、開発中のエラー表示をそのままにしてしまうことがありますが、これは個人情報漏洩のリスクがあるため厳禁です。
3. ファイルのアップロードとサーバーへの配置
プログラムファイルをサーバーに送るには、FTPソフトを使用するのが一般的です。FTPソフトとは、自分のパソコンとインターネット上のサーバーの間でファイルをやり取りするための専用ツールです。
CodeIgniterをアップロードする際、publicフォルダの中身をWebの公開ルート(一般的にpublic_htmlなど)に配置する必要があります。以下は、設定ファイルでベースURLを正しく指定するコードのサンプルです。
// app/Config/App.php の設定
public string $baseURL = 'https://example.com/';
このURLが間違っていると、CSSや画像が正しく表示されません。一つひとつの設定がサイトの見た目に直結するため、慎重に行いましょう。
4. データベースの移行とインポート手順
プログラムだけでなく、サイトで使うデータも移動させる必要があります。これをデータベースのインポートと呼びます。MySQLやPostgreSQLといったデータベースの情報を、「SQLファイル」という形式で書き出し、本番サーバーのデータベースへ流し込みます。
初心者のうちは、phpMyAdminのような画面で操作できるツールを使うと安心です。インポートが完了したら、プログラムから正しくデータベースにアクセスできているか確認するスクリプトを書いてみましょう。
// データベース接続確認のサンプルコード
$db = \Config\Database::connect();
if ($db->connID) {
echo 'データベースに接続成功しました!';
} else {
echo '接続失敗です。設定を確認してください。';
}
5. CI/CDの考え方を取り入れた効率的な更新
デプロイの作業に慣れてきたら「CI/CD」という言葉を耳にするかもしれません。CIは継続的インテグレーション、CDは継続的デリバリーを意味します。難しく聞こえますが、要は「手作業でファイルをアップロードするのではなく、自動的に更新する仕組み」のことです。
GitHubなどのツールと連携して、プログラムを修正して送信した瞬間に、サーバーも自動で最新の状態になるよう設定できます。これにより、公開時の人為的なミスを大幅に減らすことができます。以下は、サーバー側の自動更新を想定した簡単なシェルスクリプトのイメージです。
// 自動更新処理の簡略イメージ
echo '最新のプログラムを取得しています...';
exec('git pull origin main');
echo '更新完了!サイトが最新になりました。';
6. 公開後の動作確認とセキュリティ対策
デプロイが完了した後は、必ず自分でサイトを開いて動作を確認しましょう。特に、ログイン画面や問い合わせフォームなど、ユーザーが入力する場所は重点的にチェックが必要です。
また、公開した直後はセキュリティ対策も忘れてはいけません。writableフォルダの権限が適切か、不要なファイルが含まれていないかを再度確認してください。Webサーバーの設定で、重要なディレクトリに直接アクセスできないように制限をかけることも大切です。
初心者にとって、最初はすべてが難しく感じるかもしれませんが、一度経験してしまえば、デプロイはWeb開発者にとっての「日常の仕事」になります。自分の作ったものがインターネット上で多くの人に見てもらえることは、非常に素晴らしい体験です。まずは落ち着いて、一歩ずつ進めていきましょう。