2013-11-13

2013-11-13 20:00

インストール環境とバージョン

今回、インストールするサーバと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 コメント:

コメントを投稿