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
以上