CentOS 6.6:Apache2.4+PHP5.6+MySQL5.6+Memcached1.4.4 環境構築

GMOクラウド ALTUS BASICの CentOS 6.6に、定番LAMP実行環境として、Apache2.4+PHP5.6+MySQL5.6+Memcached1.4.4 の環境を構築します。(2015/02/08作成)

terribl / Pixabay

0.環境情報

$ cat /etc/redhat-release 
CentOS release 6.6 (Final)

1.インストール要件

$ /usr/sbin/httpd -v | head -n 1
Server version: Apache/2.4.10 (Unix)
$ php -v | head -n 1
PHP 5.6.4 (cli) (built: Jan 25 2015 20:44:51) 
$ mysql --version
mysql  Ver 14.14 Distrib 5.6.22, for Linux (x86_64) using  EditLine wrapper
$ memcached -h | head -n 1
memcached 1.4.4

2.事前作業

1)「EPEL」リポジトリが使用可能にします。

$ sudo yum install epel-release
$ sudo vi /etc/yum.repos.d/epel.repo
[epel]
enabled=1 → 0

2)「rpmbuild」コマンドを使用可能にします。

$ sudo yum install rpm-build
$ sudo yum install autoconf libtool doxygen

3.httpd 2.4.10

依存関係モジュール

1)APR1.5.1のインストール

$ wget http://archive.apache.org/dist/apr/apr-1.5.1.tar.bz2
$ sudo rpmbuild -tb --clean apr-1.5.1.tar.bz2
$ pushd .
$ cd /root/rpmbuild/RPMS/x86_64/
$ sudo rpm -ihv apr-1.5.1-1.x86_64.rpm apr-devel-1.5.1-1.x86_64.rpm
$ popd

2)reetds-develのインストール

$ sudo yum --enablerepo=epel install freetds-devel

3)APR-util1.5.4のインストール

$ sudo yum install expat-devel libuuid-devel db4-devel postgresql-devel mysql-devel sqlite-devel unixODBC-devel  openldap-devel nss-devel
$ wget http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.bz2
$ sudo rpmbuild -tb --clean apr-util-1.5.4.tar.bz2
$ sudo rpm -ihv /root/rpmbuild/RPMS/x86_64/apr-util-*

4)distcache-develのインストール

$ wget http://ftp.jaist.ac.jp/pub/Linux/Fedora/releases/18/Everything/source/SRPMS/d/distcache-1.4.5-23.src.rpm
$ sudo rpmbuild --rebuild --clean distcache-1.4.5-23.src.rpm
$ sudo rpm -ihv /root/rpmbuild/RPMS/x86_64/distcache-*

5)mailcapのインストール

$ sudo yum install mailcap

6)Apache2.4.10のインストール

$ sudo yum install pcre-devel lua-devel libxml2-devel
$ wget http://archive.apache.org/dist/httpd/httpd-2.4.10.tar.bz2
$ sudo rpmbuild -tb --clean httpd-2.4.10.tar.bz2
$ sudo rpm -ihv /root/rpmbuild/RPMS/x86_64/httpd-* /root/rpmbuild/RPMS/x86_64/mod_*

7)インストール後の設定

※MPMの変更)Apache2.4.10ではデフォルトで使用されるMPMはeventになっています。PHPを使用する場合等、使用するMPMをpreforkにしたい場合は、Apacheの設定ファイル「/etc/httpd/conf/httpd.conf」で、MPMのモジュールを読み込む設定を以下のように変更します。

$ sudo vi /etc/httpd/conf/httpd.conf
#LoadModule mpm_event_module lib64/httpd/modules/mod_mpm_event.so
LoadModule mpm_prefork_module lib64/httpd/modules/mod_mpm_prefork.so

8)SSLを有効にする

mod_sslのインストール、mod_ssl関連の「httpd.conf」設定を行います。

$ sudo rpm -ihv /root/rpmbuild/RPMS/x86_64/mod_ssl-2.4.10-1.x86_64.rpm
$ sudo vi /etc/httpd/conf/httpd.conf
LoadModule ssl_module lib64/httpd/modules/mod_ssl.so
Include /etc/httpd/conf/extra/httpd-ssl.conf
LoadModule socache_shmcb_module lib64/httpd/modules/mod_socache_shmcb.so

