2015年1月30日金曜日

CentOS6.5でapache 2.4.12のrpm化&インストール

WordPressを構築してみるために、最新のapache 2.4.12をインストールする。rpmがないので、rpm作成から試してみる。
※rpm作成環境の構築はこちら ソースコードを入手し、さくっとrpmを作成してみる。
$ mkdir  ~/rpmbuild/SOURCES/httpd-2.4.12-1.src
$ cd ~/rpmbuild/SOURCES/httpd-2.4.12-1.src
$ wget http://ftp.riken.jp/net/apache//httpd/httpd-2.4.12.tar.bz2
$ rpmbuild --clean -tb ~/rpmbuild/SOURCES/httpd-2.4.12-1.src/httpd-2.4.12.tar.bz2

error: Failed build dependencies:
        zlib-devel is needed by httpd-2.4.12-1.x86_64
        libselinux-devel is needed by httpd-2.4.12-1.x86_64
        libuuid-devel is needed by httpd-2.4.12-1.x86_64
        apr-devel >= 1.4.0 is needed by httpd-2.4.12-1.x86_64
        apr-util-devel >= 1.4.0 is needed by httpd-2.4.12-1.x86_64
        pcre-devel >= 5.0 is needed by httpd-2.4.12-1.x86_64
        openldap-devel is needed by httpd-2.4.12-1.x86_64
        lua-devel is needed by httpd-2.4.12-1.x86_64
        libxml2-devel is needed by httpd-2.4.12-1.x86_64
        distcache-devel is needed by httpd-2.4.12-1.x86_64
        openssl-devel is needed by httpd-2.4.12-1.x86_64
まぁ、足りませんね。ということで、確認してみます。
$ sudo yum install zlib-devel libselinux-devel libuuid-devel apr-devel apr-util-devel pcre-devel openldap-devel lua-devel libxml2-devel distcache-devel openssl-devel

Dependencies Resolved

========================================================================================================================
 Package                            Arch                  Version                          Repository              Size
========================================================================================================================
Installing:
 apr-devel                          x86_64                1.3.9-5.el6_2                    base                   176 k
 apr-util-devel                     x86_64                1.3.9-3.el6_0.1                  base                    69 k
 libselinux-devel                   x86_64                2.0.94-5.8.el6                   base                   137 k
 libuuid-devel                      x86_64                2.17.2-12.18.el6                 base                    85 k
 libxml2-devel                      x86_64                2.7.6-17.el6_6.1                 updates                1.1 M
 lua-devel                          x86_64                5.1.4-4.1.el6                    base                    20 k
 openldap-devel                     x86_64                2.4.39-8.el6                     base                   1.1 M
 openssl-devel                      x86_64                1.0.1e-30.el6_6.5                updates                1.2 M
 pcre-devel                         x86_64                7.8-6.el6                        base                   318 k
 zlib-devel                         x86_64                1.2.3-29.el6                     base                    44 k
Installing for dependencies:
 cyrus-sasl-devel                   x86_64                2.1.23-15.el6_6.1                updates                303 k
 db4-cxx                            x86_64                4.7.25-18.el6_4                  base                   588 k
 db4-devel                          x86_64                4.7.25-18.el6_4                  base                   6.6 M
 expat-devel                        x86_64                2.0.1-11.el6_2                   base                   120 k
 keyutils-libs-devel                x86_64                1.4-5.el6                        base                    29 k
 krb5-devel                         x86_64                1.10.3-33.el6                    base                   498 k
 libcom_err-devel                   x86_64                1.41.12-21.el6                   base                    32 k
 libsepol-devel                     x86_64                2.0.41-4.el6                     base                    64 k
