インストール環境とバージョン
今回、インストールするサーバとPHPのバージョンは以下のようになります。名前 | バージョン | ダウンロード元 |
---|---|---|
ubuntu | 10.04.4(64bit) | http://releases.ubuntu.com/lucid/ |
Apache Httpd Server | 2.4.6 | http://httpd.apache.org/ |
MySQL | 5.6.14 | http://dev.mysql.com/ |
PHP | 5.5.5 | http://www.php.net/ |
インストールする前の準備作業
開発パッケージが設置されてない場合は、apt-get
でインストールする必要があります。# apt-get install build-essential curl libcurl3 libpcre3-dev libssl-dev libxml2-dev libbz2-dev libgd2-xpm-dev libmcrypt-dev
Curlオプションを利用する場合は、apt-getコマンドでlibcurl4-gnutls-devをインストールする必要があります。
# apt-get install libcurl4-gnutls-dev
Apacheインストール
「Apache2.4.6のインストール手順」を参照してください。Mysqlインストール
「MySQL 5.6.14のインストール手順」を参照してください。PHPインストール
PHPをインストールします。(オプションは環境に合わせて、変更する必要があります。)# mkdir -p /usr/local/php/php-5.5.5/conf # cd /usr/local/src/ # wget -O 'php-5.5.5.tar.gz' http://us3.php.net/get/php-5.5.5.tar.gz/from/jp1.php.net/mirror # tar xvf php-5.5.5.tar.gz # cd php-5.5.5 # ./configure --prefix=/usr/local/php/php-5.5.5 \ --enable-bcmath \ --enable-calendar \ --enable-dba \ --enable-exif \ --enable-fpm \ --enable-ftp \ --enable-pdo \ --enable-gd-native-ttf \ --enable-mbstring \ --enable-mbregex \ --enable-shmop \ --enable-sigchild \ --enable-soap \ --enable-sockets \ --enable-sysvmsg \ --enable-wddx \ --enable-xml \ --enable-zip \ --with-apxs2=/usr/local/httpd/current/bin/apxs \ --with-freetype-dir=/usr/lib64 \ --with-config-file-path=/usr/local/php/php-5.5.5/conf \ --with-mysql=/usr/local/mysql/current \ --with-mysql-sock=/usr/local/mysql/current/tmp/mysql.sock \ --with-pdo-mysql=/usr/local/mysql/current \ --with-png-dir=/usr/lib64 \ --with-jpeg-dir=/usr/lib64 \ --with-zlib-dir=/usr/lib64 \ --with-libdir=lib64 \ --with-bz2 \ --with-curl \ --with-gd \ --with-gettext \ --with-libxml-dir=/usr/lib64 \ --with-mcrypt \ --with-mhash \ --with-mysqli \ --with-openssl \ --with-iconv \ --with-xmlrpc # make # make install # cd /usr/local/php/ # ln -s php-5.5.5 current
PHP環境変数
/etc/profile
を追加します。
# vi /etc/profile export PHP_HOME=/usr/local/php/current PATH=${PHP_HOME}/bin:${PATH} # source /etc/profile # php -v
PHP、PHP-FPMの設定ファイルと起動スクリプトを作成します。
# cp /usr/local/src/php-5.5.5/php.ini-production /usr/local/php/php-5.5.5/conf/php.ini # cp /usr/local/src/php-5.5.5/sapi/fpm/php-fpm.conf /usr/local/php/php-5.5.5/etc/ # cp /usr/local/src/php-5.5.5/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm # chmod 755 /etc/init.d/php-fpm
viを利用して
php.ini
設定ファイルを編集します。# vi /usr/local/php/current/conf/php.ini date.timezone = "Asia/Tokyo" memory_limit = 256M post_max_size = 32M upload_max_filesize = 32M max_execution_time = 3600 max_input_time = 7200 error_log = /usr/local/php/current/var/log/php.log Encoding追加(必要であれば) mbstring.http_input = UTF-8 mbstring.encoding_translation = On mbstring.internal_encoding = UTF-8 mbstring.substitute_character = "?" default_charset = UTF-8
viを利用して
php-fpm.conf
設定ファイルを編集します。# vi /usr/local/php/current/etc/php-fpm.conf pid = run/php-fpm.pid error_log = log/php-fpm.log pm.max_children = 70 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 500 rlimit_files = 102400 user = apache group = apache
iniファイルの経路確認
# php -i | grep php.ini
php-fpmを起動します。
# /etc/init.d/php-fpm start
ApacheとPHP-FPM連動設定
Apacheの設定ファイルを変更します。# vi /usr/local/httpd/current/conf/httpd.conf 以下の2行のコメントアウトを外します。 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so 拡張子がphpの場合、PHP-FPMへ処理させるようにRewrite設定 (127.0.0.1:9000は「/usr/local/php/current/etc/php-fpm.conf」の「listen = 127.0.0.1:9000」に設定した内容です。) ※VirtualHostを利用しても構いません。 <LocationMatch "^/.*\.php$"> ProxyPass fcgi://127.0.0.1:9000/usr/local/httpd/current/htdocs/ </LocationMatch>
テストのため、
index.php
生成# echo '<?php echo phpinfo(); ?>' > /usr/local/httpd/current/htdocs/index.php
Apache再起動
# /usr/local/httpd/current/bin/apachectl restart
ページから接続してみる…
0 コメント:
コメントを投稿