4.php5.6.4

PHP5.6インストール

1)libcurl-develのインストール

$ sudo yum install libcurl-devel

2)postfixのインストール

$ sudo yum install postfix

3)libjpeg-turbo-develのインストール

$ sudo yum install libjpeg-turbo-devel

4)firebird-develのインストール

$ sudo yum --enablerepo=epel install firebird-devel

5)ibmcrypt-develのインストール

$ sudo yum --enablerepo=epel install libmcrypt-devel

6)PHP5.6.4のRPM作成

$ sudo yum install bzip2-devel pam-devel libstdc++-devel libedit-devel gcc-c++ libtool-ltdl-devel systemtap-sdt-devel libc-client-devel net-snmp-devel libxslt-devel t1lib-devel libpng-devel freetype-devel libXpm-devel  libvpx-devel  gmp-devel  tokyocabinet-devel  libtidy-devel  aspell-devel recode-devel libicu-devel enchant-devel

$ wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/SRPMS/php56u-5.6.4-1.ius.centos6.src.rpm
$ sudo rpmbuild --rebuild --clean php56u-5.6.4-1.ius.centos6.src.rpm

注意)以下のエラーとなる!
-----
Sorry, I cannot run apxs.  Possible reasons follow:

1. Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed)

The output of /usr/sbin/apxs follows:
./configure: line 8774: /usr/sbin/apxs: No such file or directory
configure: error: Aborting
-----

$ pushd .
$ cd /root/rpmbuild/SPECS/
$ sudo vi php56u.spec

(line52行目付近)
# /usr/sbin/apsx with httpd < 2.4 and defined as /usr/bin/apxs with httpd >= 2.4
 %{!?_httpd_apxs:       %{expand: %%global _httpd_apxs       %%{_sbindir}/apxs}}
 ↓
  %{!?_httpd_apxs:       %{expand: %%global _httpd_apxs       %%{_bindir}/apxs}}
  
$ sudo rpmbuild -bb --clean php56u.spec

$ cd /root/rpmbuild/RPMS/x86_64
$ sudo rpm -ivh --nodeps php56u-cli-5.6.4-1.ius.el6.x86_64.rpm php56u-xml-5.6.4-1.ius.el6.x86_64.rpm php56u-common-5.6.4-1.ius.el6.x86_64.rpm php56u-process-5.6.4-1.ius.el6.x86_64.rpm php56u-devel-5.6.4-1.ius.el6.x86_64.rpm
$ popd

7)php56u-pearのインストール

$ wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/SRPMS/php56u-pear-1.9.5-1.ius.centos6.src.rpm
$ sudo rm -rf /var/lib/pear/
$ sudo rpmbuild --rebuild --clean php56u-pear-1.9.5-1.ius.centos6.src.rpm
$ sudo rpm -ihv /root/rpmbuild/RPMS/noarch/php56u-pear-1.9.5-1.ius.el6.noarch.rpm

8)php56u-pecl-jsoncのインストール

$ wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/SRPMS/php56u-pecl-jsonc-1.3.6-3.ius.centos6.src.rpm
$ sudo rpmbuild --rebuild --clean php56u-pecl-jsonc-1.3.6-3.ius.centos6.src.rpm
$ sudo rpm -ihv /root/rpmbuild/RPMS/x86_64/php56u-pecl-jsonc-*

9)php56u-pecl-apcuのインストール

$ sudo wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/SRPMS/php56u-pecl-apcu-4.0.7-4.ius.centos6.src.rpm
$ sudo rpmbuild --rebuild --clean php56u-pecl-apcu-4.0.7-4.ius.centos6.src.rpm
$ sudo rpm -ihv /root/rpmbuild/RPMS/x86_64/php56u-pecl-apcu-*
$ sudo rpm -ihv /root/rpmbuild/RPMS/noarch/apcu-panel56u-4.0.7-4.ius.el6.noarch.rpm

