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.環境情報
[crayon]
$ cat /etc/redhat-release
CentOS release 6.6 (Final)
[/crayon]

1.インストール要件
[crayon]
$ /usr/sbin/httpd -v | head -n 1
Server version: Apache/2.4.10 (Unix)
[/crayon]
[crayon]
$ php -v | head -n 1
PHP 5.6.4 (cli) (built: Jan 25 2015 20:44:51)
[/crayon]
[crayon]
$ mysql –version
mysql Ver 14.14 Distrib 5.6.22, for Linux (x86_64) using EditLine wrapper
[/crayon]
[crayon]
$ memcached -h | head -n 1
memcached 1.4.4
[/crayon]

2.事前作業

1)「EPEL」リポジトリが使用可能にします。
[crayon]
$ sudo yum install epel-release
$ sudo vi /etc/yum.repos.d/epel.repo
[epel]
enabled=1 → 0
[/crayon]

2)「rpmbuild」コマンドを使用可能にします。
[crayon]
$ sudo yum install rpm-build
$ sudo yum install autoconf libtool doxygen
[/crayon]

3.httpd 2.4.10

依存関係モジュール

1)APR1.5.1のインストール
[crayon]
$ 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
[/crayon]

2)reetds-develのインストール
[crayon]
$ sudo yum –enablerepo=epel install freetds-devel
[/crayon]

3)APR-util1.5.4のインストール
[crayon]
$ 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-*
[/crayon]

4)distcache-develのインストール
[crayon]
$ 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-*
[/crayon]

5)mailcapのインストール
[crayon]
$ sudo yum install mailcap
[/crayon]

6)Apache2.4.10のインストール
[crayon]
$ 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_*
[/crayon]

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

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

8)SSLを有効にする

mod_sslのインストール、mod_ssl関連の「httpd.conf」設定を行います。
[crayon]
$ 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
[/crayon]

4.php5.6.4

PHP5.6インストール

1)libcurl-develのインストール
[crayon]
$ sudo yum install libcurl-devel
[/crayon]

2)postfixのインストール
[crayon]
$ sudo yum install postfix
[/crayon]

3)libjpeg-turbo-develのインストール
[crayon]
$ sudo yum install libjpeg-turbo-devel
[/crayon]

4)firebird-develのインストール
[crayon]
$ sudo yum –enablerepo=epel install firebird-devel
[/crayon]

5)ibmcrypt-develのインストール
[crayon]
$ sudo yum –enablerepo=epel install libmcrypt-devel
[/crayon]

6)PHP5.6.4のRPM作成
[crayon]
$ 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
[/crayon]

7)php56u-pearのインストール
[crayon]
$ 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
[/crayon]

8)php56u-pecl-jsoncのインストール
[crayon]
$ 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-*
[/crayon]

9)php56u-pecl-apcuのインストール
[crayon]
$ 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
[/crayon]

10)php56u-pecl-geoipのインストール
[crayon]
$ 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
[/crayon]

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

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

11)PHP5.6.4のインストール
[crayon]
$ 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
[/crayon]

12)Apacheの設定ファイルの編集
[crayon]
$ 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
[/crayon]

5.MySQL 5.6.22

[crayon]
$ 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/
[/crayon]
[crayon]
$ 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
[/crayon]

6.Memcached 1.4.4
[crayon]
$ sudo yum install memcached memcached-devel
[/crayon]

1)依存するモジュール群をインストール
[crayon]
$ 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
[/crayon]

2)php56u-pecl-memcached インストール
[crayon]
$ 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
[/crayon]

7.起動・自動起動設定
[crayon]
$ sudo /etc/init.d/httpd start
$ sudo /etc/init.d/mysqld start
$ sudo /etc/init.d/memcached start
[/crayon]
[crayon]
$ sudo /sbin/chkconfig httpd on
$ sudo /sbin/chkconfig mysqld on
$ sudo /sbin/chkconfig memcached on
[/crayon]

以上

About yoshimasa

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

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください