SSブログ

【Ubuntu 12.04 alpha 2】PHP5-FPM (PHP5 FastCGI Process Manager) + Apache2-MPM + MySQL (LAMP) 環境構築 -- メモ [ubuntu]

この記事はメモです。 

ひょっとしたらLAMP環境が必要になるかもしれないので、たまたま見つけた記事を試してみました。

元ネタ:

http://www.howtoforge.com/using-php5-fpm-with-apache2-on-ubuntu-11.10

上記記事はUbuntu 11.10(oneiric)ですが、私はUbuntu 12.04(precise) alpha 2でやってみました。

また、ローカル環境での試験の為ですので、セキュリティは考慮していません。

各バージョンは次の通り。

OS: Ubuntu 12.04 alpha 2 3.2.0-15-generic-pae

httpサーバ: apache2-mpm-worker 2.2.21-5ubuntu1

php5 : 5.3.8.0-1ubuntu3

Mysql : 5.5.17-4ubuntu6

インストール方法は上記リンクとまったく同じです。 見つけられなくなると困るので、要点を抜き出しておきます。

 

< インストール方法 >

※基本的に記述したコマンドは端末(ターミナル)から入力してください。

1) SQLサーバーインストール

sudo apt-get install mysql-server mysql-client

この時にmysqlの管理パスワードを聞かれるので、入力する。

Php5-fpm-001.jpeg

2) Apache2インストール

sudo apt-get install apache2-mpm-worker

インストールが終わったら、http://localhost/ と入力してApacheが動いている事を確認する。

Apache2の設定ですが、モジュールを追加する場合は/etc/apache2/mods-availableの中のモジュール.confとモジュール.loadを/etc/apache2/mods-enabledのディレクトリにシンボリックリンクを張ります。例えばuserdirを有効にしたければ、

cd /etc/apache2/mods-enabled

sudo ln -s ../mods-available/userdir.* .

上記コマンドでuserdir.loadとuserdir.confがシンボリックリンクされます。userdir.loadはモジュールのロード記述です。そして、userdir.confがuserdirに燗する設定なので、このファイルを編集すればOK。

Apache2.confやhttpd.confの記述を変更することは無いです。(これらのファイルを編集するような記述が書いてあるサイトはApache2のバージョンが違います。)

Apache2の設定を変更した場合などにリスタートが必要になりますが、リスタートは下記のコマンドです。

sudo service apache2 restart

3) PHP5 インストール

sudo apt-get install libapache2-mod-fastcgi php5-fpm php5

sudo vi /etc/init.d/php5-fpm #バグフィックスのため

編集画面がでたら、下記を書き換えてセーブします。

do_reload() {
            #
            # If the daemon can reload its configuration without
            # restarting (for example, when it is sent a SIGHUP),
            # then implement that here.
            #
            #start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
            start-stop-daemon --stop --signal 12 --quiet --pidfile $PIDFILE --name $NAME

return 0

青字のところがあるはずですので、これを赤字に書き直します。(上記の青字はコメントアウトしてあります。)

セーブしたら下記のコマンドを入力していきます。

sudo a2enmod actions fastcgi alias

sudo service apache2 restart

4) Apache2の設定

sudo vi /etc/apache2/sites-available/default

でデフォルトの設定ファイルを編集します。

<VirtualHost>から</VirtualHost>の間に下記の記述を挿入します。


<IfModule mod_fastcgi.c>
         AddHandler php5-fcgi .php
         Action php5-fcgi /php5-fcgi
         Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
         FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization
</IfModule>

 

記述し終わったらセーブしてApache2をリスタートします。

上記の/usr/lib/cgi-bin/php5-fcgiのファイルはソケットファイルみたいなものですので、同じファイルやディレクトリを作成しないようにします。"FastCgiExternalServer"はfastCGIの設定です。

次に下記でまた編集します。

sudo vi /var/www/info.php

今度は空ファイルのはずですので下記を記述してセーブします。

<?php
phpinfo();
?>

そしたら、ブラウザを起動して下記のアドレスにアクセスします。

http://localhost/info.php

Php5-fpm-002.jpeg

上図のように表示されればOK。(Additional .ini files parsedの欄は次の項目を行った後にスクリーンショットを取ったので、実際はこれほどありません。また、スクリーンショットのアドレスが記事のものと違いますが、直接IPアドレスを入れているだけです。)

5) SQLをサポートするためのPHP5モジュールの追加

sudo apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

※モジュールが多すぎて、本当に必要なのはどれか確認しませんでした。

インストールされたら下記のコマンドでphp5-fpmのリロードをします。

sudo service php5-fpm reload

もう一度 http://localhost/info.php にアクセスすると(リロードでも可)、下図のようにmysqlとかの欄が増えているはずです。

Php5-fpm-003.jpeg

6) phpmyadminのインストール

sudo apt-get install phpmyadmin

インストール時に2つほど質問されるはずですので、dbconfig-commonを利用するか?という質問には「NO」、再構築するWeb serverを聞かれたら、「Apache2」を選択します。

※Apache2のインストール時もそうですが、インストール時にインストールスクリプトがwhiptailというコマンドを呼んでいます。ところがこのコマンドが/binの中にあるのに、/usr/bin/whiptailを呼んでいるために起動しません。シンボリックリンクを張ってあげると解消しますが、インストール時のインターフェースが変わります。

phpmyadminのインストールが終わったら、下記にアクセスアクセスします。

http://localhost/phpmyadmin/

すると下図の画面が出るはずです。

Php5-fpm-004.jpeg

ここで、ユーザ名を「root」、パスワードを1)でMySQLをインストールしたときに設定したものを入れます。※「クッキーを有効にして下さい」の表示は、ブラウザでクッキーを有効にしていても出てしまいました。

無事ログイン出来ると下図。

Php5-fpm-005.jpeg

7) PHP-FPMをTCP経由からソケットへ変更

この作業は、デフォルトではネットワークを使っていないのにPHP-FPMにデータを渡す為にTCPでループバックをかけています。 このオーバーヘッドを無くすために、ソケットを利用します。

sudo vi /etc/php5/fpm/pool.d/www.conf

これでlistenと言う下記の青字の記述を探して、下記のように書き換えます。

;listen = 127.0.0.1:9000
listen = /tmp/php5-fpm.sock

青字はコメントアウトされて、赤字の所を追加しています。

書き終えたら、セーブして下記でphp5-fpmをリロードします。

sudo service php5-fpm reload

次にApache2の設定を書き直します。

sudo vi /etc/apache2/sites-available/default

で下記の赤字の所を書き直します。

<IfModule mod_fastcgi.c>
      AddHandler php5-fcgi .php
      Action php5-fcgi /php5-fcgi
      Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
      FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /tmp/php5-fpm.sock -pass-header Authorization
</IfModule>

書き終えたら、セーブしてApache2をリスタートします。(php5-fpm.sockのファイル名に関しては、php5-fpmとApache2に設定したファイル名が一致していればOKなはずです。例外はあるかも・・・)

sudo service apache2 restart

もう一度、 http://localhost/info.php や http://localhost/phpmyadmin/ にアクセスしてちゃんと動けばOKです。

以上です。

 

< 余談 >

実はこの後、WordPress 3.3.1を入れました。なんか動いているみたい・・・

SS-wordpress-006.jpeg

そのうち、インストール方法の記事とか書くかも。。。

 

 ← WordPressレッスンブック

     WordPressを使うことになったら
     これか、WordPressデザインブックを買うと思う。
     両方とも必要かな~
     ちなみに、自分のブログの為では無いです。
     なので、このブログがお引越しするわけではないです。


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。