Ubuntu12.04 LTSにFuelPHPの実行環境の構築

初期設定

  • とりあえず
sudo apt-get -y update
sudo apt-get -y upgrade
  • インストールされるnginxのバージョンを確認
apt-cache show nginx
  • デフォルトだと古いのでsudo vi /etc/apt/sources.list.d/nginx.list にて以下を追加
deb http://nginx.org/packages/ubuntu/ precise nginx
deb-src http://nginx.org/packages/ubuntu/ precise nginx
  • 再度確認
apt-cache show nginx

インストール

  • python-software-propertiesのインストール
sudo apt-get install python-software-properties
  • phpのインストール
sudo apt-get install -y php5 php5-mysql php-devel php-cli php-mbstring php-gdxml
  • php-fpmのインストール
sudo apt-get install -y php5-fpm
  • nginxのインストール
sudo apt-get install nginx -y
  • mysqlのインストール
sudo apt-get install -y mysql-server
  • chkconfigのようなやつインストール
sudo apt-get -y install sysv-rc-conf
sudo curl get.fuelphp.com/oil | sh

とりあえず、Fuelphpのプロジェクト作成

cd /usr/share/nginx/html/
sudo oil create [xxx-prject]

設定

  • コピーして設定ファイル作成
sudo cp /etc/nginx/sites-available/default  /etc/nginx/sites-available/[domain_name]
  • 設定変更
sudo vi /etc/nginx/sites-available/www.tech-event.info
  • 以下のように編集
upstream php {
        server unix:/var/run/php5-fpm.sock;
} 
server {
    listen 80;
    
    root /usr/share/nginx/html/[domain_name]/public/;
    index index.php index.html index.htm;

    server_name [domain_name];

    location / {
        try_files $uri $uri/ =404;
    }

    # PHP
        location ~* \.php$ {
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_script_name; 
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            include fastcgi_params;
            include /etc/nginx/site-enabled/*;
        }
}
sudo ln -s /etc/nginx/sites-available/www.tech-event.info /etc/nginx/sites-enabled/
  • 権限変更
sudo chown www-data:www-data /var/run/php5-fpm.sock

再起動

sudo service nginx restart
sudo service php5-fpm restart

エラーメッセージに対しての対応

sudo: unable to resolve host対処方法
  • /etc/hostsに以下のように追加
202.XXX.YYY.ZZZ [hostname]
アクセスしても動作しない場合は/var/log/nginx/error.logを見ること
tail /var/log/nginx/error.log
connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstrea
  • 権限がないのでchownで適切なユーザーに設定を行う。