[[フリーソフト/apache-2.2.12+PHP-5.3.0(Solaris10)]]

RIGHT:[[フリーソフトウェアのコンパイル]]
#contents
----
*環境 [#jecbd1c4]
-Solaris 10 10/09
-OS 付属 gcc

 PATH=/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/local/bin:/usr/ccs/bin:.
 LD_LIBRARY_PATH=/opt/local/lib:/usr/local/lib:/usr/sfw/lib
 LD_RUN_PATH={LD_LIBRARY_PATH}
 export PATH
 export LD_LIBRARY_PATH
 export LD_RUN_PATH

*Apache 2.2.16 [#oc949411]
バージョンは
-httpd-2.2.16

**Cryptographic Framework [#jcc065b3]
また,Cryptographic Framework については,
Sun Bingadmin
 http://www.sun.com/bigadmin/motd/042006.html
から crypto framework で検索して出てくる文書
「The Solaris Cryptographic Framework」(pdf)を参照.

あと,こちら.
[[Sun/Solaris10/Cryptgraphic Framework]]

/usr/sfw/lib/libcrypto.so や /usr/sfw/lib/libssl.so を
リンクに使う.

**コンパイル/インストール [#nff498e8]
 $ CFLAGS='-DSSL_ENGINE' \
 > ./configure --prefix=/opt/apache --enable-so \
 > --enable-mods-shared="all proxy" \
 > --enable-ssl --with-mpm=prefork --with-z=/usr \
 > --enable-rule=SSL_EXPERIMENTAL \
 > --with-ssl=/usr/sfw \
 > --enable-authnz-ldap --with-ldap --enable-ldap
 $ make
 # make install


**ssl.conf [#c84f60ab]
Apache のssl.conf 内で
 SSLCryptoDevice pkcs11
という行を加えておく.
(ただし,T5120-apache 2.2.16 の組み合わせでこれを有効にすると,
CGI がうまく実行できないという現象に遭遇した.
原因不明) 

あと,SSLCipherSuite の設定を次のようにするべし.
 SSLCipherSuite ALL:!ADH:!EXPORT56:-AES256-SHA:-DHE-RSA-AES256-SHA:
 -DHE-DSS-AES256-SHA:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
 (実際は 1行)

また,Solaris10 8/07 ぐらい以降,
もしくはこの時期以降のパッチをあてた Solaris10 では,
openssl が入れ替わっているせいか,
ssl.conf 内の
 <VirtualHost _default_:443>
の行を
 <VirtualHost *:443>
としないと core dump する.
(記述が厳しくなったってことか)

**SMF [#v692d1d6]
既にOS標準の apache が SMF で管理されているので,これを修正する.

 # cp -p /var/svc/manifest/network/http-apache2.xml \
         /var/svc/manifest/network/http-apache22.xml
 # vi /var/svc/manifest/network/http-apache22.xml
 インスタンス名を apache2 から apache22 へ変更する
 また,method も /lib/svc/method/http-apache2 から
 /lib/svc/method/http-apache22 に変更する.
 # svccfg import /var/svc/manifest/network/http-apache22.xml
 # cp -p /lib/svc/method/http-apache2 /lib/svc/method/http-apache22
 # vi /http-apache2.patch
 ---
 --- /lib/svc/method/http-apache2.OSORG	Sat Jan  8 17:51:58 2005
 +++ /lib/svc/method/http-apache2	Fri Jul 29 18:22:03 2005
 @@ -8,9 +8,9 @@
 
 . /lib/svc/share/smf_include.sh
 
 -APACHE_HOME=/usr/apache2
 -CONF_FILE=/etc/apache2/httpd.conf
 -PIDFILE=/var/run/apache2/httpd.pid
 +APACHE_HOME=/usr/local/apache2
 +CONF_FILE=/usr/local/apache2/conf/httpd.conf
 +PIDFILE=/usr/local/apache2/logs/httpd.pid
 
 [ ! -f ${CONF_FILE} ] &&  exit $SMF_EXIT_ERR_CONFIG
  
 @@ -17,10 +17,11 @@
 case "$1" in
 start)
 	/bin/rm -f ${PIDFILE}
 !#       ssl=`svcprop -p httpd/ssl svc:/network/http:apache22`
 !#       if [ "$ssl" = false ]; then
 !#               cmd="start"
 !#       else
 !#               cmd="start"
 !#       fi
 +       cmd="start"
 
 ---

なお,apache 2.2 からは startssl オプションは無くなった

//---------------------------------------------------------
*PHP に必要なもろもろ [#afb0993d]
**UW-IMAP 2007e の c-client のヘッダとライブラリ(アップデート時は必要なし) [#p48a6009]
PHP 5.2.0 以降は UW-IMAP 2006 以降が必要らしい.
 % cd imap-2007e
 % vi src/osdep/unix/Makefile
で
 SSLDIR=/usr/sfw
 SSLCERTS=/etc/sfw/openssl/certs
 SSLKEYS=/etc/sfw/openssl/private
 SSLINCLUDE=$(SSLDIR)/include
 SSLLIB=$(SSLDIR)/lib
と変更する.

もう一カ所
 GCCCFLAGS= -g $(GCCOPTLEVEL) -pipe -fno-omit-frame-pointer
の行を
 GCCCFLAGS= -g $(GCCOPTLEVEL) -pipe -fno-omit-frame-pointer -fPIC
とする(最後に -fPIC を加える)

 % make gso
 # cp c-client/c-client.a /opt/local/lib/libc-client.a
 # cp c-client/*.h /opt/local/include/

**gnu gettext 0.18.1.1 [#u378a492]
 % cd gettext-0.18.1.1
 #   % ./configure --prefix=/opt/local
 % ./configure --prefix=/opt/local
 % make
 # make install

**libmcrypt-2.5.8 [#w02862cb]
 % cd libmcrypt-2.5.8
 % ./configure --prefix=/opt/local  --enable-ltdl-install
 % make
 # make install


//---------------------------------------------------------
*PHP 5.2.12 [#j98f6bd9]

 % cd php-5.2.4
 % ./configure --prefix=/opt/local --with-apxs2=/opt/apache/bin/apxs \
   --enable-mbstring --enable-mbregex \
   --with-openssl=/usr/sfw \
   --with-imap=/opt/local --with-imap-ssl=/opt/local \
   --with-zlib \
   --with-gettext=/opt/local \
   --with-libxml-dir \
   --with-mcrypt=/opt/local \
   --with-mysql=/usr/sfw
 % make
 # make install
 # cp php.ini-recommended /usr/local/lib/php/php.ini

*PEAR モジュール [#p59d9233]
**Mail [#qb33160c]
 # pear install --alldeps Mail
以下のものがインストールされる
-Mail-1.2.0
-Net_SMTP-1.4.2
-Net_Socket-1.0.9
-Auth-SASL-1.0.4

**Log [#of11f3b2]
   # pear install Log
以下のものがインストールされる
-Log-1.12.1

**DB [#d3ba0ebe]
   # pear install DB
以下のものがインストールされる
-DB-1.7.13

**Mail_Mime[#ld6e05df]
   # pear install Mail_Mime
以下のものがインストールされる
-Mail_Mime-1.8.0

*Zend Optimizer [#ab3508a8]
ZendOptimizer-3.3.0a-sunos5.8-sparc.tar.gz
インストール場所を
 /opt/Zend
とする.

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS