Solari10でSAMP環境の構築
2017年現在で、いまだにSolaris10を使っているサーバーがどれくらい残存しているのか知らないが、やむを得ずApache2.4 Mysql5.6 Php5.6 をOpenCSWのパッケージからインストールするはめになった。
pkgutilでCSWapache24、CSWap24-modphp5、CSWmysql56、CSWmysql56client、CSWphp5、CSWphp5-mysqlなどをインストールする。
Apache2.4
■■■■Apache2.4 32bit■■■
-bash-3.2# /opt/csw/sbin/apachectl -V
Server version: Apache/2.4.23 (Unix)
Server built: Jul 5 2016 18:07:04
Server's Module Magic Number: 20120211:61
Server loaded: APR 1.5.2, APR-UTIL 1.5.4
Compiled using: APR 1.5.2, APR-UTIL 1.5.4
Architecture: 32-bit ←
Server MPM: event ←
threaded: yes (fixed thread count)
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_PROC_PTHREAD_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="/opt/csw"
-D SUEXEC_BIN="/opt/csw/bin/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/opt/csw/apache2/mime.types"
-D SERVER_CONFIG_FILE="/etc/opt/csw/apache2/httpd.conf"
-bash-3.2# /opt/csw/apache2/sbin/httpd.prefork -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
■■■■Apache2.4 64bit■■■
-bash-3.2# /opt/csw/sbin/sparcv9/apachectl -V
Server version: Apache/2.4.23 (Unix)
Server built: Jul 5 2016 18:42:45
Server's Module Magic Number: 20120211:61
Server loaded: APR 1.5.2, APR-UTIL 1.5.4
Compiled using: APR 1.5.2, APR-UTIL 1.5.4
Architecture: 64-bit ←
Server MPM: event ←
threaded: yes (fixed thread count)
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_PROC_PTHREAD_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="/opt/csw"
-D SUEXEC_BIN="/opt/csw/bin/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/opt/csw/apache2/mime.types"
-D SERVER_CONFIG_FILE="/etc/opt/csw/apache2/httpd.conf"
-bash-3.2# /opt/csw/sbin/sparcv9/httpd -l
Compiled in modules:
core.c
mod_so.c
http_core.c
OSが64bitで動いているので、本来はApache2.4も64bitで動かしたい。しかし、Apache2.4はMPM=EVENTとしてコンパイルされていて、PHPを使うには、FastCGIを使えとか。確かに mod_fcgid は入っているが、インストールしただけでは、phpinfo()で何も表示されなかった。
◀◀◀◀◀◀◀◀◀◀CSWap24-modphp5▶▶▶▶▶▶▶▶▶▶
●pkginfo
WORKDIR_FIRSTMOD=../build-isa-sparcv8plus-sapi-ap24
OPENCSW_OS_ARCH=sparc
OPENCSW_OS_RELEASE=SunOS5.10
OPENCSW_BUNDLE=php5
OPENCSW_REPOSITORY=https://svn.code.sf.net/p/gar/code/csw/mgar/pkg/php5/branches/php-5.6.x@25973
OPENCSW_MODE64=32 ←
OPENCSW_CATALOGNAME=ap24_modphp5
HOTLINE=http://www.opencsw.org/bugtrack/
CLASSES=none cswpreserveconf
PSTAMP=dam@unstable10s-20161007150856
EMAIL=dam@opencsw.org
VENDOR=http://www.php.net/ packaged for CSW by Dagobert Michelsen
CATEGORY=application
VERSION=5.6.26,REV=2016.10.07
ARCH=sparc
NAME=ap24_modphp5 - The apache 2.4.x php5 module
PKG=CSWap24-modphp5
FastCGIを止めて使い慣れたlibphp5を使おうとすると、libphp5が32bit用なので、Apache2.4も32bitで起動させねばならない。そこで、mod_mpm_prefork.soをロードしてMPMをpreforkに変更する。MPMをモジュールで変更できるのは有り難いが、気付くのに手間取った。
ↈↈↈↈↈApache2.4 32bitでの起動ↈↈↈↈↈ
/etc/opt/csw/apache2/httpd.conf
DocumentRoot "/var/opt/csw/apache2/htdocs"
# Include /etc/opt/csw/64/apache2/extra/modules.load
Include /etc/opt/csw/apache2/extra/modules.load
#
LoadModule cgid_module lib/64/apache2/modules/mod_cgid.so
#LoadModule cgi_module lib/64/apache2/modules/mod_cgi.so
LoadModule cgi_module lib/apache2/modules/mod_cgi.so
#AllowOverride None
AllowOverride All
Include /etc/opt/csw/apache2/extra/httpd-php5.conf
Include /etc/opt/csw/apache2/extra/httpd-proxy.conf
/etc/opt/csw/apache2/extra/modules.load
LoadModule mpm_prefork_module lib/apache2/modules/mod_mpm_prefork.so ←
LoadModule php5_module lib/apache2/modules/libphp5.so ←
LoadModule proxy_module lib/apache2/modules/mod_proxy.so
LoadModule proxy_ajp_module lib/apache2/modules/mod_proxy_ajp.so
LoadModule auth_digest_module lib/apache2/modules/mod_auth_digest.so
/etc/opt/csw/init.d/cswapache24
#APACHECTL=/opt/csw/sbin${MM}/apachectl
APACHECTL=/opt/csw/sbin/apachectl
PHP
# php -v
PHP 5.6.26 (cli) (built: Oct 7 2016 12:16:09)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
mysql
# ls /var/opt/csw/svc/manifest/network
cswapache24.xml cswmysql56.xml
# vi /var/opt/csw/svc/manifest/network/cswmysql56.xml
exec='/var/opt/csw/svc/method/svc-cswmysql56 start'
# vi /var/opt/csw/svc/method/svc-cswmysql56
basedir=/opt/csw
bindir=/opt/csw/bin
sbindir=/opt/csw/libexec
datadir=/var/opt/csw/mysql56
conf=/etc/opt/csw/my.cnf
# ls -l /opt/csw/libexec/mysqld
/opt/csw/libexec/mysqld Ver 5.6.35 for solaris10 on sparc (OpenCSW)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective owners.
Starts the MySQL database server.