Ubuntu12.04クラウドサーバーにCodeIgniterをインストールする方法
ステータス:非推奨
この記事では、サポートされなくなったバージョンのUbuntuについて説明します。 現在Ubuntu12.04を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。
理由: Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達し、セキュリティパッチまたはアップデートを受信しなくなりました。 このガイドはもう維持されていません。
代わりに参照してください:
このガイドは参考として役立つかもしれませんが、他のUbuntuリリースでは機能しない可能性があります。 可能な場合は、使用しているUbuntuのバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。
CodeIgniterについて
CodeIgniter は、PHP用のオープンソースのWebアプリケーションフレームワークであり、サイズは小さいですが、ユーティリティが非常に強力です。 その目標は、最も一般的なタスク用のライブラリとヘルパーのセットを提供することにより、人々が通常よりもはるかに速くアプリケーションを作成できるようにすることです。 これは、 Model-View-Controller アプローチに基づいており、ロジックをプレゼンテーションから大幅に分離します。
このチュートリアルでは、コマンドラインを使用してクラウドサーバーでCodeIgniterをセットアップする方法を説明します。 また、作成する可能性のある初期構成の一部についても説明します。
このチュートリアルでは、ルートアクセスを使用して独自のVPSを既に実行しており、LAMP(Linux、Apache、MySQL、およびPHP)がインストールされていることを前提としています。 このチュートリアルを参照すると、まだ行っていない場合は後者を使用できます。
CodeIgniter(CI)のインストール
まず、クラウドサーバーのディレクトリルートフォルダに移動する必要があります。次に例を示します。
cd /var/www
CIの最新の安定したリリースをダウンロードします。 CI Webサイトのダウンロードページにアクセスして、最新リリースを確認してください。 次に、次のコマンドを実行してダウンロードします。
wget http://ellislab.com/asset/ci_download_files/reactor/CodeIgniter_2.1.2.zip
URLの最後にあるzipファイルの名前を、そこにある最新の安定版リリース(現在のバージョン)に置き換えてください。
ls コマンドを実行すると、フォルダーにzipファイルが表示されます。 次のコマンドで解凍します。
unzip CodeIgniter_2.1.2.zip
「unzip:コマンドが見つかりません」エラーが発生した場合は、Unzipがインストールされていないことを意味します。 次のコマンドを実行してインストールします。
sudo apt-get install unzip
もう一度やり直してください。
ls コマンドを実行すると、そこに新しいCodeIgniterフォルダーが抽出されていることがわかります。 次のコマンドを使用して、そのフォルダーの名前を codeigniter (または任意の名前)に変更できます。
mv /var/www/CodeIgniter_2.1.2 /var/www/codeigniter
これで、ブラウザでそのフォルダを指定できます。
<your_domain>/codeigniter
そこで、CodeIgniterのウェルカムメッセージが表示されます。
このメッセージは、[X170X] application /controllersフォルダーにあるwelcome.phpというコントローラーの例によって生成されます。 このコントローラーは、 application / viewsフォルダーにある単純なHTMLメッセージを含むビューをロードするだけです。
構成
CodeIgniterがセットアップされたので、アプリケーションの初期構成を行う必要があります。 データベースを使用する場合は、データベースをセットアップし、CodeIgniterがデータベースと通信できるようにするための情報を提供する必要があります。 MySQLデータベースの作成方法に慣れていない場合は、このチュートリアルを参照してください。 それができたら、次のファイルを編集します( “ codeigniter “フォルダー名をインストールしたものに置き換えてください)。
nano /var/www/codeigniter/application/config/database.php
次に、次のブロックを見つけて編集し、データベース情報を含めます。
$db['default']['hostname'] = 'localhost'; $db['default']['username'] = 'your_username'; $db['default']['password'] = 'your_password'; $db['default']['database'] = 'your_database'; $db['default']['dbdriver'] = 'mysql'; $db['default']['dbprefix'] = ''; $db['default']['pconnect'] = TRUE; $db['default']['db_debug'] = TRUE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ''; $db['default']['char_set'] = 'utf8'; $db['default']['dbcollat'] = 'utf8_general_ci'; $db['default']['swap_pre'] = ''; $db['default']['autoinit'] = TRUE; $db['default']['stricton'] = FALSE;
ファイルを保存して終了すると、データベースの構成が完了します。 次に、 config.php ファイルを開き、そこでいくつかの変更を加えます。
nano /var/www/codeigniter/application/config/config.php
次に、ベースURLを設定します。 このブロックを見つけて、状況に応じて編集します。
$config['base_url'] = 'http://www.example.com';
これは、CodeIgniterをインストールしたフォルダーを指すexample.comドメイン名がある場合に設定するものです。 つまり、 example.com ドメイン名の仮想ホストを作成した場合、そのドキュメントルートは次のようになります。 /var/www/codeigniter
. Apacheで仮想ホストを作成する方法については、このチュートリアルを参照してください。
ファイルを保存して終了します。
補足:仮想ホスト
以下にリストされているURLで、コードイグナイターのドキュメントルートが指している /var/www/codeigniter
. これは、仮想ホストファイルのドキュメントルートを変更することで実行できます。
sudo nano /etc/apache2/sites-enabled/000-default
<VirtualHost *:80> DocumentRoot /var/www/codeigniter [.......] <VirtualHost *:80>
次に変更したいのは、コントローラー名の直前のURLに入力する必要のあるindex.phpセグメントを削除することです。 ご覧のとおり、CodeIgniterURLの構造は次のとおりです。
base url / index.php / controller name / controller function / controller parameter 1 / controller parameter 2 / controller parameter etc
これをテストするには、welcome.phpコントローラーファイルを開くことができます。
nano /var/www/codeigniter/application/controllers/welcome.php
そして、インデックス関数の下に、次のような別の関数を追加します。
public function test($param) { echo $param; }
ブラウザでhttp://www.example.com/index.php/welcome/test/3を指定すると、ページに番号3が表示されます。 最後のセグメントを置き換えると、代わりにそれが表示されます。 そして、それはかなりクールです。
ただし、「 index.php 」の部分を削除して、URLがきれいに見えるようにすることもできます。 これを行うには2つのステップがあります。 まず、以前に編集した構成ファイルを再度開きます。
nano /var/www/codeigniter/application/config/config.php
次のコードを見つけます。
$config['index_page'] = 'index.php';
そしてそれを次のように置き換えます:
$config['index_page'] = '';
保存して終了。 これで、CodeIgniterはURLに「index.php」を自動的に含めなくなります。 しかし、それだけでは十分ではありません。 これは、URLから単に省略した場合、「ページが見つかりません」エラーが大量に発生することを意味します。 また、いくつかのリダイレクトを処理するために、.htaccessファイルを作成する必要があります。
注: .htaccess 機能を使用するには、Apacheサーバーでmod_rewriteを有効にする必要があります。 これを確認するには、次のコマンドを実行します。
apache2ctl -M
リストにrewrite_moduleが表示されている場合は、問題ありません。 そうでない場合は、次のコマンドで有効にします。
a2enmod rewrite
そして、変更を有効にするためにApacheを再起動します。
sudo service apache2 restart
これで続行できます。 CodeIgniterルートフォルダー( index.php ファイルの隣)に.htaccessファイルを作成します。
nano /var/www/codeigniter/.htaccess
そして、次のコードを貼り付けます。
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php?/$0 [PT,L]
仮想ホストファイルでAllowOverrideをAllに設定して、.htaccessファイルが有効になっていることを確認します。
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory>
ファイルを保存して終了します。 これで、ブラウザでサイトにアクセスする場合、URLにindex.phpを含める必要はありません。
http://www.example.com/welcome/test/3
そしてあなたのURLはずっと良く見えます。 これで、CodeIgniterの驚異を使用してPHPアプリケーションの開発を開始する準備が整いました。