SSブログ

「MariaDB_10.0」のインストール。 [MariaDB]

「MariaDB_10.0」のインストール。

■「RPM-GPG-KEY」インポート。

       
[bibo-roku@centos ~]$ rpm -qa | grep mysql ←競合を調査
php56u-mysqlnd-5.6.4-1.ius.el6.i386
mysql-libs-5.1.73-3.el6_5.i686

[bibo-roku@centos ~]$ sudo rpm -e --nodeps mysql-libs ←「--nodeps」

[bibo-roku@centos ~]$ sudo rpm --import http://yum.mariadb.org/RPM-GPG-KEY-MariaDB ←GPG-KEYインポート。

[bibo-roku@centos ~]$ sudo rpm -qai gpg-pubkey ←KEYの確認。
---省略---
Name        : gpg-pubkey                   Relocations: (not relocatable)
Version     : 1bb943db                          Vendor: (none)
Release     : 511147a9                      Build Date: 2015年05月02日 21時52分32秒
Install Date: 2015年05月02日 21時52分32秒      Build Host: localhost
Group       : Public Keys                   Source RPM: (none)
Size        : 0                                License: pubkey
Signature   : (none)
Summary     : gpg(MariaDB Package Signing Key )
Description :
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: rpm-4.8.0 (NSS-3)
---省略---
       
      
「MariaDB_10.0」をインストールする前には競合するパッケージを消す必要があるそうですので、調べてみます。
 後者の「mysql-libs-5.1.73-3.el6_5.i686」が競合するようなのですが、なんで入っているのかな。依存関係かな。
 依存関係無視で「mysql-libs-5.1.73-3.el6_5.i686」アンインストールします。
 次に「RPM-GPG-KEY」をインポートします。その後、確認をしてみたのですがファイルをダウンロードしてからインポートするわけでは無いのかな?
   ファイルはありませんでした。(rpm -qai gpg-pubkeyで確認はできました。)
 

■リポジトリのインストール。

       
https://downloads.mariadb.org/mariadb/repositories/#mirror=yamagata-university
「CentOS」→「CentOS6(32bit)」→「10.0」

# MariaDB 10.0 CentOS repository list - created 2015-05-02 13:25 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/centos6-x86
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=0 ←追記。

[bibo-roku@centos ~]$ sudo vi mariadb.repo
       
      
 リポジトリはファイルでは存在しないようで、公式HPにて自分のサーバの条件を指定していけばテキストが表示されるのでこれをコピーすることでリポジトリを作成するようです。
 現れたテキストについでに「enabled=0」を追記しました。
「vi」コマンドで保存します。

■「MariaDB」のインストール。

       
[bibo-roku@centos ~]$ sudo yum install --enablerepo=mariadb MariaDB-devel MariaDB-client MariaDB-server

警告: RPMDB は yum 以外で変更されました。
** Found 4 pre-existing rpmdb problem(s), 'yum check' output follows:
php56u-pdo-5.6.4-1.ius.el6.i386 は次のインストール済みと衝突しています:   php-pdo < ('0', '5.6', None): php56u-pdo-5.6.4-1.ius.el6.i386
2:postfix-2.6.6-6.el6_5.i686 は次の要求が不足ています:  libmysqlclient.so.16
2:postfix-2.6.6-6.el6_5.i686 は次の要求が不足ています:  libmysqlclient.so.16(libmysqlclient_16)
2:postfix-2.6.6-6.el6_5.i686 は次の要求が不足ています:  mysql-libs
  インストールしています  : MariaDB-common-10.0.17-1.el6.i686 1/6
  インストールしています  : MariaDB-compat-10.0.17-1.el6.i686 2/6
  インストールしています  : MariaDB-client-10.0.17-1.el6.i686 3/6
  インストールしています  : perl-DBI-1.609-4.el6.i686         4/6
  インストールしています  : MariaDB-devel-10.0.17-1.el6.i686  5/6
  インストールしています  : MariaDB-server-10.0.17-1.el6.i686 6/6 
