CodeIgniterをレンタルサーバーへデプロイする方法:初心者向け完全ガイド
生徒
「作ったCodeIgniterのプログラムを、自分のパソコンの中だけじゃなくて、インターネット上でみんなに見てもらえるようにしたいんです!」
先生
「素晴らしいですね。自分の作ったWebサイトやアプリケーションを、インターネット上の公開場所であるレンタルサーバーにアップロードすることを、エンジニアの世界ではデプロイと呼びます。」
生徒
「デプロイ……初めて聞く言葉ですが、どうやってやるんですか?」
先生
「まずは基本の流れから、一緒に準備していきましょう。」
1. デプロイとは何か?初心者のためのWeb公開入門
デプロイとは、開発したWebプログラムを本番環境(レンタルサーバー)へ配置し、インターネットを通じて世界中のユーザーが閲覧・利用できる状態にすることです。例えるなら、自分の部屋(パソコン)で一生懸命書いた手紙を、郵便局(レンタルサーバー)を通して相手に届けるイメージです。
CodeIgniter(コードイグナイター)は、PHPというプログラミング言語を使って効率よくWebサイトを作るためのフレームワークです。フレームワークとは、家を建てるときに最初から全部作るのではなく、骨組み(枠組み)が用意されている道具箱のようなものです。レンタルサーバーにデプロイするためには、この道具箱をそのままサーバーに送る必要があります。
2. 必要な準備:レンタルサーバーとFTPソフト
デプロイを始める前に、必要な道具を揃えましょう。まず、インターネット上に自分の土地となるレンタルサーバーを契約します。次に、自分のパソコンの中にあるファイルを、インターネット上のサーバーへ運ぶための「FTPソフト」が必要です。FTPとは、ファイルを転送するための通信ルールのことです。
代表的なFTPソフトには「FileZilla(ファイルジラ)」などがあります。これを使うと、まるでパソコンのフォルダを移動させるような感覚で、サーバーへプログラムをアップロードできます。
3. CodeIgniterの公開用設定とフォルダ構造
CodeIgniterはセキュリティを守るため、公開用のファイルだけをWebサイトの表側(公開フォルダ)に置き、残りの重要なプログラム本体は裏側に隠すのが一般的です。レンタルサーバーでは、通常「public_html」というフォルダがWebサイトの表側として公開されています。
まずは、CodeIgniterのpublicフォルダの中身を、サーバーのpublic_htmlへ移動させましょう。これに伴い、設定ファイル(index.php)にあるパス(場所を示す情報)を修正する必要があります。
$pathsPath = realpath(FCPATH . '../app/Config/Paths.php');
require_once $pathsPath;
この設定は、プログラムがどこにあるかをサーバーに正しく伝えるための大切な案内板の役割をしています。
4. データベースの接続設定を本番環境に変える
Webサイトには、ログイン情報や商品情報などのデータを保存する「データベース」が必要です。パソコンで作っていたときのデータベースの設定を、レンタルサーバーで提供されているデータベース情報に書き換える必要があります。
通常、アプリ内の.envファイルやConfig/Database.phpファイルを編集します。
public array $default = [
'DSN' => '',
'hostname' => 'localhost',
'username' => 'あなたのデータベースユーザー名',
'password' => 'あなたのパスワード',
'database' => 'あなたのデータベース名',
'DBDriver' => 'MySQLi',
];
ここを間違えると、サイトが表示されずエラーになってしまうため、サーバー会社から送られてきた情報を正確に入力しましょう。
5. パーミッションの設定と環境変数の変更
Linuxなどのサーバー環境では、「パーミッション(書き込み権限)」の設定が重要です。特に、CodeIgniterがログを書き込んだり、キャッシュを保存したりする「writable」というフォルダには、サーバーが書き込める権限(777など)を与える必要があります。これを忘れると、ページが表示できずにエラーになることがよくあります。
また、.envファイルにある環境設定も忘れず変更してください。
CI_ENVIRONMENT = production
app.baseURL = 'https://あなたのドメイン名/'
この設定は「今は開発中ではなく、本番として動かしますよ」という合図です。
6. デプロイ後のテストと動作確認
ファイルすべてをアップロードし、設定が完了したら、ブラウザを開いて自分のドメインにアクセスしてみましょう。サイトが無事に表示されたら成功です!もしエラーが出た場合は、まずログファイルを確認します。
以下のコードは、データベースへの接続が成功しているかを確認するためのテストコードの例です。まずは簡易的なページで疎通確認をしてみましょう。
public function test_db() {
$db = \Config\Database::connect();
if ($db->connID) {
echo 'データベース接続成功!';
} else {
echo '接続失敗…';
}
}
このように少しずつ確認を重ねることで、Webサイト運営が安定していきます。デプロイは一度成功すれば、次はもっと早くできるようになりますよ。