はじめに
nginxをやっと使ってみることにしました。設定ファイル触るのも当然初めてで、エイリアスを切って、phpmyadminへの連携をするのにかなり手こずったので、メモ的な意味で情報公開です。
Apache関連パッケージ削除
|
$ sudo dpkg -l |grep apache |
列挙されるパッケージを削除しちゃってください。
nginxのリポジトリを追加
|
$ sudo nano /etc/apt/sources.list |
|
deb http://packages.dotdeb.org wheezy all deb-src http://packages.dotdeb.org wheezy all |
GPGキーのインポート
|
$ wget http://www.dotdeb.org/dotdeb.gpg $ sudo apt-key add dotdeb.gpg $ sudo aptitude update |
nginx php5-fpm php5関連パッケージインストール
|
$ sudo aptitude install nginx-full php5 php5-fpm php5-common php-pear php5-mcrypt php5-mysql php5-cli php5-gd php-apc php5-curl |
php5-fpmの設定調整(不要です)
webをチェックすると、
/etc/php5/fpm/pool.d/www.conf を調整するような記述が見受けられましたが、2014年3月現在では特に調整の必要はナシです。
php5-fpm nginx再起動
|
$ sudo /etc/init.d/php5-fpm restart $ sudo /etc/init.d/nginx restart |
nginx動作確認
http://localhost へアクセスして、以下のようなnginxのトップページが表示されればOK。

php5-fpm nginx連携
php関連の記述がある部分をコメントアウトします。unixソケットで動かすので、
#fastcgi_pass 127.0.0.1:9000;
の部分はコメントアウトのままで・・・。
|
$ sudo nano /etc/nginx/sites-enabled/default |
|
location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # With php5-cgi alone: #fastcgi_pass 127.0.0.1:9000; # With php5-fpm: fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } |
確認用PHP作成
|
$ nano /usr/share/nginx/html/test.php |
中身
確認
ブラウザーで http://localhost/test.phpへアクセス。
以下のような php情報が表示されればOK、念の為、
Server API FPM/FastCGI
という記述が上の方にあることをご確認あれ。

phpmyadminインストール
インストールというか、ファイルをダウンロードして、適当な場所へ展開してやってください。今回は /usr/share/phpmyadminへインストールすることとします。
http://www.phpmyadmin.net/home_page/index.php
へアクセスし、最新版ダウンロード。
|
$ unzip phpMyAdmin-4.1.9-all-languages.zip $ mv phpMyAdmin-4.1.9-all-languages phpmyadmin $ sudo mv phpmyadmin /usr/share |
nginx phpmyadmin連携
ここが一番のポイント。かなりハマったので、参考にしていただければと・・・
nginxの設定ファイルの php連携の記述の下あたりに、以下のような感じで、phpmyadminとの連携を記述してください。nginxは正規表現で指定したlocationで一番マッチ度が高いものを採用する仕組みみたいです。
ポイントは、/phpmyadmin へのアクセスを定義し、入れ子で!!! phpmyadmin配下の *.phpファイルへのアクセスを定義してあげます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # With php5-cgi alone: #fastcgi_pass 127.0.0.1:9000; # With php5-fpm: fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } ここ以下を追加 location /phpmyadmin { root /usr/share; index index.php; location ~ ^/phpmyadmin.+\.php$ { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $fastcgi_script_name; include fastcgi_params; } } |
nginx再起動
|
$ sudo /etc/init.d/nginx restart |
確認
http://localhost/phpmyadmin へアクセスし、こんな感じで表示されれば、めでたしめでたしです。

Leave a comment