Updating for dependencies:
 cyrus-sasl                         x86_64                2.1.23-15.el6_6.1                updates                 78 k
 cyrus-sasl-lib                     x86_64                2.1.23-15.el6_6.1                updates                136 k
 e2fsprogs                          x86_64                1.41.12-21.el6                   base                   553 k
 e2fsprogs-libs                     x86_64                1.41.12-21.el6                   base                   121 k
 keyutils                           x86_64                1.4-5.el6                        base                    39 k
 keyutils-libs                      x86_64                1.4-5.el6                        base                    20 k
 krb5-libs                          x86_64                1.10.3-33.el6                    base                   765 k
 libblkid                           x86_64                2.17.2-12.18.el6                 base                   116 k
 libcom_err                         x86_64                1.41.12-21.el6                   base                    37 k
 libselinux                         x86_64                2.0.94-5.8.el6                   base                   108 k
 libselinux-utils                   x86_64                2.0.94-5.8.el6                   base                    82 k
 libss                              x86_64                1.41.12-21.el6                   base                    41 k
 libuuid                            x86_64                2.17.2-12.18.el6                 base                    69 k
 libxml2                            x86_64                2.7.6-17.el6_6.1                 updates                801 k
 openldap                           x86_64                2.4.39-8.el6                     base                   280 k
 openssl                            x86_64                1.0.1e-30.el6_6.5                updates                1.5 M
 util-linux-ng                      x86_64                2.17.2-12.18.el6                 base                   1.6 M

Transaction Summary
========================================================================================================================
Install      18 Package(s)
Upgrade      17 Package(s)
・
・
apr-develapr-util-develについては、レポジトリ上のものが古いみたい。 ということで、こちらもソースからrpm化をして、インストールしてみる。 入手先はこちら
$ cd ~/rpmbuild/SOURCES/
$ wget http://ftp.jaist.ac.jp/pub/apache//apr/apr-1.5.1.tar.bz2
$ wget http://ftp.jaist.ac.jp/pub/apache//apr/apr-util-1.5.4.tar.bz2

$ rpmbuild --clean -tb ~/rpmbuild/SOURCES/apr-1.5.1.tar.bz2

error: Failed build dependencies:
        doxygen is needed by apr-1.5.1-1.x86_64

$ sudo yum install doxygen -y

$ rpmbuild --clean -tb ~/rpmbuild/SOURCES/apr-1.5.1.tar.bz2
 ・
 ・
 ・
$ ll ../RPMS/x86_64/

total 1320
-rw-rw-r-- 1 hayashi hayashi  93308 Jan 30 14:34 apr-1.5.1-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi 416372 Jan 30 14:34 apr-debuginfo-1.5.1-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi 839308 Jan 30 14:34 apr-devel-1.5.1-1.x86_64.rpm

出来上がり!つぎに進む。
$ rpmbuild --clean -tb ~/rpmbuild/SOURCES/apr-util-1.5.4.tar.bz2

error: Failed build dependencies:
        apr-devel >= 1.4.0 is needed by apr-util-1.5.4-1.x86_64
        expat-devel is needed by apr-util-1.5.4-1.x86_64
        libuuid-devel is needed by apr-util-1.5.4-1.x86_64
        db4-devel is needed by apr-util-1.5.4-1.x86_64
        postgresql-devel is needed by apr-util-1.5.4-1.x86_64
        mysql-devel is needed by apr-util-1.5.4-1.x86_64
        sqlite-devel >= 3.0.0 is needed by apr-util-1.5.4-1.x86_64
        freetds-devel is needed by apr-util-1.5.4-1.x86_64
        unixODBC-devel is needed by apr-util-1.5.4-1.x86_64
        openldap-devel is needed by apr-util-1.5.4-1.x86_64
        openssl-devel is needed by apr-util-1.5.4-1.x86_64
        nss-devel is needed by apr-util-1.5.4-1.x86_64
とりあえず、apr-develは先ほどのやつをインストール。
$ sudo rpm -ivh ../RPMS/x86_64/apr-1.5.1-1.x86_64.rpm ../RPMS/x86_64/apr-devel-1.5.1-1.x86_64.rpm

        file /usr/lib64/libapr-1.so.0 from install of apr-1.5.1-1.x86_64 conflicts with file from package apr-1.3.9-5.el6_2.x86_64

