# cd /usr/local/libexec # gzip -dc apache-tomcat-6.0.20.tar.gz | tar xf - # mv apache-tomcat-6.0.20 apache-tomcat
% tomcat-connectors-1.2.28-src.tar.gz % cd tomcat-connectors-1.2.28/native
以下のsetup.shスクリプトを実行します。
#!/bin/sh if [ $# -eq 1 ]; then . ../../setup-pre.sh $1 else . ../../setup-pre.sh fi ./configure \ --with-apxs=/usr/local/sbin/$ISA/apxs \ --with-java-home=/usr/java
% ./setup.sh [sparcv8plus or sparcv9 or i386 or amd64] % gmake # gmake install
以下のsetup.shスクリプトを実行します。
#!/bin/sh if [ $# -eq 1 ]; then . ../../setup-pre.sh $1 else . ../../setup-pre.sh fi ./configure \ --with-apxs=/usr/apache2/bin/apxs \ --with-java-home=/usr/java
% ./setup.sh sparcv8plus
Solaris付属のlibtoolを使うようなMakefileができあがりますが、 そのままではうまくコンパイルできないので、できあがったMakefile のlibtoolのパスを修正します。
- LIBTOOL = /bin/bash /var/apache2/build/libtool --silent + LIBTOOL = /bin/bash /usr/local/share/apache/build-1/libtool --silent
makeしてできあがったモジュールをコピーします。
% gmake # cp apache-2.0/mod_jk.so /usr/apache2/libexec
/etc/apache22/httpd.confに以下を追加します。
LoadModule jk_module libexec/apache/sparcv9/mod_jk.so <IfModule mod_jk.c> JkWorkersFile /etc/apache22/workers.properties JkLogFile /var/log/jk.log JkShmFile /var/log/jk-runtime-status JkLogLevel error JkMount /*.jsp localhost JkMount /servlet/* localhost JkMount /examples/* localhost </IfModule>
/etc/apache22/workers.properties
worker.list=localhost worker.localhost.port=8009 worker.localhost.host=localhost worker.localhost.type=ajp13 worker.localhost.lbfactor=1 #workers.java_home=/usr/java workers.tomcat_home=/usr/local/libexec/apache-tomcat
manifest: tomcat.xml
<?xml version="1.0"?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type='manifest' name='tomcat'> <service name='application/tomcat' type='service' version='1'> <instance name='default' enabled='false'> <dependency name='network' grouping='require_all' restart_on='error' type='service'> <service_fmri value='svc:/milestone/network:default'/> </dependency> <dependency name='filesystem-local' grouping='require_all' restart_on='none' type='service'> <service_fmri value='svc:/system/filesystem/local:default'/> </dependency> <dependency name='autofs' grouping='optional_all' restart_on='error' type='service'> <service_fmri value='svc:/system/filesystem/autofs:default'/> </dependency> <exec_method type='method' name='start' exec='/lib/svc/method/tomcat %m' timeout_seconds='60'> <method_context> <method_credential user='root' group='root' privileges='basic,!proc_session,!proc_info,!file_link_any,net_privaddr' /> </method_context> </exec_method> <exec_method type='method' name='stop' exec='/lib/svc/method/tomcat %m' timeout_seconds='60'> <method_context /> </exec_method> <exec_method type='method' name='refresh' exec='/lib/svc/method/tomcat %m' timeout_seconds='60'> <method_context /> </exec_method> <property_group name='startd' type='framework'> <propval name='ignore_error' type='astring' value='core,signal' /> </property_group> <property_group name='tomcat' type='application'> <stability value='Evolving' /> </property_group> </instance> <stability value='Evolving' /> <template> <common_name> <loctext xml:lang='C'> Apache Tomcat Servlet Container </loctext> </common_name> <documentation> <doc_link name='apache.org' uri='http://tomcat.apache.org/tomcat-6.0-doc/' /> </documentation> </template> </service> </service_bundle>
method: tomcat
#!/sbin/sh # . /lib/svc/share/smf_include.sh JAVA_HOME=/usr/java TOMCAT_HOME=/usr/local/libexec/apache-tomcat CONF_DIR=${TOMCAT_HOME}/conf CATALINA_PID=${TOMCAT_HOME}/logs/catalina.pid if [ "x$JAVA_HOME" = "x" ]; then echo "JAVA_HOME not set properly. Set the JAVA_HOME environment variable" exit 96; # SMF_EXIT_ERR_CONFIG fi if test ! -x "$JAVA_HOME/bin/java"; then echo "JAVA_HOME is set but $JAVA_HOME/bin/java doesn't exist." exit 96; # SMF_EXIT_ERR_CONFIG fi export CATALINA_PID export JAVA_HOME start() { /bin/rm -f ${CATALINA_PID} exec ${TOMCAT_HOME}/bin/startup.sh } stop() { ${TOMCAT_HOME}/bin/shutdown.sh sleep 3; kill -0 `cat ${CATALINA_PID}` >/dev/null 2>&1 if [ $? -eq 0 ] ; then # Process still alive. Use force method ${TOMCAT_HOME}/bin/shutdown.sh -force fi /bin/rm -f ${CATALINA_PID} } [ ! -d ${CONF_DIR} ] && exit $SMF_EXIT_ERR_CONFIG case "$1" in start) start ;; refresh) stop start ;; stop) stop ;; *) echo "Usage: $0 {start|stop|refresh}" exit 1 ;; esac
manifestとmethodを登録します。
# cp tomcat /lib/svc/method/ # chown root:bin /lib/svc/method/tomcat # chmod 555 /lib/svc/method/tomcat # cp tomcat.xml /var/svc/manifest/network/ # chown root:sys /var/svc/manifest/network/tomcat.xml # chmod 444 /var/svc/manifest/network/tomcat.xml # /usr/sbin/svccfg validate /var/svc/manifest/network/tomcat.xml # /usr/sbin/svccfg -v import /var/svc/manifest/network/tomcat.xml
サービスを有効化します。
# svcadm enable network/tomcat:default
Copyright ©2000-2018 T.Hiraga <hiraga@next-hop.net> All Rights Reserved. Last modified: $Date: 2009/08/04 09:36:48 $ |