10)php56u-pecl-geoipのインストール

$ wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/SRPMS/php56u-pecl-geoip-1.0.8-7.ius.centos6.src.rpm
$ sudo rpmbuild --rebuild --clean php56u-pecl-geoip-1.0.8-7.ius.centos6.src.rpm
$ sudo yum install GeoIP-devel
$ sudo rpm -ihv /root/rpmbuild/RPMS/x86_64/php56u-pecl-geoip-1.0.8-7.ius.el6.x86_64.rpm

※「GeoIP C ライブラリインストール 」と「GeoLite Country, GeoLite City バイナリデータ」の配置は下記事を参考にインストールします。

[DTI]ServersMan@VPS:PHP GeoIP のインストール

11)PHP5.6.4のインストール

$ sudo rpm -ihv php56u-5.6.4-1.ius.el6.x86_64.rpm php56u-mbstring-5.6.4-1.ius.el6.x86_64.rpm php56u-pdo-5.6.4-1.ius.el6.x86_64.rpm php56u-mysqlnd-5.6.4-1.ius.el6.x86_64.rpm php56u-opcache-5.6.4-1.ius.el6.x86_64.rpm php56u-mcrypt-5.6.4-1.ius.el6.x86_64.rpm php56u-gd-5.6.4-1.ius.el6.x86_64.rpm

12)Apacheの設定ファイルの編集

$ sudo vi /etc/httpd/conf.d/10-php.conf
(line6行目)
#LoadModule php5_module modules/libphp5.so
LoadModule php5_module lib64/httpd/modules/libphp5.so
(line10行目)
#LoadModule php5_module modules/libphp5-zts.so
LoadModule php5_module lib64/httpd/modules/libphp5-zts.so

$ sudo /etc/httpd/conf/httpd.conf
(追加)
Include /etc/httpd/conf.d/*.conf

5.MySQL 5.6.22

$ wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
$ sudo rpm -ihv mysql-community-release-el6-5.noarch.rpm
 
$ sudo vi /etc/yum.repos.d/mysql-community.repo
[mysql-connectors-community]
enabled=1 → 0

[mysql-tools-community]
enabled=1 → 0

[mysql56-community]
enabled=1 → 0

$ rm -rf /var/lib/mysql/
$ sudo yum --enablerepo=mysql56-community install mysql-community-server
$ sudo yum --enablerepo=mysql56-community install mysql-community-libs-compat
$ sudo /etc/init.d/mysqld start

6.Memcached 1.4.4

$ sudo yum install memcached memcached-devel

1)依存するモジュール群をインストール

$ sudo yum install libevent-devel
$ sudo rpm -ihv http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/libmemcached10-1.0.16-1.ius.centos6.x86_64.rpm
$ sudo rpm -ihv http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/libmemcached10-devel-1.0.16-1.ius.centos6.x86_64.rpm
$ sudo rpm -ihv http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/php56u-pecl-igbinary-1.2.1-4.ius.centos6.x86_64.rpm
$ sudo rpm -ihv http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/php56u-pecl-igbinary-devel-1.2.1-4.ius.centos6.x86_64.rpm

2)php56u-pecl-memcached インストール

$ wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/SRPMS/php56u-pecl-memcached-2.2.0-4.ius.centos6.src.rpm
$ sudo rpmbuild --rebuild --clean php56u-pecl-memcached-2.2.0-4.ius.centos6.src.rpm
$ sudo rpm -ihv /root/rpmbuild/RPMS/x86_64/php56u-pecl-memcached-2.2.0-4.ius.el6.x86_64.rpm

7.起動・自動起動設定

$ sudo /etc/init.d/httpd start
$ sudo /etc/init.d/mysqld start
$ sudo /etc/init.d/memcached start
$ sudo /sbin/chkconfig httpd on
$ sudo /sbin/chkconfig mysqld on
$ sudo /sbin/chkconfig memcached on

以上

About yoshimasa

埼玉県さいたま市在住、2男3女のパパです。Linux系の技術情報を中心にまとめています。1978年2月生まれ。