失敗・・気を取り直して、、
$ sudo rpm -Uvh ../RPMS/x86_64/apr-1.5.1-1.x86_64.rpm ../RPMS/x86_64/apr-devel-1.5.1-1.x86_64.rpm

成功。それ以外をチェック
$ sudo yum install expat-devel libuuid-devel db4-devel postgresql-devel mysql-devel sqlite-devel freetds-devel unixODBC-devel openldap-devel openssl-devel nss-devel

Dependencies Resolved

========================================================================================================================
 Package                               Arch                Version                           Repository            Size
========================================================================================================================
Installing:
 db4-devel                             x86_64              4.7.25-18.el6_4                   base                 6.6 M
 expat-devel                           x86_64              2.0.1-11.el6_2                    base                 120 k
 freetds-devel                         x86_64              0.91-2.el6                        epel                  39 k
 libuuid-devel                         x86_64              2.17.2-12.18.el6                  base                  85 k
 mysql-devel                           x86_64              5.1.73-3.el6_5                    base                 129 k
 nss-devel                             x86_64              3.16.2.3-3.el6_6                  updates              198 k
 openldap-devel                        x86_64              2.4.39-8.el6                      base                 1.1 M
 openssl-devel                         x86_64              1.0.1e-30.el6_6.5                 updates              1.2 M
 postgresql-devel                      x86_64              8.4.20-1.el6_5                    base                 815 k
 sqlite-devel                          x86_64              3.6.20-1.el6                      base                  81 k
 unixODBC-devel                        x86_64              2.2.14-14.el6                     base                  53 k
Installing for dependencies:
 cyrus-sasl-devel                      x86_64              2.1.23-15.el6_6.1                 updates              303 k
 db4-cxx                               x86_64              4.7.25-18.el6_4                   base                 588 k
 freetds                               x86_64              0.91-2.el6                        epel                 568 k
 keyutils-libs-devel                   x86_64              1.4-5.el6                         base                  29 k
 krb5-devel                            x86_64              1.10.3-33.el6                     base                 498 k
 libcom_err-devel                      x86_64              1.41.12-21.el6                    base                  32 k
 libselinux-devel                      x86_64              2.0.94-5.8.el6                    base                 137 k
 libsepol-devel                        x86_64              2.0.41-4.el6                      base                  64 k
 libtool-ltdl                          x86_64              2.2.6-15.5.el6                    base                  44 k
 mysql                                 x86_64              5.1.73-3.el6_5                    base                 894 k
 nspr-devel                            x86_64              4.10.6-1.el6_5                    base                 111 k
 nss-softokn-devel                     x86_64              3.14.3-22.el6_6                   updates               14 k
 nss-softokn-freebl-devel              x86_64              3.14.3-22.el6_6                   updates              139 k
 nss-util-devel                        x86_64              3.16.2.3-2.el6_6                  updates               68 k
 postgresql                            x86_64              8.4.20-1.el6_5                    base                 2.6 M
 postgresql-libs                       x86_64              8.4.20-1.el6_5                    base                 201 k
 unixODBC                              x86_64              2.2.14-14.el6                     base                 378 k
