ステータス:非推奨

この記事では、サポートされなくなったバージョンの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

これで、ブラウザでそのフォルダを指定できます。

&ltyour_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
&ltVirtualHost *:80>
        DocumentRoot /var/www/codeigniter
        [.......]
&ltVirtualHost *: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] 

仮想ホストファイルでAllowOverrideAllに設定して、.htaccessファイルが有効になっていることを確認します。

&ltDirectory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
&lt/Directory>

ファイルを保存して終了します。 これで、ブラウザでサイトにアクセスする場合、URLにindex.phpを含める必要はありません。

http://www.example.com/welcome/test/3 

そしてあなたのURLはずっと良く見えます。 これで、CodeIgniterの驚異を使用してPHPアプリケーションの開発を開始する準備が整いました。

CodeIgniter-Article#1 CodeIgniter-Article#2 CodeIgniter-Article#3 Article投稿者: Danny