読者です 読者をやめる 読者になる 読者になる

Asterisk - アスタリスク -

説明するほどでもないブログ

【FuelPHP】Nginx + FuelPHP の環境構築と動作確認

どうも。

記事のタイトルに墨付カッコとか付けてみた。

CakePHP でルールを覚えるのが面倒だなと思って、FuelPHP に手を出してみた。
ついでに Apache ではなく Nginx にした。

以下、未来の自分へ何をどうしたのか?を残しておく。
※ history コマンドと私の記憶を頼りに記述しています。


PC環境
Xubuntu 12.04 (32bit) on VMware


Nginx のインストール
$ sudo add-apt-repository ppa:nginx/stable
$ sudo apt-get update
$ sudo apt-get install nginx


Nginx のインストール確認
$ nginx -v
nginx version: nginx/1.2.7


PHP のインストール
$ sudo add-apt-repository ppa:ondrej/php5
$ sudo apt-get update
$ sudo apt-get install php5 php5-cgi php5-cli php5-mysql php5-gd php-apc php5-fpm php5-mcrypt


PHP のインストール確認
$ php -v
PHP 5.4.14-1~precise+1 (cli) (built: Apr 11 2013 14:30:34) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies


FuelPHP のインストール
  1. Fuel フレームワークをダウンロードする。
  2. ダウンロードしたファイルを解凍し、展開する。
  3. 以下のディレクトリ構造で配置する。
/usr/share/nginx/html/fuelphp/
├── CHANGELOG.md
├── CONTRIBUTING.md
├── README.md
├── TESTING.md
├── build.xml
├── docs
├── fuel
├── oil
└── public

(権限も変更しておく)

$ sudo chmod -R 777 /usr/share/nginx/html/fuelphp/


Nginx の設定
$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default_bak
$ sudo leafpad /etc/nginx/sites-available/default
server {
    listen 80;
    listen [::]:80 ipv6only=on default_server;

    root /usr/share/nginx/html/fuelphp/public;

    server_name localhost;

    charset utf-8;
    index index.php;

    location / {
        try_files $uri /index.php?$uri&$args;
    }

    location ~* \favicon.ico$ {
      access_log off;
      expires 1d;
      add_header Cache-Control public;
    }

    location /doc/ {
        alias /usr/share/doc/;
        autoindex on;
        allow 127.0.0.1;
        allow ::1;
        deny all;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}


動作確認
$ sudo service php5-fpm restart
$ sudo service nginx restart

(ブラウザで localhost へアクセス)

f:id:binder:20130427160101j:plain:w600:h378



以上です。