Updating for dependencies:
 cyrus-sasl                            x86_64              2.1.23-15.el6_6.1                 updates               78 k
 cyrus-sasl-lib                        x86_64              2.1.23-15.el6_6.1                 updates              136 k
 e2fsprogs                             x86_64              1.41.12-21.el6                    base                 553 k
 e2fsprogs-libs                        x86_64              1.41.12-21.el6                    base                 121 k
 keyutils                              x86_64              1.4-5.el6                         base                  39 k
 keyutils-libs                         x86_64              1.4-5.el6                         base                  20 k
 krb5-libs                             x86_64              1.10.3-33.el6                     base                 765 k
 libblkid                              x86_64              2.17.2-12.18.el6                  base                 116 k
 libcom_err                            x86_64              1.41.12-21.el6                    base                  37 k
 libselinux                            x86_64              2.0.94-5.8.el6                    base                 108 k
 libselinux-utils                      x86_64              2.0.94-5.8.el6                    base                  82 k
 libss                                 x86_64              1.41.12-21.el6                    base                  41 k
 libuuid                               x86_64              2.17.2-12.18.el6                  base                  69 k
 mysql-libs                            x86_64              5.1.73-3.el6_5                    base                 1.2 M
 nspr                                  x86_64              4.10.6-1.el6_5                    base                 113 k
 nss                                   x86_64              3.16.2.3-3.el6_6                  updates              834 k
 nss-softokn                           x86_64              3.14.3-22.el6_6                   updates              262 k
 nss-softokn-freebl                    x86_64              3.14.3-22.el6_6                   updates              167 k
 nss-sysinit                           x86_64              3.16.2.3-3.el6_6                  updates               44 k
 nss-tools                             x86_64              3.16.2.3-3.el6_6                  updates              427 k
 nss-util                              x86_64              3.16.2.3-2.el6_6                  updates               66 k
 openldap                              x86_64              2.4.39-8.el6                      base                 280 k
 openssl                               x86_64              1.0.1e-30.el6_6.5                 updates              1.5 M
 util-linux-ng                         x86_64              2.17.2-12.18.el6                  base                 1.6 M

Transaction Summary
========================================================================================================================
Install      28 Package(s)
Upgrade      24 Package(s)

Total download size: 25 M
Is this ok [y/N]: y
・
・
・

$ rpmbuild -tb ~/rpmbuild/SOURCES/apr-util-1.5.4.tar.bz2

$ ll ../RPMS/x86_64/
total 2428
-rw-rw-r-- 1 hayashi hayashi  93308 Jan 30 14:34 apr-1.5.1-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi 416372 Jan 30 14:34 apr-debuginfo-1.5.1-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi 839308 Jan 30 14:34 apr-devel-1.5.1-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi  77904 Jan 30 14:56 apr-util-1.5.4-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi   7100 Jan 30 14:56 apr-util-dbm-1.5.4-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi 433820 Jan 30 14:56 apr-util-debuginfo-1.5.4-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi 489180 Jan 30 14:56 apr-util-devel-1.5.4-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi  12184 Jan 30 14:56 apr-util-freetds-1.5.4-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi   9032 Jan 30 14:56 apr-util-ldap-1.5.4-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi  14872 Jan 30 14:56 apr-util-mysql-1.5.4-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi  11052 Jan 30 14:56 apr-util-nss-1.5.4-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi  20600 Jan 30 14:56 apr-util-odbc-1.5.4-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi  10328 Jan 30 14:56 apr-util-openssl-1.5.4-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi  14816 Jan 30 14:56 apr-util-pgsql-1.5.4-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi  11376 Jan 30 14:56 apr-util-sqlite-1.5.4-1.x86_64.rpm
出来上がり!ということで、必要なものをインストールして、再度apacheにチャレンジ。
$ sudo rpm -Uvh ../RPMS/x86_64/apr-util-1.5.4-1.x86_64.rpm ../RPMS/x86_64/apr-util-devel-1.5.4-1.x86_64.rpm
$ sudo yum install zlib-devel libselinux-devel libuuid-devel pcre-devel openldap-devel lua-devel libxml2-devel distcache-devel openssl-devel
・
・
No package distcache-devel available.
・
・
よく見たらdistcache-develがレポジトリにないらしい。
$ cd ~/rpmbuild/SOURCES/
$ wget http://ftp.riken.jp/Linux/fedora/releases/18/Everything/source/SRPMS/d/distcache-1.4.5-23.src.rpm
$ rpmbuild --clean --rebuild ~/rpmbuild/SOURCES/distcache-1.4.5-23.src.rpm
$ ll ~/rpmbuild/RPMS/x86_64/distcache-*

・
・
rw-rw-r-- 1 hayashi hayashi 114528 Jan 30 15:51 distcache-1.4.5-23.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi 197836 Jan 30 15:51 distcache-debuginfo-1.4.5-23.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi  59216 Jan 30 15:51 distcache-devel-1.4.5-23.x86_64.rpm