chown: cannot access `/var/lib/mysql': そのようなファイルやディレクトリはありません
150502 22:46:48 [Note] InnoDB: Using mutexes to ref count buffer pool pages
150502 22:46:48 [Note] InnoDB: The InnoDB memory heap is disabled
150502 22:46:48 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
150502 22:46:48 [Note] InnoDB: Memory barrier is not used
150502 22:46:48 [Note] InnoDB: Compressed tables use zlib 1.2.3
150502 22:46:48 [Note] InnoDB: Using Linux native AIO
150502 22:46:48 [Note] InnoDB: Not using CPU crc32 instructions
150502 22:46:48 [Note] InnoDB: Initializing buffer pool, size = 128.0M
150502 22:46:48 [Note] InnoDB: Completed initialization of buffer pool
150502 22:46:48 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!
150502 22:46:48 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
150502 22:46:48 [Note] InnoDB: Database physically writes the file full: wait...
150502 22:46:57 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
150502 22:47:12 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
150502 22:47:17 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
150502 22:47:17 [Warning] InnoDB: New log files created, LSN=45781
150502 22:47:17 [Note] InnoDB: Doublewrite buffer not found: creating new
150502 22:47:17 [Note] InnoDB: Doublewrite buffer created
150502 22:47:17 [Note] InnoDB: 128 rollback segment(s) are active.
150502 22:47:17 [Warning] InnoDB: Creating foreign key constraint system tables.
150502 22:47:17 [Note] InnoDB: Foreign key constraint system tables created
150502 22:47:17 [Note] InnoDB: Creating tablespace and datafile system tables.
150502 22:47:17 [Note] InnoDB: Tablespace and datafile system tables created.
150502 22:47:17 [Note] InnoDB: Waiting for purge to start
150502 22:47:17 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.22-72.0 started; log sequence number 0
150502 22:47:18 [Note] InnoDB: FTS optimize thread exiting.
150502 22:47:18 [Note] InnoDB: Starting shutdown...
150502 22:47:20 [Note] InnoDB: Shutdown completed; log sequence number 1616697
150502 22:47:20 [Note] InnoDB: Using mutexes to ref count buffer pool pages
150502 22:47:20 [Note] InnoDB: The InnoDB memory heap is disabled
150502 22:47:20 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
150502 22:47:20 [Note] InnoDB: Memory barrier is not used
150502 22:47:20 [Note] InnoDB: Compressed tables use zlib 1.2.3
150502 22:47:20 [Note] InnoDB: Using Linux native AIO
150502 22:47:20 [Note] InnoDB: Not using CPU crc32 instructions
150502 22:47:20 [Note] InnoDB: Initializing buffer pool, size = 128.0M
150502 22:47:20 [Note] InnoDB: Completed initialization of buffer pool
150502 22:47:20 [Note] InnoDB: Highest supported file format is Barracuda.
150502 22:47:21 [Note] InnoDB: 128 rollback segment(s) are active.
150502 22:47:21 [Note] InnoDB: Waiting for purge to start
150502 22:47:21 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.22-72.0 started; log sequence number 1616697
150502 22:47:21 [Note] InnoDB: FTS optimize thread exiting.
150502 22:47:21 [Note] InnoDB: Starting shutdown...
150502 22:47:23 [Note] InnoDB: Shutdown completed; log sequence number 1616707

PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:

'/usr/bin/mysqladmin' -u root password 'new-password'
'/usr/bin/mysqladmin' -u root -h centos.mydomain password 'new-password'

Alternatively you can run:
'/usr/bin/mysql_secure_installation'

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the MariaDB Knowledgebase at http://mariadb.com/kb or the
MySQL manual for more instructions.

Please report any problems at http://mariadb.org/jira

The latest information about MariaDB is available at http://mariadb.org/.
You can find additional information about the MySQL part at:
http://dev.mysql.com
Support MariaDB development by buying support/new features from MariaDB
Corporation Ab. You can contact us about this at sales@mariadb.com.
Alternatively consider joining our community based development effort:
http://mariadb.com/kb/en/contributing-to-the-mariadb-project/

  Verifying : MariaDB-compat-10.0.17-1.el6.i686 1/6
  Verifying : MariaDB-common-10.0.17-1.el6.i686 2/6
  Verifying : MariaDB-client-10.0.17-1.el6.i686 3/6
  Verifying : perl-DBI-1.609-4.el6.i686         4/6
  Verifying : MariaDB-devel-10.0.17-1.el6.i686  5/6
  Verifying : MariaDB-server-10.0.17-1.el6.i686 6/6

インストール:
  MariaDB-client.i686 0:10.0.17-1.el6
  MariaDB-devel.i686 0:10.0.17-1.el6
  MariaDB-server.i686 0:10.0.17-1.el6

依存性関連をインストールしました:
  MariaDB-common.i686 0:10.0.17-1.el6
  MariaDB-compat.i686 0:10.0.17-1.el6
  perl-DBI.i686 0:1.609-4.el6 

完了しました!

[root@centos ~]# yum provides --enablerepo=mariadb,epel,ius mysql-libs
MariaDB-compat-10.0.17-1.el6.i686 : MariaDB: a very fast and robust SQL database server
リポジトリー        : installed ←今インストールしたものに包含。
一致          :
その他        : Provides-match: mysql-libs ←インストール中のパッケージに入っているのでエラーは無視。

       
      
 一応「完了しました!」は表示されているのでインストールは成功したのでしょうか。
しかし以下問題があります。
「警告: RPMDB は yum 以外で変更されました。」
 →yum以外のコマンドやソフトでRPMDBが変更されたことを表す。とのこと。
 また、気にしなくてもよいが、この警告が出て、yumのインストールが実行されないことがある。とのこと。
 yumのキャッシュをクリアする「yum clean all」コマンドで解決するとのこと。
「php56u-pdo-5.6.4-1.ius.el6.i386 は次のインストール済みと衝突しています:  php-pdo < ('0', '5.6', None): php56u-pdo-5.6.4-1.ius.el6.i386」
 →うーん。宜しくないのでしょうねぇ。でも他にPHP-PDOが見つからないのです。パス。
「2:postfix-2.6.6-6.el6_5.i686 は次の要求が不足ています:libmysqlclient.so.16」
 →「yum provides --enablerepo=mariadb,epel,ius libmysqlclient.so.16」コマンドを実施したところ「MariaDB-compat-10.0.17-1.el6.i686」にも入っているので、今インストールしたということでこのままで良いのではないでしょうか。
「2:postfix-2.6.6-6.el6_5.i686 は次の要求が不足ています: libmysqlclient.so.16(libmysqlclient_16)」
 →上と同様みたいなのでOKにします。
「2:postfix-2.6.6-6.el6_5.i686 は次の要求が不足ています: mysql-libs」
 →上と同様で「MariaDB-compat-10.0.17-1.el6.i686」に入っているのでOKにします。



「apache」と「PHP」の設定及び動作確認。 [PHP]

「apache」と「PHP」の設定及び動作確認。

■「apache」の設定。

       
[root@centos conf.d]# find / -name httpd.conf
/etc/httpd/conf/httpd.conf ←「apache」の設定ファイル。

[root@centos conf.d]# find / -name 10-php.conf
/etc/httpd/conf.modules.d/10-php.conf ←「PHP」の設定ファイル。

[root@centos conf.d]# find / -name php.conf
/etc/httpd/conf.d/php.conf ←「PHP」の設定ファイル。


[bibo-roku@centos conf]$ sudo vi httpd.conf
---省略---
# Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf

Include /etc/httpd/conf.modules.d/10-php.conf ←一文追記。
Include /etc/httpd/conf.d/php.conf ←一文追記。
Include /etc/httpd/conf.d/*.conf ←一文追記。


DirectoryIndex index.html ←元文。
DirectoryIndex index.html index.htm index.cgi index.php ←追記後。

       
      
「apache」の設定ファイル→「/etc/httpd/conf/httpd.conf」
 に
「PHP」の設定ファイル→「/etc/httpd/conf.d/10-php.conf」「/etc/httpd/conf.d/php.conf」
 を読み込ませる必要があるとのこと。
 それぞれのファイルを確認してみると、「PHP」の設定ファイルの位置が当方の場所と異なるようです。
 環境の違いでそうなるのか、インストールの方法でそうなるのかよくわかりませんが、当方に合わせた設定をしていこうと思います。
「apache」の「/etc/httpd/conf/httpd.conf」に「PHP」の「/etc/httpd/conf.d/10-php.conf」と「/etc/httpd/conf.d/php.conf」を追記するとサイトにはあるのですが、当方と「10-php.conf」の位置が異なりますので修正してから追記しました。追記の場所って一番下で良いのでしょうかね。
 また、一番下の追記は、何か他のパッケージのコンフィグを「apache」が読み込む必要がある場合に必要らしいのですが、追記した上の段に「IncludeOptional conf.d/*.conf」というのがあるのですが、意味は違うのでしょうか。
 さらに「DirectoryIndex」を検索し「index.htm」「index.cgi」「index.php」を追記し、これらのファイルを許可します。

■「PHP」の設定。

[root@centos conf.d]# rpm -ql php56u
/etc/httpd/conf.d/php.conf
/etc/httpd/conf.modules.d/10-php.conf
/usr/lib/httpd/modules/libphp5-zts.so
/usr/lib/httpd/modules/libphp5.so
/usr/share/httpd/icons/php.gif
/var/lib/php/session
/var/lib/php/wsdlcache


#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#
<IfModule prefork.c>
# LoadModule php5_module modules/libphp5.so  ←コメントアウト。
LoadModule php5_module /usr/lib/httpd/modules/libphp5.so ←修正後。
</IfModule>

<IfModule !prefork.c>

# LoadModule php5_module modules/libphp5-zts.so  ←コメントアウト。

LoadModule php5_module /usr/lib/httpd/modules/libphp5-zts.so ←修正後。

</IfModule>

「PHP」の設定ファイル「/etc/httpd/conf.modules.d/10-php.conf」に書かれているモジュールのパスが実際の物とは異なるとのことで編集が必要とのことです。
 まずはインストールした実際のパスを「rpm -ql」コマンドで確認します。

■動作の確認。

       
[root@centos ~]# /etc/rc.d/init.d/httpd restart

[root@centos ~]# echo "<?php phpinfo(); ?>" > /var/www/html/info.php

http://192.168.0.66/info.php
php_info.png
       
      
 動作の確認をするために「apache」の再起動を行います。
「PHP」の動作確認をするための「info.php」を作成します。
 ブラウザで「http://www.ドメイン名/info.php」今回は「192.168.0.66/info.php」で確認できました。


「PHP5.6.4」のインストール。 [PHP]

「PHP5.6.4」のインストール。

■作成されたRPMファイルの確認。

       
[mockbuild@centos i386]$ ls
php56u-5.6.4-1.ius.el6.i386.rpm            php56u-mbstring-5.6.4-1.ius.el6.i386.rpm
php56u-bcmath-5.6.4-1.ius.el6.i386.rpm     php56u-mcrypt-5.6.4-1.ius.el6.i386.rpm
php56u-cli-5.6.4-1.ius.el6.i386.rpm        php56u-mssql-5.6.4-1.ius.el6.i386.rpm
php56u-common-5.6.4-1.ius.el6.i386.rpm     php56u-mysqlnd-5.6.4-1.ius.el6.i386.rpm
php56u-dba-5.6.4-1.ius.el6.i386.rpm        php56u-odbc-5.6.4-1.ius.el6.i386.rpm
php56u-dbg-5.6.4-1.ius.el6.i386.rpm        php56u-opcache-5.6.4-1.ius.el6.i386.rpm
php56u-devel-5.6.4-1.ius.el6.i386.rpm      php56u-pdo-5.6.4-1.ius.el6.i386.rpm
php56u-embedded-5.6.4-1.ius.el6.i386.rpm   php56u-pgsql-5.6.4-1.ius.el6.i386.rpm
php56u-enchant-5.6.4-1.ius.el6.i386.rpm    php56u-process-5.6.4-1.ius.el6.i386.rpm
php56u-fpm-5.6.4-1.ius.el6.i386.rpm        php56u-pspell-5.6.4-1.ius.el6.i386.rpm
php56u-gd-5.6.4-1.ius.el6.i386.rpm         php56u-recode-5.6.4-1.ius.el6.i386.rpm
php56u-gmp-5.6.4-1.ius.el6.i386.rpm        php56u-snmp-5.6.4-1.ius.el6.i386.rpm
php56u-imap-5.6.4-1.ius.el6.i386.rpm       php56u-soap-5.6.4-1.ius.el6.i386.rpm
php56u-interbase-5.6.4-1.ius.el6.i386.rpm  php56u-tidy-5.6.4-1.ius.el6.i386.rpm
php56u-intl-5.6.4-1.ius.el6.i386.rpm       php56u-xml-5.6.4-1.ius.el6.i386.rpm
php56u-ldap-5.6.4-1.ius.el6.i386.rpm       php56u-xmlrpc-5.6.4-1.ius.el6.i386.rpm
       
      
 /home/mockbuild/rpmbuild/RPMS/i386 に作成されました。

■「rpm」コマンドで依存関係を無視してインストールする。

       
[root@centos i386]# yum localinstall php56u-5.6.4-1.ius.el6.i386.rpm 
---省略---
php56u-5.6.4-1.ius.el6.i386.rpm を調べています: php56u-5.6.4-1.ius.el6.i386
php56u-5.6.4-1.ius.el6.i386.rpm をインストール済みとして設定しています
---省略---
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package php56u.i386 0:5.6.4-1.ius.el6 will be インストール
--> 依存性の処理をしています: php56u-cli(x86-32) = 5.6.4-1.ius.el6 のパッケージ: php56u-5.6.4-1.ius.el6.i386
--> 依存性の処理をしています: php56u-common(x86-32) = 5.6.4-1.ius.el6 のパッケージ: php56u-5.6.4-1.ius.el6.i386
--> 依存性解決を終了しました。
エラー: パッケージ: php56u-5.6.4-1.ius.el6.i386 (/php56u-5.6.4-1.ius.el6.i386)
             要求: php56u-cli(x86-32) = 5.6.4-1.ius.el6 ←必要パッケージ。
エラー: パッケージ: php56u-5.6.4-1.ius.el6.i386 (/php56u-5.6.4-1.ius.el6.i386)
             要求: php56u-common(x86-32) = 5.6.4-1.ius.el6 ←必要パッケージ。
 問題を回避するために --skip-broken を用いることができません
 これらを試行できます: rpm -Va --nofiles --nodigest
 
 
[root@centos i386]# yum localinstall php56u-5.6.4-1.ius.el6.i386.rpm php56u-cli-5.6.4-1.ius.el6.i386.rpm php56u-common-5.6.4-1.ius.el6.i386.rpm
---省略---
php56u-cli-5.6.4-1.ius.el6.i386.rpm を調べています: php56u-cli-5.6.4-1.ius.el6.i386
php56u-cli-5.6.4-1.ius.el6.i386.rpm をインストール済みとして設定しています
php56u-common-5.6.4-1.ius.el6.i386.rpm を調べています: php56u-common-5.6.4-1.ius.el6.i386php56u-common-5.6.4-1.ius.el6.i386.rpm をインストール済みとして設定しています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package php56u.i386 0:5.6.4-1.ius.el6 will be インストール
---> Package php56u-cli.i386 0:5.6.4-1.ius.el6 will be インストール
---> Package php56u-common.i386 0:5.6.4-1.ius.el6 will be インストール
--> 依存性の処理をしています: php56u-pecl-jsonc(x86-32) のパッケージ: php56u-common-5.6.4-1.ius.el6.i386
--> 依存性解決を終了しました。
エラー: パッケージ: php56u-common-5.6.4-1.ius.el6.i386 (/php56u-common-5.6.4-1.ius.el6.i386)
             要求: php56u-pecl-jsonc(x86-32)
 問題を回避するために --skip-broken を用いることができません
 これらを試行できます: rpm -Va --nofiles --nodigest
 
 
[mockbuild@centos SOURCES]$ wget http://dl.iuscommunity.org/pub/ius/archive/CentOS/6/SRPMS/php56u-pecl-jsonc-1.3.6-3.ius.centos6.src.rpm


[mockbuild@centos SOURCES]$ rpmbuild --rebuild php56u-pecl-jsonc-1.3.6-3.ius.centos6.src.rpm 
php56u-pecl-jsonc-1.3.6-3.ius.centos6.src.rpm をインストール中です。
エラー: ビルド依存性の失敗:
        php56u-devel は php56u-pecl-jsonc-1.3.6-3.ius.el6.i386 に必要とされています
        php56u-pear は php56u-pecl-jsonc-1.3.6-3.ius.el6.i386 に必要とされています
        
        
[root@centos SOURCES]# wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/SRPMS/php56u-pear-1.9.5-1.ius.centos6.src.rpm

[mockbuild@centos SOURCES]$ rpmbuild --rebuild php56u-pear-1.9.5-1.ius.centos6.src.rpm 
php56u-pear-1.9.5-1.ius.centos6.src.rpm をインストール中です。
エラー: ビルド依存性の失敗:
        php56u-cli は php56u-pear-1:1.9.5-1.ius.el6.noarch に必要とされています
        php56u-xml は php56u-pear-1:1.9.5-1.ius.el6.noarch に必要とされています
        
        
[root@centos php56u]# yum localinstall php56u-cli-5.6.4-1.ius.el6.i386.rpm php56u-xml-5.6.4-1.ius.el6.i386.rpm
[root@centos php56u]# yum localinstall php56u-cli-5.6.4-1.ius.el6.i386.rpm php56u-xml-5.6.4-1.ius.el6.i386.rpm 
---省略---
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package php56u-cli.i386 0:5.6.4-1.ius.el6 will be インストール
--> 依存性の処理をしています: php56u-common(x86-32) = 5.6.4-1.ius.el6 のパッケージ: php56u-cli-5.6.4-1.ius.el6.i386
---> Package php56u-xml.i386 0:5.6.4-1.ius.el6 will be インストール
--> 依存性の処理をしています: php56u-common = 5.6.4-1.ius.el6 のパッケージ: php56u-xml-5.6.4-1.ius.el6.i386
--> 依存性解決を終了しました。
エラー: パッケージ: php56u-xml-5.6.4-1.ius.el6.i386 (/php56u-xml-5.6.4-1.ius.el6.i386)
             要求: php56u-common = 5.6.4-1.ius.el6
エラー: パッケージ: php56u-cli-5.6.4-1.ius.el6.i386 (/php56u-cli-5.6.4-1.ius.el6.i386)
             要求: php56u-common(x86-32) = 5.6.4-1.ius.el6
 問題を回避するために --skip-broken を用いることができません
 これらを試行できます: rpm -Va --nofiles --nodigest
 

[root@centos php56u]# rpm -Uvh --nodeps php56u-cli-5.6.4-1.ius.el6.i386.rpm php56u-xml-5.6.4-1.ius.el6.i386.rpm php56u-common-5.6.4-1.ius.el6.i386.rpm php56u-process-5.6.4-1.ius.el6.i386.rpm php56u-devel-5.6.4-1.ius.el6.i386.rpm 
準備中...                ########################################### [100%]
   1:php56u-common          ########################################### [ 20%]
   2:php56u-cli             ########################################### [ 40%]
   3:php56u-devel           ########################################### [ 60%]
   4:php56u-xml             ########################################### [ 80%]
   5:php56u-process         ########################################### [100%]
       
      
「rpmbuild」コマンドで作成した「RPMファイル」で「PHP5.6.4」をインストールします。
 サイトを見て回ると「rpm」コマンドでインストールしていることが多いように思いますが、「yum localinstall」コマンドでインストールしてみるもののエラーが発生しました。
要求: php56u-cli(x86-32) = 5.6.4-1.ius.el6
要求: php56u-common(x86-32) = 5.6.4-1.ius.el6
 これら要求されたパッケージを同時にインストールすれば良いのでは。
 しかしこれもエラー発生で
要求: php56u-pecl-jsonc(x86-32)
 を要求されたのですが、これはビルドしたファイル群には存在しません。
 どうしたらよいものかとインターネットを検索すると、これはダウンロードしてまたビルドするようですね。
 ということでアーカイブから
/home/mockbuild/rpmbuild/SOURCES
 にダウンロードし、「rpmbuild --rebuild」コマンドを実施します。が、
php56u-devel は php56u-pecl-jsonc-1.3.6-3.ius.el6.i386 に必要とされています
php56u-pear は php56u-pecl-jsonc-1.3.6-3.ius.el6.i386 に必要とされています
 ということで、「php56u-devel」「php56u-pear」をインストールしたいところですが後者がまたないので、SRPMをダウンロード、「rpmbuild --rebuild」コマンドを実施します。
 しかしまた
php56u-cli は php56u-pear-1:1.9.5-1.ius.el6.noarch に必要とされています
php56u-xml は php56u-pear-1:1.9.5-1.ius.el6.noarch に必要とされています
 ということなのですが、今回は「php56u-cli」「php56u-xml」もすでにありますのでまとめてインストールしてみます。
 しかしまたまたエラー発生です。というか
php56u-common → php56u-pecl-jsonc → php56u-pear → php56u-cli → php56u-common
 という形で依存関係が一周してしまいインストールが出来ません。調べてみるとこれらは依存関係を無視した形でインストールしてしまうようです。(yumの意味が……)
 結果としては、「rpm」コマンドで依存関係を無視する「--nodeps」オプションを付けてインストールします。

■ダウンロードしたソースパッケージをRPMファイルに。

       
[mockbuild@centos SOURCES]$ rpmbuild --rebuild --clean php56u-pear-1.9.5-1.ius.centos6.src.rpm

---省略---
書き込み完了: /home/mockbuild/rpmbuild/RPMS/noarch/php56u-pear-1.9.5-1.ius.el6.noarch.rpm
---省略---

[root@centos noarch]# yum localinstall php56u-pear-1.9.5-1.ius.el6.noarch.rpm
インストール:
---省略---
  php56u-pear.noarch 1:1.9.5-1.ius.el6                                                                    
完了しました!


[mockbuild@centos SOURCES]$ rpmbuild --rebuild --clean php56u-pecl-jsonc-1.3.6-3.ius.centos6.src.rpm

---省略---
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-pecl-jsonc-1.3.6-3.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-pecl-jsonc-devel-1.3.6-3.ius.el6.i386.rpm
---省略---

[root@centos i386]# yum localinstall php56u-pecl-jsonc-1.3.6-3.ius.el6.i386.rpm php56u-pecl-jsonc-devel-1.3.6-3.ius.el6.i386.rpm 

インストール:
  php56u-pecl-jsonc.i386 0:1.3.6-3.ius.el6         php56u-pecl-jsonc-devel.i386 0:1.3.6-3.ius.el6        
---省略---
完了しました!
       
      
 先にダウンロードしていた「php56u-pear」に「rpmbuild --rebuild」コマンドを実施します。
「/rpmbuild/RPMS/noarch」ディレクトリに出来るので注意します。
 そして「yum localinstall」でインストールします。
 同様に「php56u--pecl-jsonc」にも実施、インストールします。

■「PHP5.6.4」および必要なパッケージのインストール。

       
[root@centos php56u]# yum localinstall php56u-5.6.4-1.ius.el6.i386.rpm php56u-pdo-5.6.4-1.ius.el6.i386.rpm php56u-mysqlnd-5.6.4-1.ius.el6.i386.rpm

インストール:
  php56u.i386 0:5.6.4-1.ius.el6  php56u-mysqlnd.i386 0:5.6.4-1.ius.el6  php56u-pdo.i386 0:5.6.4-1.ius.el6 
完了しました!
       
      
「PHP5.6.4」と「MySQL(当方はMariaDBにしますが)」に接続するために必要だという「PDOモジュール」と「mysqlndモジュール」もインストールします。
 これでとりあえず「PHP」のインストールは終わったのかな?


SPECファイルからPHP5.6.4のRPMをビルドする。 [PHP]

SPECファイルからPHP5.6.4のRPMをビルドする。

■結論。

       
「SPECファイルの編集」
%{!?_httpd_apxs:       %{expand: %%global _httpd_apxs       %%{_sbindir}/apxs}} 修正前

%{!?_httpd_apxs:       %{expand: %%global _httpd_apxs       %%{_bindir}/apxs}} 修正後


[bibo-roku@centos ~]$ sudo yum install --enablerepo=epel bzip2-devel curl-devel pam-devel openssl-devel sqlite-devel zlib-devel libedit-devel pcre-devel libtool libtool-ltdl-devel systemtap-sdt-devel krb5-devel libc-client-devel postgresql-devel unixODBC-devel libxml2-devel firebird-devel net-snmp-devel libxslt-devel libxml2-devel t1lib-devel libjpeg-devel libpng-devel freetype-devel libXpm-devel libvpx-devel gmp-devel tokyocabinet-devel libmcrypt-devel libtidy-devel freetds-devel aspell-devel recode-devel libicu-devel enchant-devel
「rpmbuild」コマンドをインストールするときに。
---省略---

[bibo-roku@centos ~]$ sudo yum install --enablerepo=epel re2c bison
 初回の「rpmbuild -bb --clean php56u.spec」にエラー発生するときに。
---省略---

[root@centos ~]# yum list installed --enablerepo=epel apr-devel apr-util-devel
「No such file or directory at /usr/bin/apxs line 214.」および「apxs:Error: /usr/bin/apu-1-config not found!.」の対処に。
---省略---

[mockbuild@centos SPECS]$ rpmbuild -bb --clean php56u.spec
---省略---
       
      
「Wordpress」をインストールするため、「CentOS_6.6」に「yum(IUS)」経由で「apache 2.4.12」をインストールしてある仮想PCに、「PHP」をインストールします。
 最新版(5.6.8)を「yum」でインストールしたかったのですが、当方のスキルでは無理でしたので、「rpmbuild」コマンドにて「RPMファイル」をビルドすることにしました。
「apache 2.4.12」に対応する「PHP」のバージョンは「SPECファイル」を調べると、「5.5.20」および「5.6.4」であるように思います。
 ビルドするために非常に時間がかかり、長く、時には不要だった対処を記したこの下の記事は、次の失敗の役に立つかも知れないのでこのまま記載しておきます。

 しかし全部読むのが面倒な場合、直ぐに再現できるよう簡潔なこの記事を一番上に用意しておきます。
 当方の環境では上記の「SPECファイル」の編集と不足分のインストールでビルドが完了しました。
 経緯や少し詳細な情報は前日分の記事や、この下の記事を見れば解ります。

■SPECファイルを用いてRPMファイルをビルドする準備。

       
[mockbuild@centos 564]$ ls
php56u-5.6.4-1.ius.centos6.src.rpm  php56u.spec

[mockbuild@centos 564]$ rm php56u.spec ←「SPECファイル」を消去。

[mockbuild@centos 564]$ mv php56u-5.6.4-1.ius.centos6.src.rpm /home/mockbuild/rpmbuild/SOURCES/ ←ソースパッケージを移動。
       
[mockbuild@centos SOURCES]$ rpm2cpio php56u-5.6.4-1.ius.centos6.src.rpm | cpio -id ←ソースパッケージを展開。

[mockbuild@centos SOURCES]$ ls
macros.php                     php-5.4.7-odbctimer.patch  php-fpm.logrotate
opcache-default.blacklist      php-5.4.8-ldap_r.patch     php-fpm.service
opcache.ini                    php-5.4.9-fixheader.patch  php-fpm.sysconfig
php-5.2.0-includedir.patch     php-5.4.9-phpinfo.patch    php.conf
php-5.2.4-embed.patch          php-5.6.0-noNO.patch       php.ini
php-5.3.0-recode.patch         php-5.6.0-oldpcre.patch    php.modconf
php-5.3.1-systzdata-v10.patch  php-5.6.4-strip.tar.xz     php.ztsmodconf
php-5.4.0-dlopen.patch         php-fpm-www.conf           php56u-5.6.4-1.ius.centos6.src.rpm
php-5.4.0-phpize.patch         php-fpm.conf               php56u.spec
php-5.4.7-libdb.patch          php-fpm.init               strip.sh
       
[mockbuild@centos SOURCES]$ mv php56u.spec ../SPECS/ ←「SPECファイル」を移動。

[mockbuild@centos SPECS]$ vi php56u.spec ←「SPECファイル」を編集。
 %{!?_httpd_apxs:       %{expand: %%global _httpd_apxs       %%{_sbindir}/apxs}} ←{_sbindir}を{_bindir}に編集。

[mockbuild@centos SPECS]$ rpmbuild -bb --clean php56u.spec 
エラー: ビルド依存性の失敗:
        bzip2-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        curl-devel >= 7.9 は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        pam-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        openssl-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        sqlite-devel >= 3.6.0 は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        zlib-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        libedit-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        pcre-devel >= 6.6 は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        libtool >= 1.4.3 は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        libtool-ltdl-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        systemtap-sdt-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        krb5-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        libc-client-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        postgresql-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        unixODBC-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        libxml2-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        firebird-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        net-snmp-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        libxslt-devel >= 1.0.18-1 は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        libxml2-devel >= 2.4.14-1 は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        t1lib-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        libjpeg-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        libpng-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        freetype-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        libXpm-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        libvpx-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        gmp-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        tokyocabinet-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        libmcrypt-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        libtidy-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        freetds-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        aspell-devel >= 0.50.0 は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        recode-devel は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        libicu-devel >= 4.0 は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        enchant-devel >= 1.2.4 は php56u-5.6.4-1.ius.el6.i386 に必要とされています
        
[bibo-roku@centos ~]$ sudo yum install --enablerepo=epel bzip2-devel curl-devel pam-devel openssl-devel sqlite-devel zlib-devel libedit-devel pcre-devel libtool libtool-ltdl-devel systemtap-sdt-devel krb5-devel libc-client-devel postgresql-devel unixODBC-devel libxml2-devel firebird-devel net-snmp-devel libxslt-devel libxml2-devel t1lib-devel libjpeg-devel libpng-devel freetype-devel libXpm-devel libvpx-devel gmp-devel tokyocabinet-devel libmcrypt-devel libtidy-devel freetds-devel aspell-devel recode-devel libicu-devel enchant-devel

インストール:
aspell-devel.i686 12:0.60.6-12.el6
bzip2-devel.i686 0:1.0.5-7.el6_0
enchant-devel.i686 1:1.5.0-4.el6
firebird-devel.i686 0:2.5.4.26856.0-1.el6
freetds-devel.i686 0:0.91-2.el6
freetype-devel.i686 0:2.3.11-15.el6_6.1
gmp-devel.i686 0:4.3.1-7.el6_2.2
krb5-devel.i686 0:1.10.3-37.el6_6
libXpm-devel.i686 0:3.5.10-2.el6
libc-client-devel.i686 0:2007e-11.el6
libcurl-devel.i686 0:7.19.7-40.el6_6.4
libedit-devel.i686 0:2.11-4.20080712cvs.1.el6
libicu-devel.i686 0:4.2.1-9.1.el6_2
libjpeg-turbo-devel.i686 0:1.2.1-3.el6_5
libmcrypt-devel.i686 0:2.5.8-9.el6
libpng-devel.i686 2:1.2.49-1.el6_2
libtidy-devel.i686 0:0.99.0-19.20070615.1.el6
libtool.i686 0:2.2.6-15.5.el6
libtool-ltdl-devel.i686 0:2.2.6-15.5.el6
libvpx-devel.i686 0:1.3.0-5.el6_5
libxml2-devel.i686 0:2.7.6-17.el6_6.1
libxslt-devel.i686 0:1.1.26-2.el6_3.1
net-snmp-devel.i686 1:5.5-50.el6_6.1
openssl-devel.i686 0:1.0.1e-30.el6.8
pam-devel.i686 0:1.1.1-20.el6
pcre-devel.i686 0:7.8-6.el6
postgresql-devel.i686 0:8.4.20-2.el6_6
recode-devel.i686 0:3.6-28.1.el6
sqlite-devel.i686 0:3.6.20-1.el6
systemtap-sdt-devel.i686 0:2.5-5.el6
t1lib-devel.i686 0:5.1.2-6.el6_2.1
tokyocabinet-devel.i686 0:1.4.33-6.el6
unixODBC-devel.i686 0:2.2.14-14.el6
zlib-devel.i686 0:1.2.3-29.el6

依存性関連をインストールしました:
aspell.i686 12:0.60.6-12.el6
autoconf.noarch 0:2.63-5.1.el6
automake.noarch 0:1.11.1-4.el6
elfutils-devel.i686 0:0.158-3.2.el6
elfutils-libelf-devel.i686 0:0.158-3.2.el6
enchant.i686 1:1.5.0-4.el6
file-devel.i686 0:5.04-21.el6
firebird-libfbclient.i686 0:2.5.4.26856.0-1.el6
firebird-libfbembed.i686 0:2.5.4.26856.0-1.el6
freetds.i686 0:0.91-2.el6
glib2-devel.i686 0:2.28.8-4.el6
keyutils-libs-devel.i686 0:1.4-5.el6
libX11-devel.i686 0:1.6.0-2.2.el6
libXau-devel.i686 0:1.0.6-4.el6
libXpm.i686 0:3.5.10-2.el6
libc-client.i686 0:2007e-11.el6
libcom_err-devel.i686 0:1.41.12-21.el6
libgcrypt-devel.i686 0:1.4.5-11.el6_4
libgpg-error-devel.i686 0:1.7-4.el6
libicu.i686 0:4.2.1-9.1.el6_2
libidn-devel.i686 0:1.18-2.el6
libmcrypt.i686 0:2.5.8-9.el6
libselinux-devel.i686 0:2.0.94-5.8.el6
libsepol-devel.i686 0:2.0.41-4.el6
libtidy.i686 0:0.99.0-19.20070615.1.el6
libvpx.i686 0:1.3.0-5.el6_5
libxcb-devel.i686 0:1.9.1-2.el6
lm_sensors-devel.i686 0:3.1.1-17.el6
lm_sensors-libs.i686 0:3.1.1-17.el6
ncurses-devel.i686 0:5.7-3.20090208.el6
net-snmp-libs.i686 1:5.5-50.el6_6.1
popt-devel.i686 0:1.13-7.el6
postgresql.i686 0:8.4.20-2.el6_6
postgresql-libs.i686 0:8.4.20-2.el6_6
recode.i686 0:3.6-28.1.el6
rpm-devel.i686 0:4.8.0-38.el6_6
t1lib.i686 0:5.1.2-6.el6_2.1
tcp_wrappers-devel.i686 0:7.6-57.el6
tokyocabinet.i686 0:1.4.33-6.el6
unixODBC.i686 0:2.2.14-14.el6
xorg-x11-proto-devel.noarch 0:7.7-9.el6                                                
完了しました!
       
      
 前項目で取り出して置いた「SPECファイル」「php56u.spec」を消去します。
 ソースパッケージ「php56u-5.6.4-1.ius.centos6.src.rpm」を「SOURCES」ディレクトリに移動します。
 ソースパッケージを「rpm2cpio | cpio -id」コマンドにて展開します。
 現れた「SPECファイル」「php56u.spec」を「SPECS」ディレクトリに移動し、「vi」コマンドで編集します。
 {_sbindir}を{_bindir}にして保存します。
「rpmbuild」コマンドの「-bb」オプションにて「SPECファイル」から「RPMパッケージ」を作成します。エラーになります。
 要求されたパッケージ類を「mockbuild」ユーザーから「bibo-roku」ユーザーに戻り全てインストールします。

■SPECファイルを用いてにRPMをビルドする。失敗。エラーについて調べる。

       
[mockbuild@centos SPECS]$ rpmbuild -bb --clean php56u.spec
---省略---
+ ./configure --host=i686-redhat-linux-gnu --build=i686-redhat-linux-gnu --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --cache-file=../config.cache --with-libdir=lib --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --disable-debug --with-pic --disable-rpath --without-pear --with-exec-dir=/usr/bin --with-freetype-dir=/usr --with-png-dir=/usr --with-xpm-dir=/usr --with-vpx-dir=/usr --enable-gd-native-ttf --with-t1lib=/usr --without-gdbm --with-jpeg-dir=/usr --with-openssl --with-pcre-regex --with-zlib --with-layout=GNU --with-kerberos --with-libxml-dir=/usr --with-system-tzdata --with-mhash --enable-dtrace --with-apxs2=/usr/bin/apxs --libdir=/usr/lib/php --without-mysql --disable-pdo --without-gd --disable-dom --disable-dba --without-unixODBC --disable-opcache --disable-xmlreader --disable-xmlwriter --without-sqlite3 --disable-phar --disable-fileinfo --without-pspell --disable-wddx --without-curl --disable-posix --disable-xml --disable-simplexml --disable-exif --without-gettext --without-iconv --disable-ftp --without-bz2 --disable-ctype --disable-shmop --disable-sockets --disable-tokenizer --disable-sysvmsg --disable-sysvshm --disable-sysvsem

configure: WARNING: unrecognized options: --with-exec-dir ←確認。
configure: loading cache ../config.cache
checking for grep that handles long lines and -e... (cached) /bin/grep
checking for egrep... (cached) /bin/grep -E
checking for a sed that does not truncate output... (cached) /bin/sed
checking build system type... (cached) i686-redhat-linux-gnu
checking host system type... (cached) i686-redhat-linux-gnu
checking target system type... (cached) i686-redhat-linux-gnu
checking for i686-redhat-linux-gnu-cc... no
checking for i686-redhat-linux-gnu-gcc... no
checking for cc... (cached) cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... (cached) o
checking whether we are using the GNU C compiler... (cached) yes
checking whether cc accepts -g... (cached) yes
checking for cc option to accept ISO C89... (cached) none needed
checking how to run the C preprocessor... (cached) cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... (cached) yes
checking how to run the C preprocessor... cc -E
checking for ANSI C header files... (cached) yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for memory.h... (cached) yes
checking for strings.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for unistd.h... (cached) yes
checking for minix/config.h... (cached) no
checking whether it is safe to define __EXTENSIONS__... (cached) yes
checking whether ln -s works... yes
checking for system library directory... lib
checking whether to enable runpaths... no
checking if compiler supports -R... (cached) no
checking if compiler supports -Wl,-rpath,... (cached) yes
checking for gawk... (cached) gawk
checking for bison... no ←確認。
checking for byacc... no
checking for bison version... (cached) invalid ←確認。
configure: WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: none, min: 204, excluded: 3.0). ←確認。
checking for re2c... no ←確認。
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers. ←確認。
checking whether to enable computed goto gcc extension with re2c... no
checking whether to force non-PIC code in shared modules... no
checking whether /dev/urandom exists... yes
checking for pthreads_cflags... (cached) -pthread
checking for pthreads_lib... (cached) 

Configuring SAPI modules
checking for AOLserver support... no
checking for Apache 1.x module support via DSO through APXS... no
checking for Apache 1.x module support... no
checking whether to enable Apache charset compatibility option... no
checking for Apache 2.0 filter-module support via DSO through APXS... no
checking for Apache 2.0 handler-module support via DSO through APXS... 

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/bin/apxs follows:
cannot open /httpd/build/config_vars.mk: No such file or directory at /usr/bin/apxs line 214.
configure: error: Aborting
エラー: /var/tmp/rpm-tmp.Ul67CP の不正な終了ステータス (%build)


RPM ビルドエラー:
    /var/tmp/rpm-tmp.Ul67CP の不正な終了ステータス (%build)
       
      
 ビルドは失敗してしまいました。ログは長いので、切りの良さそうなところから見てみると、「WARNING:」の文字が3つ見えます。
「WARNING: unrecognized options: --with-exec-dir」
「 WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: none, min: 204, excluded: 3.0).」
「WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.」
 調べながら対処していきます。

■「--with-exec-dir」の対処。

       
[mockbuild@centos SPECS]$ vi php56u.spec ←「--with-exec-dir」を検索。
---抜粋---
    --with-exec-dir=%{_bindir} \
    
       
      
---追記---
 下記の対処は
[root@centos ~]# yum install --enablerepo=epel apr-devel apr-util-devel
 をインストールすることにより、発生はするがそのままビルドできましたので、不要な対処でした。
 ただ削除すれば警告も出なくなりました。
---追記終わり---

「WARNING: unrecognized options: --with-exec-dir」についての対処です。
 警告文の直ぐ上の「./configure」に「--」オプションが沢山ついているのですが、ここに「 --with-exec-dir=/usr/bin」とありますね。
 インターネットで検索してみると公式HPに記載がありました。
「 --with-exec-dir[=DIR]  セーフモード時には、このディレクトリにある実行ファイルのみ実行を許可します。 デフォルト値は /usr/local/php/bin です。 」
 また「警告 この機能は PHP 5.3.0 で 非推奨となり、 PHP 5.4.0 で削除されました。」とあります。
「5.6系」のインストールですから、このオプションを追加しなければ良いんでしょうかね。消去して保存します。

■「bison」と「re2c」の対処。

       
[bibo-roku@centos ~]$ sudo yum list installed | grep bison
[bibo-roku@centos ~]$ sudo yum list installed | grep bison*
[bibo-roku@centos ~]$ sudo yum list installed | grep *bison
[bibo-roku@centos ~]$ sudo yum provides bison
---省略---
bison-2.4.1-5.el6.i686 : A GNU general-purpose parser generator
リポジトリー        : base
一致          :

[bibo-roku@centos ~]$ sudo yum install bison
---省略---
インストール:
  bison.i686 0:2.4.1-5.el6                                                               
完了しました!

[bibo-roku@centos ~]$ sudo yum list installed | grep re2c
[bibo-roku@centos ~]$ sudo yum list installed | grep re2c*
libfprint.i686                       0.1.0-19.pre2.el6    @base
[bibo-roku@centos ~]$ sudo yum list installed | grep *re2c
[bibo-roku@centos ~]$ sudo yum provides --enablerepo=epel re2c
---省略---
re2c-0.13.5-1.el6.i686 : Tool for generating C-based recognizers from regular expressionsリポジトリー        : epel
一致          :

[bibo-roku@centos ~]$ sudo yum install --enablerepo=epel re2c
---省略---
インストール:
  re2c.i686 0:0.13.5-1.el6                                                               
完了しました!

[mockbuild@centos SPECS]$ rpmbuild -bb --clean php56u.spec
       
      
 上の項目で着目した警告文への対処が正しいか、必要なファイル(?)を確認インストールしてみます。
 まずは「bison」について調べてみます。コマンド「yum list installed」でインストールされているか確認するも返答無しなので、インストールしていないようです。
 インストールするためにコマンド「yum provides」を使用して確認すると、リポジトリID「base」で単体でインストールできるようです。
 次にインターネットで調べてみると「通常パッケージのbisonを使うとconfigure時に警告が表示されるためサポートされているbisonを一時的に使用します。」とありました。一時的にと言うのはインストール時だけを指すそうですが、PHPをインストールした後はアンインストールするのでしょうか。

 次に「re2c」についても同様の作業を実施します。
 インターネットの情報で「bison」と同じでした。
 全てのエラーを解決したわけでは無いのですが、とりあえず「インストール」という形で解決できるのでは無いかと思われるものだけを対処して、再度ビルドしてみてどの様な結果がでるか確認してみます。
 結果「WARNING」は消えました! が、エラーが残っています。

■残りのエラー。

       
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/bin/apxs follows:
cannot open /httpd/build/config_vars.mk: No such file or directory at /usr/bin/apxs line 214.
configure: error: Aborting
       
      
---追記---
 下記の対処は
[root@centos ~]# yum install --enablerepo=epel apr-devel apr-util-devel
 をインストールすることにより、発生しなくなりました。不要な対処でした。
---追記終わり---

 残ったエラーについて把握してみます。
 1「perl」がインストールされいない。
 2「apxs」が見つからない。パスが間違えているのでは無いか。
 3「apache」のビルドに「--enable-so」が行われていないのでは無いか。
 「/httpd/build/config_vars.mk」が開けない。

■残りのエラー「perl」の確認。

       
[bibo-roku@centos ~]$ sudo yum list installed perl ←インストールの確認。
---省略---
インストール済みパッケージ
perl.i686 4:5.10.1-136.el6_6.1 @updates


       
      
 1については、「perl」のインストールを確認してみました。インストール済みでした。

■残りのエラー「apxs」の確認。

       
[bibo-roku@centos ~]$ sudo yum provides --enablerepo=epel *bin/apxs
---省略---
httpd-devel-2.2.15-39.el6.centos.i686 : Development interfaces for the Apache HTTP server
リポジトリー        : base
一致          :
ファイル名    : /usr/sbin/apxs

httpd24u-devel-2.4.12-5.ius.centos6.i686 : Development interfaces for the Apache HTTP server
リポジトリー        : installed
一致          :
ファイル名    : /usr/bin/apxs ←場所確認。

[bibo-roku@centos ~]$ sudo yum list installed httpd24u-devel
---省略---
インストール済みパッケージ
httpd24u-devel.i686      2.4.12-5.ius.centos6     @ius

[mockbuild@centos SPECS]$ vi php56u.spec
---省略---
# Build Apache module, and the CLI SAPI, /usr/bin/php
pushd build-apache
build --with-apxs2=%{_httpd_apxs} \ ←編集しコメントアウト。
      --with-apxs2=/usr/bin \ ←編集後。
      --libdir=%{_libdir}/php \
      --without-mysql \
      --disable-pdo \
      ${without_shared}
---省略---
# Build a special thread-safe Apache SAPI
pushd build-zts
build --with-apxs2=%{_httpd_apxs} \  ←編集しコメントアウト。
      --with-apxs2=/usr/bin \ ←編集後。
      --includedir=%{_includedir}/php-zts \
      --libdir=%{_libdir}/php-zts \
      --enable-maintainer-zts \
      --with-config-file-scan-dir=%{_sysconfdir}/php-zts.d \
      --without-mysql \
      --disable-pdo \
      ${without_shared}


      --with-apxs2=/usr/bin \
      --with-apxs2filter=/usr/bin \ ←追記。


[bibo-roku@centos bin]$ sudo vi apxs
my $installbuilddir = $libdir . "/httpd/build"; ←編集。
my $installbuilddir = $libdir . "/usr/lib/httpd/build"; ←編集後。
       
      
 2については、「apxs」が見つからない。とのことなのですが、「/usr/bin」にありましたので、パスの設定が問題なのでは。
 ネットで調べてみますと「apxsが存在するのにエラーとなっている場合は直接パスを --with-apxs2=/usr/sbin のように指定します。」とのこと。二ヶ所修正しました。
 さらに「Apache2のバージョンによっては--with-apxs2とするとエラーが発生してしまい、--with-apxs2filterと変更するとうまく行くことがあります。」ともあり、これも試します。
 3については、「apache」のインストール時の設定だと思うので、インストール済みの今回はパスしておきます。
 次の「cannot open /httpd/build/config_vars.mk No such file or directory at /usr/bin/apxs line 214.」ですが、パスが「/usr/bin/apxs」と「sbin」ではありません。先の変更と実際のパスと合っています。
「cannot open /httpd/build/config_vars.mk」は読んだとおりですが、実際のパスは「/usr/lib/httpd/build/config_vars.mk」なので、修正をしてみます。

■「Cannot open /httpd/build/config_vars.mk No such file or directory at /usr/bin/apxs line 214.」の対処。

       
[mockbuild@centos bin]$ vi apxs 
---省略---
sub get_config_vars{
    my ($file, $rh_config) = @_;

    open IN, $file or die "cannot open $file: $!";
    while (){
        if (/^\s*(.*?)\s*=\s*(.*)$/){
            $rh_config->{$1} = $2;
        }
    }
    close IN;
}
---省略---

「$file」検索
sub get_config_vars{
my ($file, $rh_config) = @_;

---省略---
「get_config_vars」検索
get_config_vars("$installbuilddir/config_vars.mk",\%config_vars);


---省略---
「$installbuilddir」検索
 my $installbuilddir = $libdir . "/httpd/build";

---省略---
「$libdir」検索 
my $libdir = `pkg-config --variable=libdir apr-1`;

[root@centos ~]# yum provides apr-1.pc
---省略---
警告: yum のバージョン 3.0.x は、誤ってファイル名に対して一致するでしょう。
その振る舞いをするには「*/apr-1.pc」もしくは「*bin/apr-1.pc」が使用できます。
No Matches found

[root@centos ~]# yum provides */apr-1.pc
---省略---
apr-devel-1.3.9-5.el6_2.i686 : APR library development kit
リポジトリー        : base
一致          :
ファイル名    : /usr/lib/pkgconfig/apr-1.pc

[root@centos ~]# yum list installed | grep apr-devel
[root@centos ~]# yum list installed --enablerepo=epel apr-devel
---省略---
エラー: 表示するパッケージはありません

[root@centos ~]# yum install --enablerepo=epel apr-devel
インストール:
  apr-devel.i686 0:1.3.9-5.el6_2                                                                                                  
依存性関連をインストールしました:
  apr.i686 0:1.3.9-5.el6_2                                                                                                        
完了しました!

[root@centos ~]# find / -name apr-1.pc
/usr/lib/pkgconfig/apr-1.pc ←確認。
       
      
 まず開けないという「/httpd/build/config_vars.mk」を探してみると「/usr/lib/httpd/build/config_vars.mk」に存在しました。
 そもそも記述の仕方が相対パスみたいですが……。
 次に「No such file or directory at /usr/bin/apxs line 214.」と具体的な指摘があります。「apxs」を「vi」で開き214行目を確認します。
 さっぱりわからない内容ですが「cannot open」だけ確認できます。
 仕方ないので「変数」を検索しまくります。「$file」を検索すると210行目辺りに「get_config_vars」という解りやすい名前を発見しました。これを検索します。
 40行あたりに
「get_config_vars("$installbuilddir/config_vars.mk",\%config_vars);」  とありました。
「$installbuilddir」を検索すると
「 my $installbuilddir = $libdir . "/httpd/build";」
「$libdir」検索 を検索すると
「my $libdir = `pkg-config --variable=libdir apr-1`;」
「apr-1」インターネットで検索すると、「/usr/lib64/pkgconfig に apr-1 な設定ファイルが存在しないため、設定が読めず。」とありました。
 当方は64ビットマシンではありませんが、「apr-1.pc」とやらが必要らしいので、まずはOS内を検索しますがヒットしませんでした。 「yum provides」で調べますと「apr-devel-1.3.9-5.el6_2.i686」に含まれるようなのでインストールします。

■新たなエラーの確認。と対処。

       
[mockbuild@centos SPECS]$ rpmbuild -bb --clean php56u.spec

The output of /usr/bin/apxs follows:
-02 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwide-tables
apxs:Error: /usr/bin/apu-1-config not found!.
configure: error: Aborting
エラー: /var/tmp/rpm-tmp.yvQV6w の不正な終了ステータス (%build)


RPM ビルドエラー:
    /var/tmp/rpm-tmp.yvQV6w の不正な終了ステータス (%build)
    
    
[root@centos ~]# find / -name "apu*"
/usr/include/apr15u-1/apu_version.h
/usr/include/apr15u-1/apu_want.h
/usr/include/apr15u-1/apu.h
/usr/include/apr15u-1/apu_errno.h
/usr/bin/apu15u-1-config ←非常に似ているファイル。

[root@centos bin]# ls
apr-1-config
apr15u-1-config
apu15u-1-config
apxs

[root@centos bin]# yum provides */apu-1-config
---省略---
apr-util-devel-1.3.9-3.el6_0.1.i686 : APR utility library development kit
リポジトリー        : base
一致          :
ファイル名    : /usr/bin/apu-1-config

[root@centos bin]# yum install apr-util-devel
---省略---
インストール:
  apr-util-devel.i686 0:1.3.9-3.el6_0.1                                                                   
依存性関連をインストールしました:
  apr-util.i686 0:1.3.9-3.el6_0.1                                                                         
完了しました!

[mockbuild@centos SPECS]$ rpmbuild -bb --clean php56u.spec
       
      
 各対処を終えたので、再び「SPECファイル」から「RPMファイル」をビルドします。
 再度エラー発生。「apxs:Error: /usr/bin/apu-1-config not found!.」これが解りやすそうなのでファイルをCentOS内で検索してみます。
 非常に似ている名前のファイルを発見。ファイル名を変更して良いものなのか……。 「ls」コマンドでファイルを見ているとやはり追加でインストールすれば良いのでしょうか。
 インストールして再度ビルドします。

■「SPECファイル」から「RPMファイル」をビルドする。

       
[mockbuild@centos SPECS]$ rpmbuild -bb --clean php56u.spec
伸張ファイルの検査中: /usr/lib/rpm/check-files /home/mockbuild/rpmbuild/BUILDROOT/php56u-5.6.4-1.ius.el6.i386
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-cli-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-dbg-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-fpm-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-common-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-devel-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-opcache-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-imap-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-ldap-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-pdo-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-mysqlnd-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-pgsql-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-process-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-odbc-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-soap-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-interbase-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-snmp-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-xml-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-xmlrpc-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-mbstring-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-gd-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-bcmath-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-gmp-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-dba-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-mcrypt-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-tidy-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-mssql-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-embedded-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-pspell-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-recode-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-intl-5.6.4-1.ius.el6.i386.rpm
書き込み完了: /home/mockbuild/rpmbuild/RPMS/i386/php56u-enchant-5.6.4-1.ius.el6.i386.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.PCM81O
+ umask 022
+ cd /home/mockbuild/rpmbuild/BUILD
+ cd php-5.6.4
+ /bin/rm -rf /home/mockbuild/rpmbuild/BUILDROOT/php56u-5.6.4-1.ius.el6.i386
+ exit 0
実行中(--clean): /bin/sh -e /var/tmp/rpm-tmp.dnMOep
+ umask 022
+ cd /home/mockbuild/rpmbuild/BUILD
+ rm -rf php-5.6.4
+ exit 0
       
      
 今までのようなエラーは発生しませんでした!
 ただ省略しましたが、「Conflicts: php-enchant < 5.6」やらが沢山あったのでそれが悪いことなのかよくわかりません。
 また、これまでのエラーに対処した方法が全て正しいのかも調べなくてはと思っています。
 基本的にはエラーの原因はビルドに必要な物がインストールされていないことが原因であったことが多いような気がします。
 なので、修正した「SPECファイル」等をデフォルトに戻してからもう一度リビルドしてみようかと思います。(えらく時間がかかりますが……。)


「rpm-build」コマンドと「SPECファイル」の確認 [サーバ立ち上げ準備]

「rpm-build」コマンドと「SPECファイル」の確認

■アーカイブファイルを用いてRPMファイルをビルドする。失敗。

       
[bibo-roku@centos Downloads]$ su - mockbuild ←「rpmbuild」コマンド専用に。
パスワード:
[mockbuild@centos ~]$ mkdir download ←任意で作業用にディレクトリ作成。
[mockbuild@centos ~]$ ls
download

[mockbuild@centos download]$ ls
php-5.6.8.tar.bz2 ←「tar.bz2」でダウンロードした。

[mockbuild@centos download]$ rpmbuild -tb php-5.6.8.tar.bz2 
エラー: php-5.6.8.tar.bz2 から spec ファイルの読み込みに失敗しました。
       
      
 ビルドするために専用ユーザ「mockbuild」になり、ダウンロードしたファイルを格納するディレクトリ「download」を作成しました。
 PHP5.6系の最新版は「5.6.8」とのことですので、ダウンロードします。
 当方は「startx」コマンドを実施し「FireFox」からダウンロードしました。
「rpmbuild」コマンド、オプション「-tb」(アーカイブファイルを用いてRPMファイルをビルドする)でビルドしたのですが、「SPEC」ファイルがない模様。
 ファイルを作成したりはハードルが高いので、次の方法に移行します……。

■SRPMを用いてにRPMをビルドする。失敗。追加インストール。

       
[mockbuild@centos download]$ wget http://dl.iuscommunity.org/pub/ius/archive/CentOS/6/SRPMS/php56u-5.6.7-1.ius.centos6.src.rpm

[mockbuild@centos download]$ rpmbuild --rebuild --clean php56u-5.6.7-1.ius.centos6.src.rpm 
php56u-5.6.7-1.ius.centos6.src.rpm をインストール中です。
エラー: ビルド依存性の失敗:
        bzip2-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        curl-devel >= 7.9 は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        pam-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        httpd-devel < 2.4 は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        openssl-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        sqlite-devel >= 3.6.0 は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        zlib-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        libedit-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        pcre-devel >= 6.6 は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        libtool >= 1.4.3 は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        libtool-ltdl-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        systemtap-sdt-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        libacl-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        krb5-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        libc-client-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        postgresql-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        unixODBC-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        libxml2-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        firebird-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        net-snmp-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        libxslt-devel >= 1.0.18-1 は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        libxml2-devel >= 2.4.14-1 は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        t1lib-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        libjpeg-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        libpng-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        freetype-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        libXpm-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        libvpx-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        gmp-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        tokyocabinet-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        libmcrypt-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        libtidy-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        freetds-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        aspell-devel >= 0.50.0 は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        recode-devel は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        libicu-devel >= 4.0 は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        enchant-devel >= 1.2.4 は php56u-5.6.7-1.ius.el6.i386 に必要とされています
        
[mockbuild@centos download]$ sudo yum list installed httpd24u-devel
---省略---
インストール済みパッケージ
httpd24u-devel.i686    2.4.12-5.ius.centos6    @ius

[bibo-roku@centos Downloads]$ sudo yum install --enablerepo=epel bzip2-devel curl-devel pam-devel httpd-devel openssl-devel sqlite-devel zlib-devel libedit-devel pcre-devel libtool libtool-ltdl-devel systemtap-sdt-devel libacl-devel krb5-devel libc-client-devel postgresql-devel unixODBC-devel libxml2-devel firebird-devel net-snmp-devel libxslt-devel libxml2-devel t1lib-devel libjpeg-devel libpng-devel freetype-devel libXpm-devel libvpx-devel gmp-devel tokyocabinet-devel libmcrypt-devel libtidy-devel freetds-devel aspell-devel recode-devel libicu-devel enchant-devel
--> 衝突を処理しています: httpd24u-2.4.12-5.ius.centos6.i686 は httpd < 2.4.12 と衝突しています
--> 衝突を処理しています: httpd24u-devel-2.4.12-5.ius.centos6.i686 は httpd-devel < 2.4.12 と衝突しています
--> 衝突を処理しています: httpd24u-tools-2.4.12-5.ius.centos6.i686 は httpd-tools < 2.4.12 と衝突しています
--> 依存性解決を終了しました。
エラー: httpd24u-devel conflicts with httpd-devel-2.2.15-39.el6.centos.i686
エラー: httpd24u conflicts with httpd-2.2.15-39.el6.centos.i686
エラー: httpd24u-tools conflicts with httpd-tools-2.2.15-39.el6.centos.i686
       
      
「ソースパッケージ」からのインストールに変更してみます。
「IUS」リポジトリにはアーカイブがあるのでそこから「5.6.7」をダウンロードしました。
 今度は「rpmbuild」コマンド、オプション「--rebuild」(SRPMを元にRPMを作成する) 、「--clean」(パッケージが作成された後にビルドツリーを削除する)を実施すると、多数の必要パッケージを提示されてしまいました。
 その中に「httpd-devel < 2.4 は php56u-5.6.7-1.ius.el6.i386 に必要とされています」という警告があります。これはつまり、すでにインストールしている「apache 2.4.12」がバージョン高すぎだと言っているようです。これもだめということでしょう。

■「apache 2.4.12」に対応している「PHP」のバージョンを探す。

       
[mockbuild@centos ~]$ ls
download  rpmbuild ←作成されていた。

[mockbuild@centos rpmbuild]$ ls
BUILD  BUILDROOT  RPMS  SOURCES  SPECS  SRPMS ←確認してみた。
[mockbuild@centos SOURCES]$ ls
macros.php                     php-5.4.0-dlopen.patch     php-5.6.0-noNO.patch     php-fpm.service
opcache-default.blacklist      php-5.4.0-phpize.patch     php-5.6.0-oldpcre.patch  php-fpm.sysconfig
opcache.ini                    php-5.4.7-libdb.patch      php-5.6.7-strip.tar.xz   php.conf
php-5.2.0-includedir.patch     php-5.4.7-odbctimer.patch  php-fpm-www.conf         php.ini
php-5.2.4-embed.patch          php-5.4.8-ldap_r.patch     php-fpm.conf             php.modconf
php-5.3.0-recode.patch         php-5.4.9-fixheader.patch  php-fpm.init             php.ztsmodconf
php-5.3.1-systzdata-v10.patch  php-5.4.9-phpinfo.patch    php-fpm.logrotate        strip.sh

[mockbuild@centos SPECS]$ ls
php56u.spec ←「SPECファイル」

[mockbuild@centos SPECS]$ less php56.spec
%global base_ver 5.6
%global real_name php
%global ius_suffix 56u
%global phpfpm_user php-fpm
%global phpfpm_group %{phpfpm_user}
%global phpfpm_home %{_localstatedir}/lib/php-fpm

%if 0%{?rhel} >= 7
%global with_systemd 1
%global _macrosdir %{_rpmconfigdir}/macros.d
%global _rundir /run
%else
%global with_systemd 0
%global _macrosdir %{_sysconfdir}/rpm
%global _rundir %{_localstatedir}/run
%endif

# API/ABI check
%global apiver      20131106
%global zendver     20131226
%global pdover      20080721
# Extension version
%global opcachever  7.0.4-dev

# Use for first build of PHP (before pecl/zip and pecl/jsonc)
%global php_bootstrap   0

# Adds -z now to the linker flags
%global _hardened_build 1

# version used for php embedded library soname
%global embed_version 5.6

%global mysql_sock %(mysql_config --socket 2>/dev/null || echo /var/lib/mysql/mysql.sock)
# Regression tests take a long time, you can skip 'em with this
%if %{php_bootstrap}
%global runselftest 0
%else
%{!?runselftest: %global runselftest 1}
%endif

# Use the arch-specific mysql_config binary to avoid mismatch with the
# arch detection heuristic used by bindir/mysql_config.
%global mysql_config %{_libdir}/mysql/mysql_config

# Build ZTS extension or only NTS
%global with_zts      1

%if 0%{?__isa_bits:1}
%global isasuffix -%{__isa_bits}
%else
%global isasuffix %nil
%endif

# /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_mmn:        %{expand: %%global _httpd_mmn        %%(cat %{_includedir}/httpd/.mmn 2>/dev/null || echo 0-0)}}
%{!?_httpd_confdir:    %{expand: %%global _httpd_confdir    %%{_sysconfdir}/httpd/conf.d}}
# /etc/httpd/conf.d with httpd < 2.4 and defined as /etc/httpd/conf.modules.d with httpd >= 2.4
%{!?_httpd_modconfdir: %{expand: %%global _httpd_modconfdir %%{_sysconfdir}/httpd/conf.d}}
%{!?_httpd_moddir:     %{expand: %%global _httpd_moddir     %%{_libdir}/httpd/modules}}
%{!?_httpd_contentdir: %{expand: %%global _httpd_contentdir /var/www}}

%global with_dtrace 1

%global with_litespeed 1

# build with system libgd
%if 0%{?fedora} < 20
%global  with_libgd 0
%else
%global  with_libgd 1
%endif

%global with_zip     1
%global with_libzip  0

%if 0%{?fedora} < 18 && 0%{?rhel} < 7
%global db_devel  db4-devel
%else
%global db_devel  libdb-devel
%endif

Summary: PHP scripting language for creating dynamic web sites
Name: %{real_name}%{?ius_suffix}
Version: 5.6.7
Release: 1.ius%{?dist}
# All files licensed under PHP version 3.01, except
# Zend is licensed under Zend
# TSRM is licensed under BSD
License: PHP and Zend and BSD
Group: Development/Languages
URL: http://www.php.net/

# Need to download official tarball and strip non-free stuff
# wget http://www.php.net/distributions/php-%{version}.tar.xz
# ./strip.sh %{version}
Source0: php-%{version}-strip.tar.xz
Source1: php.conf
Source2: php.ini
Source3: macros.php
Source4: php-fpm.conf
Source5: php-fpm-www.conf
Source6: php-fpm.service
Source7: php-fpm.logrotate
Source8: php-fpm.sysconfig
Source9: php.modconf
Source10: php.ztsmodconf
Source11: strip.sh
Source12: php-fpm.init

# Configuration files for some extensions
Source50: opcache.ini
Source51: opcache-default.blacklist

# Build fixes
Patch5: php-5.2.0-includedir.patch
Patch6: php-5.2.4-embed.patch
Patch7: php-5.3.0-recode.patch
Patch8: php-5.4.7-libdb.patch

# Fixes for extension modules
# https://bugs.php.net/63171 no odbc call during timeout
Patch21: php-5.4.7-odbctimer.patch

# Functional changes
Patch40: php-5.4.0-dlopen.patch
Patch42: php-5.3.1-systzdata-v10.patch
# See http://bugs.php.net/53436
Patch43: php-5.4.0-phpize.patch
# Use -lldap_r for OpenLDAP
Patch45: php-5.4.8-ldap_r.patch
# Make php_config.h constant across builds
Patch46: php-5.4.9-fixheader.patch
# drop "Configure command" from phpinfo output
Patch47: php-5.4.9-phpinfo.patch

# Upstream fixes (100+)

# https://bugs.php.net/bug.php?id=68423
#Patch101: php-5.6.3-load-all-pools.patch

# https://bugs.php.net/bug.php?id=68421
#Patch102: php-5.6.3-access.format.patch

# https://bugs.php.net/bug.php?id=68420
#Patch103: php-5.6.3-listen-localhost.patch

# Security fixes (200+)

# Fixes for tests (300+)
# Revert changes for pcre < 8.34
Patch301: php-5.6.0-oldpcre.patch
# see https://bugzilla.redhat.com/971416
Patch302: php-5.6.0-noNO.patch


BuildRequires: bzip2-devel, curl-devel >= 7.9
BuildRequires: pam-devel
%if 0%{?rhel} < 7
BuildRequires: httpd-devel < 2.4
%else
BuildRequires: httpd-devel
%endif
BuildRequires: libstdc++-devel, openssl-devel
BuildRequires: sqlite-devel >= 3.6.0
BuildRequires: zlib-devel, smtpdaemon, libedit-devel
BuildRequires: pcre-devel >= 6.6
BuildRequires: bzip2, perl, libtool >= 1.4.3, gcc-c++
BuildRequires: libtool-ltdl-devel
%if %{with_libzip}
BuildRequires: libzip-devel >= 0.11
%endif
%if %{with_dtrace}
BuildRequires: systemtap-sdt-devel
%endif
---省略---
       
      
「mockbuild」ユーザーで「rpmbuild」コマンドをしようしたら、ホームディレクトリ内に「rpmbuild」ディレクトリが作成されていました。
 前項目でSPECファイルが無いと警告されたときに作られたのかも知れません。
 中にもディレクトリが複数作成されており、中を確認してみると「SOURCES」に多数のファイルと「SPECS」に「php56u.spec」なるファイルを確認しました。
 見てもさっぱりわかりませんが、以下関係ありそうな文章を発見しました。
# /usr/sbin/apsx with httpd < 2.4 and defined as /usr/bin/apxs with httpd >= 2.4

「apache」が2.4より低いバージョンなら「/usr/sbin/apsx」
「apache」が2.4以上のバージョンなら「/usr/bin/apsx」
ということでしょうか。

# /etc/httpd/conf.d with httpd < 2.4 and defined as /etc/httpd/conf.modules.d with httpd >= 2.4

「apache」が2.4より低いバージョンなら「/etc/httpd/conf.d」
「apache」が2.4以上のバージョンなら「/etc/httpd/conf.modules.d」
ということでしょうか。

%if 0%{?rhel} < 7
BuildRequires: httpd-devel < 2.4
%else
BuildRequires: httpd-devel
%endif

 うーん。「rhel」とは「Redhat」のことですかね?
 バージョンはCentOSと同じだと聞いたことがありますが、とするとOSのバージョンが7より低いバージョンなら「httpd-develは2.4より低いバージョンを」そうでなければ「httpd-develのバージョンに指定なし」つまり、「CentOS6.6」の場合「httpd-devel」は2.4より低いバージョンということになりますかね。

 うーーん。「httpd」について、2.4以上についても説明がある以上この「PHP5.6系」は「apache 2.4.12」で動くのではないのかなぁ……。あ、でも「CentOS7」の場合の説明なのかな。わからない。
 もう少しバージョン違いのSPECファイルの確認をしてみることにします。

■複数バージョンのSPECファイル確認。

       
[mockbuild@centos download]$ ls
5520  5521  5522  5523  564  565  566-1  566-2  567

[mockbuild@centos 567]$ rpm2cpio php56u-5.6.7-1.ius.centos6.src.rpm | cpio -idv php56u.spec
23021 blocks
       
      
 PHP「5.5系」「5.6系」の新しいバージョンから遡っていくつかのソースパッケージを作成したディレクトリにダウンロードしました。
 それらのソースパッケージから「rpm2cpioとcpio」コマンドを使用して「SPECファイル」を取り出してそれぞれ確認してみました。
バージョン SPECファイル内容抜粋 可能/不可能
5.6.7 %if 0%{?rhel} < 7
BuildRequires: httpd-devel < 2.4
不可能
5.6.6-2 %if 0%{?rhel} < 7
BuildRequires: httpd-devel < 2.4
不可能
5.6.6-1 %if 0%{?rhel} < 7
BuildRequires: httpd-devel < 2.4
不可能
5.6.5 %if 0%{?rhel} < 7
BuildRequires: httpd-devel < 2.4
不可能
5.6.4 BuildRequires: httpd-devel >= 2.0.46-1
BuildRequires: httpd
可能
5.5.23 %if 0%{?rhel} < 7
BuildRequires: httpd-devel < 2.4
不可能
5.5.22 %if 0%{?rhel} < 7
BuildRequires: httpd-devel < 2.4
不可能
5.5.21 %if 0%{?rhel} < 7
BuildRequires: httpd-devel < 2.4
不可能
5.5.20 BuildRequires: httpd-devel >= 2.0.46-1 可能
「BuildReqires」とはRPMをビルドする上でインストールされている必要があるRPMを指定するとのこと。
 バージョン「5.6.4」と「5.5.20」は「httpd-devel >= 2.0.46-1」とあります。これなら条件として「apache 2.4.12」も満たしているということでしょうか。
 ということで、より新しい「PHP5.6.4」ソースパッケージをビルドしてみようと思います。


「rpm-build」コマンドをインストール。 [linuxコマンド]

「rpm-build」コマンドをインストール。

■「yum」にて「PHP5.6」のインストール。失敗。

       
[bibo-roku@centos ~]$ sudo yum install --disablerepo=base,extras,updates --enablerepo=remi-php56 php
[sudo] password for bibo-roku: 
読み込んだプラグイン:changelog, fastestmirror, priorities, refresh-packagekit
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
 * remi-php56: remi.kazukioishi.net
adobe-linux-i386                                                                                           |  951 B     00:00     依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package php.i686 0:5.6.8-1.el6.remi will be インストール
--> 依存性の処理をしています: php-common(x86-32) = 5.6.8-1.el6.remi のパッケージ: php-5.6.8-1.el6.remi.i686
--> 依存性の処理をしています: php-cli(x86-32) = 5.6.8-1.el6.remi のパッケージ: php-5.6.8-1.el6.remi.i686
--> 依存性の処理をしています: httpd-mmn = 20051115 のパッケージ: php-5.6.8-1.el6.remi.i686
--> トランザクションの確認を実行しています。
---> Package php.i686 0:5.6.8-1.el6.remi will be インストール
--> 依存性の処理をしています: httpd-mmn = 20051115 のパッケージ: php-5.6.8-1.el6.remi.i686
---> Package php-cli.i686 0:5.6.8-1.el6.remi will be インストール
---> Package php-common.i686 0:5.6.8-1.el6.remi will be インストール
--> 依存性の処理をしています: php-pecl-zip(x86-32) のパッケージ: php-common-5.6.8-1.el6.remi.i686
--> 依存性の処理をしています: php-pecl-jsonc(x86-32) のパッケージ: php-common-5.6.8-1.el6.remi.i686
--> トランザクションの確認を実行しています。
---> Package php.i686 0:5.6.8-1.el6.remi will be インストール
--> 依存性の処理をしています: httpd-mmn = 20051115 のパッケージ: php-5.6.8-1.el6.remi.i686
---> Package php-pecl-jsonc.i686 0:1.3.7-1.el6.remi.5.6 will be インストール
---> Package php-pecl-zip.i686 0:1.12.5-1.el6.remi.5.6 will be インストール
--> 依存性解決を終了しました。
エラー: パッケージ: php-5.6.8-1.el6.remi.i686 (remi-php56)
             要求: httpd-mmn = 20051115
            インストール: httpd24u-2.4.12-5.ius.centos6.i686 (@ius)
                httpd-mmn = 20120211
                httpd-mmn = 20120211x8632
                httpd-mmn = 20120211-x86-32
 問題を回避するために --skip-broken を用いることができません
 これらを試行できます: rpm -Va --nofiles --nodigest
       
      
「apache 2.4.12」のインストールが完了したので、同様に「yum」を使用してやはり同様に最新のPHPをリポジトリID「remi-php56」にてインストールしようとしましたが、インストール作業が中断されてしまいました。
 調べてみますと「httpd-mmn」はapacheのソースコードに定義されている、互換性に関する定数とのこと。
 当方の場合、インストール済みの「apache 2.4.12」は「httpd-mmn = 20120211」でPHPが要求しているのが「httpd-mmn = 20051115」で異なるためインストールできないと言うことのようです。
 では「20051115」はapacheのバージョンいくつなのか調べてみると
 2.2.0 - 20051115:0
 2.2.2 - 20051115:2
 2.2.3 - 20051115:3
 2.2.4 - 20051115:4
 2.2.6 - 20051115:5
 2.2.8 - 20051115:11
 2.2.9 - 20051115:15
 2.2.10 - 20051115:18
 2.2.11 - 20051115:21
 ということで、2.2系のapacheを使用する必要があるようです……。
 これでは最新版をインストールした意味が無くなってしまいますねぇ。
 引き続き調べてみると、「CentOS_6」「apache 2.4系」「PHP5系」のインストールを説明されているサイトが沢山あります。
 ただ、やはり全て「yum」でインストールしているわけではないようですね。
 仕方ありませんので、「apache 2.4.12」を無駄にしないために「PHP」の新しめのバージョンをビルドしてインストールに挑戦してみることにします。

■「rmpbuild」コマンドのインストール。

       
[bibo-roku@centos ~]$ sudo yum install rpm-build
インストール:
  rpm-build.i686 0:4.8.0-38.el6_6

依存性関連をインストールしました:
  elfutils.i686 0:0.158-3.2.el6
 elfutils-libs.i686 0:0.158-3.2.el6
  gdb.i686 0:7.2-75.el6
 patch.i686 0:2.6-6.el6
  unzip.i686 0:6.0-2.el6_6
 xz.i686 0:4.999.9-0.5.beta.20091007git.el6
  xz-lzma-compat.i686 0:4.999.9-0.5.beta.20091007git.el6

依存性を更新しました:
 rpm.i686 0:4.8.0-38.el6_6
 rpm-libs.i686 0:4.8.0-38.el6_6
 rpm-python.i686 0:4.8.0-38.el6_6

完了しました!
       
      
 普通ビルドを行うのに「root」は使用せず、専用のユーザーを作成しそれをビルドするときに使用するのだそうです。
こちらの記事」を振り返り作成します。


apache2.4.12のファイル配置。 [Apache]

apache2.4.12のファイル配置。

■「yum」でインストールしたapache2.4.12のファイル配置。

files_location.png  ざっと書き出してみたのですが、書籍やサイトで紹介されているファイル配置が異なる気がするんですが……。
 コンフィグも1000行位あると書かれていますがそんなにありません。コンフィグを分割してあちこちに配置しているような印象を受けます。
「yum」でインストールしたから?
 とりあえず出来るところまで進めてみようと思います。


apache2.4.12の起動確認。 [Apache]

apache2.4.12の起動確認。

■「apache」の状態確認。

       
[bibo-roku@centos ~]$ service httpd status
httpd status unknown due to insufficient privileges.

[bibo-roku@centos ~]$ sudo service httpd status ←「sudo」が必要。
[sudo] password for bibo-roku: 
httpd は停止しています
       
      
以下
http://westbird.blog.so-net.ne.jp/2015-04-23-1
にて「apache2.4.12」のインストールが完了したので、これが起動しているか「service」コマンドで確認したところ、初めは「sudo」が無いため権限が不足と言われてしまいました。
 修正後の結果は「停止」とのことなので起動してみます。

■「apache」を起動。

       
[bibo-roku@centos ~]$ chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

[bibo-roku@centos ~]$ sudo /etc/init.d/httpd start
httpd を起動中:                                            [  OK  ]
       
      
 前項目でhttpdが「停止」だったので、サービスの確認「chkconfig --list httpd」を実施すると、ランレベル3(フルマルチユーザモード(テキストコンソール))と5(フルマルチユーザモード(グラフィカル環境))で「on」なので問題はなさそうです。
「# chkconfig サービス名 on[off]」で設定可能。
「sudo /etc/init.d/httpd start」コマンドで起動させることが出来ました。
 以下アドレスに、ホストOS(Windows8.1)のブラウザ、ゲストOS(CentOS)の「X-Window」の「FireFox」いずれからもアクセス不可。
URL:
 http://192.168.0.66/ ←66がホストアドレス。
 http://centos/ ←「ホスト名の変更」にて設定。
 http://www/ ←「ホスト名の変更」にて設定。
 次にホストOSからゲストOSに「ping」を打って確認。
 C:\Users\xxxxx>ping 192.168.0.66
 双方向からのPINGに問題なし。

■「iptables」の編集。

       
[bibo-roku@centos ~]$ sudo vi /etc/sysconfig/iptables

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT ←追記。
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

[bibo-roku@centos ~]$ sudo /etc/init.d/iptables restart
iptables: チェインをポリシー ACCEPT へ設定中filter         [  OK  ]

iptables: ファイアウォールルールを消去中:                  [  OK  ]

iptables: モジュールを取り外し中:                          [  OK  ]

iptables: ファイアウォールルールを適用中:                  [  OK  ]

 全てのアドレスで「It works!」確認。
       
      
 ホームページが表示されないので、ウェブ検索すると「iptables」なるコマンドがあることがわかりました。
 これはルータで言うところの「フィルター」の役目をするファイルのようです。
「-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT」
 が確認できました。
 書式はさっぱりわかりませんが「22」がSSHのポート番号であることはピンときました。
 なので、丸ごとコピーしてポートをウェブ用の「80」に変更して追記しました。
「sudo /etc/init.d/iptables restart」で再起動させることにより、全てのURLで確認が取れました!


最新のApache 2.4.12-5 を yum でインストールする。 [Apache]


■リポジトリの一時的「有効」と「無効」。

       
[bibo-roku@centos ~]$ sudo yum install --disablerepo=base,extras,updates --enablerepo=ius httpd ←リポジトリ「IUS」を一時的に有効にする。

エラー: パッケージ: httpd24u-2.4.12-5.ius.centos6.i686 (ius)
             要求: /etc/mime.types ←「mime.types」をインストールする必要あり。
       
      
 最新の「apache」を提供しているリポジトリは「CentALT」という情報を見かけたのですが、「FireFox」で訪れてみると警告が発せられたのでパスしました。
 リポジトリ「IUS」で最新のパッケージを確認したのでこれを利用することにしました。
 が、現在
 http://westbird.blog.so-net.ne.jp/2015-04-20
 で設定したとおり、デフォルトで利用できるリポジトリはID「base」「extras」「updates」だけです。
 そしてこれらは今回不要なので、「yum」のオプション「--disablerepo=base,extras,updates」とし無効化します。
 次に必要なリポジトリ「IUS」を「--enablerepo=ius」で有効化します。これでインストールを実施します。  するとエラーが発生したので下記でこれに対処します。

■必要なファイルを「yum provides」コマンドで検索する。

       
エラー: パッケージ: httpd24u-2.4.12-5.ius.centos6.i686 (ius)
             要求: /etc/mime.types ←「mime.types」をインストールする必要あり。

[bibo-roku@centos ~]$ sudo yum provides /etc/mime.types ←含まれるパッケージを検索。
---省略---
base                                                     | 3.7 kB     00:00
mailcap-2.1.31-2.el6.noarch : Helper application and MIME type associations for
                            : file types
リポジトリー        : base
一致          :
ファイル名    : /etc/mime.types

[bibo-roku@centos ~]$ sudo yum install mailcap
---省略---
インストール:
  mailcap.noarch 0:2.1.31-2.el6

完了しました!
       
      
 CentOS6.6がminimalインストールなので、インストールするために必要な依存関係のあるパッケージが不足している状態です。
 ゆえに、今後も何かインストールするたびに要求されることと思いますが、そのパッケージが名前の通りのものであれば楽ですが、何かのパッケージ内にしか存在しない場合などもあるようで、その場合にパッケージを検索するのに「yum」のオプション「provides」が使えます。
 今回は「mailcap」をインストールすることで「mime.types」もインストールされました。

■最新の「apache 2.4.12-5」を「yum」でインストールする。

       
[bibo-roku@centos ~]$ sudo yum install --disablerepo=base,extras,updates --enablerepo=ius httpd ←先ほど失敗したので再度インストール。

インストール:
  httpd24u.i686 0:2.4.12-5.ius.centos6

依存性関連をインストールしました:
  apr15u.i686 0:1.5.1-3.ius.centos6
  apr15u-util.i686 0:1.5.4-3.ius.centos6
  httpd24u-filesystem.noarch 0:2.4.12-5.ius.centos6
  httpd24u-tools.i686 0:2.4.12-5.ius.centos6

完了しました!
       
      
 ここでは実際にインストールした順で記載しているのでエラーもそのまま書き記しておりますが、「httpd(apache)」をインストールする前に「mailcap」をインストールして置いても良いと思います。

■「httpd-devel」をインストールする。

       
[bibo-roku@centos ~]$ sudo yum install --disablerepo=base,extras,updates --enablerepo=ius httpd-devel

エラー: パッケージ: apr15u-util-devel-1.5.4-3.ius.centos6.i686 (ius)
             要求: expat-devel(x86-32) ←含まれているパッケージを調べる。
エラー: パッケージ: apr15u-util-devel-1.5.4-3.ius.centos6.i686 (ius)
             要求: openldap-devel(x86-32) ←含まれているパッケージを調べる。
エラー: パッケージ: apr15u-util-devel-1.5.4-3.ius.centos6.i686 (ius)
             要求: db4-devel(x86-32) ←含まれているパッケージを調べる。

[bibo-roku@centos ~]$ sudo yum provides expat-devel
---省略---
expat-devel-2.0.1-11.el6_2.i686 : Libraries and header files to develop

[bibo-roku@centos ~]$ sudo yum provides openldap-devel
---省略---
openldap-devel-2.4.39-8.el6.i686 : LDAP development libraries and header files

[bibo-roku@centos ~]$ sudo yum provides db4-devel
---省略---
db4-devel-4.7.25-18.el6_4.i686 : C development files for the Berkeley DB

[bibo-roku@centos ~]$ sudo yum install expat-devel openldap-devel db4-devel ←必要と言われたファイルをまとめてインストール。
---省略---
インストール:
  db4-devel.i686 0:4.7.25-18.el6_4        expat-devel.i686 0:2.0.1-11.el6_2
  openldap-devel.i686 0:2.4.39-8.el6

依存性関連をインストールしました:
  cyrus-sasl-devel.i686 0:2.1.23-15.el6_6.2    db4-cxx.i686 0:4.7.25-18.el6_4

依存性を更新しました:
  cyrus-sasl.i686 0:2.1.23-15.el6_6.2  cyrus-sasl-lib.i686 0:2.1.23-15.el6_6.2

完了しました!

[bibo-roku@centos ~]$ sudo yum install --disablerepo=base,extras,updates --enablerepo=ius httpd-devel ←再度インストール。
---省略---
インストール:
  httpd24u-devel.i686 0:2.4.12-5.ius.centos6

依存性関連をインストールしました:
  apr15u-devel.i686 0:1.5.1-3.ius.centos6
  apr15u-util-devel.i686 0:1.5.4-3.ius.centos6

完了しました!
       
      
 前項目と同様、依存関係で必要な物をインストールしてあげます。

■最新の「httpd-manual」をインストールする。

       
[bibo-roku@centos ~]$ sudo yum --disablerep=base,update,extra --enablerepo=ius install httpd-manual
---省略---
インストール:
  httpd24u-manual.noarch 0:2.4.12-5.ius.centos6

完了しました!
       
      
 マニュアル関係のファイルなのでしょうかね。

WordPressをインストールするために [CentOS]

WordPressをインストールするために  CentOS_6.6に各種サーバをインストールすることを目標にしているのですが、じゃぁどんなサーバをインストールするのかと考えるとやっぱりHTTPサーバが基本かなと思いました。(DNSが良いと言われたのですが)
 そしてブログなどをと思ったら、「WordPress」なるものの存在を知りました。
 調べてみると「WordPressとは、ブログを作成するためのアプリケーション(=ソフトの一種)です。」とあります。
 最新版のインストール条件は


 ・スクリプト言語としてPHP(バージョン 5.2.4 以上)
 ・データベースとしてMySQL(MySQL バージョン 5.0 以上)
 ・PHPとMySQLが利用可能なWebサーバ

 とのこと。ふーむ。「apache」は「PHP」も「MySQL」利用できるそうですから、これが良さそうですね。
 さらに調べると「PHP」は「5.6系」まであるようですが「最新版」を選択しようと思います。
「MySQL」は調べてみると今後「MariaDB」に移行していくかも知れないということで、「5.0系」と「10.0系」が存在するようですが後者の「最新版」を選択しようと思います。
 気に掛かるのは「10.0系」でも「MySQL」5.0以上と判断されるか否かです。
「apache」は「2.2系」と「2.4系」が存在するようですが後者の「最新版」を選択しようと思います。
 今更ですが、当方はど素人なので、「yum」を使用しないとバージョンアップ等の管理が難しいと思っています。
 しかし反面、セキュリティや機能については最新版が推奨されていることが多いと思いますが、その最新版は「yum」では提供されていないことも多いとのこと。
「yum」と「最新版」のどちらを優先するか当方にはちょっと判断がつきません。
 なので基本的には「yum」で進めて「yum」でインストールできない物は「rpm」か「ソースコード」からコンパイルしてみようかと思います。


[最新]Apache HTTP Server 2.4.12(リリース日:2015/01/29)
[最新]PHP 5.6.7(リリース日:2015/03/19)
[最新] MariaDB 10.0.13(リリース日:2014/08/11)
[最新] WordPress 4.1.2(リリース日:2015/04/22)とのこと。

 まずはじめはどれからインストールすべきなのか考えたのですが、各パッケージについてサイトを調べておりますと「PHP」に関して、Web サイトや Web アプリケーション (サーバーサイドのスクリプト)として利用する場合に必要なのは


・PHP本体
・Webサーバ(apache)
・Webブラウザ

 とありましたので「apache」→「PHP」→「MariaDB」→「WordPress」の順にインストールしてみます。


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。