$ sudo rpm -ivh ~/rpmbuild/RPMS/x86_64/distcache-1.4.5-23.x86_64.rpm ~/rpmbuild/RPMS/x86_64/distcache-devel-1.4.5-23.x86_64.rpm

$ rpmbuild --clean -tb ~/rpmbuild/SOURCES/httpd-2.4.12-1.src/httpd-2.4.12.tar.bz2

$ ll ~/rpmbuild/RPMS/x86_64/

・
・
-rw-rw-r-- 1 hayashi hayashi 1165260 Jan 30 15:57 httpd-2.4.12-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi 3448912 Jan 30 15:57 httpd-debuginfo-2.4.12-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi  188052 Jan 30 15:57 httpd-devel-2.4.12-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi 3320124 Jan 30 15:57 httpd-manual-2.4.12-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi   69988 Jan 30 15:57 httpd-tools-2.4.12-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi   44376 Jan 30 15:57 mod_authnz_ldap-2.4.12-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi   43448 Jan 30 15:57 mod_lua-2.4.12-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi   22308 Jan 30 15:57 mod_proxy_html-2.4.12-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi    5648 Jan 30 15:57 mod_socache_dc-2.4.12-1.x86_64.rpm
-rw-rw-r-- 1 hayashi hayashi   81724 Jan 30 15:57 mod_ssl-2.4.12-1.x86_64.rpm

ようやくできました!でインストールをしてみます。
$ rpm -ivh  ~/rpmbuild/RPMS/x86_64/httpd-2.4.12-1.x86_64.rpm

error: Failed dependencies:
        /etc/mime.types is needed by httpd-2.4.12-1.x86_64
まだあったか・・
$ yum provides /etc/mime.types

Loaded plugins: fastestmirror, versionlock
Determining fastest mirrors
 * base: www.ftp.ne.jp
 * epel: ftp.kddilabs.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
mailcap-2.1.31-2.el6.noarch : Helper application and MIME type associations for file types
Repo        : base
Matched from:
Filename    : /etc/mime.types

$ sudo yum install mailcap

$ rpm -ivh  ~/rpmbuild/RPMS/x86_64/httpd-2.4.12-1.x86_64.rpm

できました!最後にwordpressでphpということもあり、以下の対応をする。
MPMの変更
phpの場合は、2.4から標準のeventや、workerだと挙動が不安定になる(threadsafeではない)ため、preworkで変更 ⇒2.4からはmod_proxy_fcgiを使うことでeventでも問題ない?(ここ
#LoadModule mpm_event_module lib64/httpd/modules/mod_mpm_event.so
LoadModule mpm_prefork_module lib64/httpd/modules/mod_mpm_prefork.so
$ sudo service httpd start
$ /usr/sbin/apachectl -V

Server version: Apache/2.4.12 (Unix)
Server built:   Jan 30 2015 15:55:16
Server's Module Magic Number: 20120211:41
Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
Compiled using: APR 1.5.1, APR-UTIL 1.5.4
Architecture:   64-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/usr"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="/var/run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/etc/httpd/conf/mime.types"
 -D SERVER_CONFIG_FILE="/etc/httpd/conf/httpd.conf"
お~。次はphp。

2015年1月18日日曜日

Windows8.1でSentToに表示

不便です。Windows8では以前簡単にできていたSendToのフォルダへのアプリケーションの追加が、簡単にできなくなった。 で登録の仕方です。 Windows8.1でエクスプローラーの「送る」に追加したい場合は、  C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\SendTo にショートカットを作ればよい。簡単に開くには「ファイル名を指定して実行」から」に「shell:sendto」と入力でいける。

2015年1月6日火曜日

modsecurityのIISプラグインがあるという話

Apacheで使うことがあるModSecurityがIISのExtensinoで提供されている。 今度試してみよう。 http://blogs.technet.com/b/srd/archive/2012/07/26/announcing-the-availability-of-modsecurity-extension-for-iis.aspx http://sourceforge.net/projects/mod-security/