|
|
|
|
|
|
|
Solarisで、Tomcat-4.0.6.J2SDK-1.3.Apache-1.3.mod_jk.PostgreSQL |
|
|
solarisでの、Apahce、mod_jk、Tomcat、PostgreSQLの導入です。
shell設定は、bashとtcshの例です。
環境は、solarisの環境設定(part1,part2,part3)を前提にしています。
再度以下のものがインストールされているか確認してください。
gcc-3.3-sol9-intel-local.gz
libgcc-3.3-sol9-intel-local.gz
libxml2-2.5.5-sol9-intel-local.gz
make-3.80-sol9-intel-local.gz
m4-1.4-sol9-intel-local.gz
readline-4.3-sol9-intel-local.gz
gcmn-1.0-pkg.zip
gawk-3.0.6-pkg.zip
j2sdkをインストールしておいてください。こちらを参考に!
これ以外に、SOLARIS標準のtcl,tkがあることも確認してください。
また、Solarisパッケージのautoconf,automake,libtoolを使用すると、mod_jkがコンパイルできません。
で、この3つはソースから入れます。
用意するのは以下の3つ。
autoconf-2.57.tar.gz
automake-1.7.5.tar.gz
libtool-1.5.tar.gz
インストール先をprefixで指定しインストールします。
例)
#gtar zxvf autoconf-2.57.tar.gz
/tmp
#cd /tmp/autoconf-2.57
#./configure --prefix=/opt/TSOP
#make
#make install
#gtar zxvf
automake-1.7.5.tar.gz /tmp
#cd /tmp/automake-1.7.5
#./configure --prefix=/opt/TSOP
#make
#make install
#gtar zxvf libtool-1.5.tar.gz
/tmp
#cd /tmp/libtool-1.5
#./configure --prefix=/opt/TSOP
#make
#make install
*PATHに/opt/TSOP/binと、LD_LIBRARY_PATHに/opt/TSOP/libを/usr/localより先に参照するように設定してください。
インストールのために以下のソースを準備してください。
apache_1.3.27.tar.gz http://httpd.apache.org/download.cgi
apache-ant-1.5.2-bin.tar.gz http://ant.apache.org/
jakarta-tomcat-4.0.6.tar.gz http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.6/bin/
jakarta-tomcat-connectors-jk-1.2.2-src.tar.gz
http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/v1.2.2/src/
postgresql-7.3.4.tar.gz http://www.postgresql.jp
pgaccess-0.98.7.tar.gz http://www.flex.ro/pgaccess/
1.Postgresユーザーの作成
postgres用のユーザーとグループを作成します。
#groupadd -g 10002 postgres
#useradd -d /export/home/postgres -g postgres -m -u 10002 postgres
#passwd postgres *パスワードの設定をしてください。
2.Postgresユーザーのshell設定
bash
PATH=/usr/local/bin:/usr/sfw/bin:/opt/sfw/bin
PATH=$PATH:/usr/dt/bin:/usr/openwin/bin
PATH=$PATH:/bin:/usr/bin:/usr/sbin:/usr/ccs/bin:/usr/ucb:/etc
export PATH
LD_LIBRARY_PATH=/usr/local/lib:/usr/sfw/lib:/opt/sfw/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/dt/lib:/usr/openwin/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/ccs/lib:/lib
export LD_LIBRARY_PATH
MANPATH=$MANPATH:/usr/share/man:/usr/local/man:/opt/sfw/man
export MANPATH
export JAVA_HOME=/usr/local/j2sdk1_3_1_08
export PATH=$JAVA_HOME/bin:$PATH
tcsh
set path=(/usr/local/bin
/usr/sfw/bin /opt/sfw/bin)
set path=($path /usr/dt/bin /usr/openwin/bin)
set path=($path /bin /usr/bin /usr/sbin /usr/ccs/bin /usr/ucb /etc)
setenv LD_LIBRARY_PATH /usr/local/lib:/usr/sfw/lib:/opt/sfw/lib
setenv LD_LIBRARY_PATH "$LD_LIBRARY_PATH":/usr/dt/lib:/usr/openwin/lib
setenv LD_LIBRARY_PATH "$LD_LIBRARY_PATH":/usr/lib:/usr/ccs/lib:/lib
setenv MANPATH "$MANPATH":/usr/share/man:/usr/local/man:/opt/sfw/man
setenv JAVA_HOME /usr/local/j2sdk1_3_1_08
setenv PATH "$JAVA_HOME/bin":"$PATH"
3.Postgresのインストール用ディレクトリの作成とソースの展開
#mkdir /usr/local/pgsql
#chown postgres:postgres /usr/local/pgsql
#gtar zxvf postgresql-7.3.4.tar.gz
-C /usr/local/src/
#chown -R postgres:postgres /usr/local/src/postgresql-7.3.4
4.ANTのインストール
Postgresのjdbc作成に必要ですので、ここで入れときます。
#mkdir /usr/local/jakarta
#gtar zxvf apache-ant-1.5.2-bin.tar.gz -C /usr/local/jakarta/
PATHの設定
bash
export
ANT_HOME=/usr/local/jakarta/apache-ant-1.5.2
export PATH $ANT_HOME/bin:$PATH
tcsh
setenv ANT_HOME
/usr/local/jakarta/apache-ant-1.5.2
setenv PATH "$ANT_HOME/bin":"$PATH"
5.tcl,tkの設定
solarisにインストールされているtclshは/usr/sfw/tclsh8.3、wishはwish8.3です。
これをそれぞれ、tclshとwishでソフトリンクを作成ます。
#ln -s /usr/sfw/tclsh8.3
/usr/sfw/tclsh
#ln -s /usr/sfw/wish8.3 /usr/sfw/wish
6.Postgresのインストール
ここからは、postgresユーザーで作業します。
$cd /usr/local/src/postgres-7.3.4
%CFLAGS=-02 ./configure
--enable-multibyte=EUC_JP --with-java --with-tcl
--with-includes="/usr/sfw/include"
--with-tclconfig=/usr/sfw/lib --with-tkconfig=/usr/sfw/lib
%make
%make
%make install
7.Postgres用のPATH設定
bash
export
PATH=$PATH:/usr/local/pgsql/bin
export PG=/usr/local/pgsql
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PG/lib
export PGLIB=$PG/lib
export PGDATA=$PG/data
export MANPATH=$MANPATH:/usr/local/pgsql/man
tcsh
setenv
PATH "$ANT_HOME/bin":"$PATH"
setenv PG /usr/local/pgsql
setenv PATH "$PG/bin":"$PATH"
setenv LD_LIBRARY_PATH "$LD_LIBRARY_PATH":"$PG/lib"
setenv PGDATA /usr/local/pgsql/data
setenv MANPATH "$MANPATH":/usr/local/pgsql/man
設定を反映させます。
$source
~/.bash or ~/.cshrc
8.pgaccessの設定
現在、私はSolaris上でpgaccessを正常にインストールする事ができません。
インストール時に、'/usr/local/pgsql/bin/pgaccess'が作成されません。
pgaccessを使いたい場合は、以下の手順で使用できます。
A.まずpgaccessを入手します。
http://www.flex.ro/pgaccess/
ここの、'Unix.tar.gz file'リンクから、pgaccess-0.98.7.tar.gzを入手します。
B.'/usr/local'へ展開します。
#gtar zxvf pgaccess-0.98.7.tar.gz -C
/usr/local
C.起動ファイル、'/usr/local/pgaccess/pgaccess'を編集します。
PATH_TO_WISH=/usr/bin/wish--------変更前
PATH_TO_WISH=/usr/sfw/bin/wish----変更後
D.Postgres用のPATHの設定をすれば使用できるようになります。
9.DBの初期化と設定
%initdb
これで/usr/local/pgsql/data以下に領域が設定されます。
なお、jdbc経由でpostgresに接続するには、tcpip経由のみになります。
そこで、postgresにtcpip経由で接続できるよう設定します。
設定は/usr/local/pgsql/data/postgres.confで行ないます。
postgres.confの以下を変更します。
#tcpip_socket = false
tcpip_socket = true
10.自動起動の設定
ここからはrootで作業します。
/usr/local/src/postgresql-7.3.3/contrib/start-scripts/以下にlinuxというpostgres起動用スクリプトファイルをそのまま使用できます。
/etc/init.d/以下にpostgresとしてコピーし、適切なランレベルへ設定してください。
*ただし、configure時、--without-readlineを指定していない場合は、libreadline.so.4の読み込みができません。
これを回避するため、'/usr/local/pgsql/bin/pg_ctl'へLD_LIBRARY_PATHを追加します。
pg_ctlの編集
#-------------------------------------------------------------------------
#
# pg_ctl.sh--
# Start/Stop/Restart/HUP/Report status of postmaster
# Copyright (c) 2001 PostgreSQL Global Development Group
# IDENTIFICATION
# $Header: /cvsroot/pgsql-server/src/bin/pg_ctl/pg_ctl.sh,v 1.30
2002/10/18 22:05:35
#-------------------------------------------------------------------------
LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH
CMDNAME=`basename $0`
これでpostgresの導入は終了です。
11.apacheのインストール
#tar zxvf apache_1.3.27.tar.gz -C
/usr/local/src/
#cd /usr/local/src/apache_1.3.27
#./configure --enable-module=so
#make
#make install clean
12.apacheの設定
apacheは/usr/local/apache/conf/httpd.confで設定します。
最低限起動させるには、httpd.confの以下の行を編集してください。
#ServerName ******
ServerName hostname
13.apacheの起動と確認
起動
#/usr/local/apache/bin/apachectl
start
これで起動できたはずです。
確認のためブラウザからアクセスしてみましょう
http://hostname
apacheのページが表示されればokです
14.Tomcatのインストール
#gtar zxvf jakarta-tomcat-4.0.6.tar.gz -C
/usr/local/jakarta/
Tomcatの起動と終了は以下のようにします
#/usr/local/jakarata/jakarta-tomcat-4.0.6/bin/catalina.sh
start *起動
#/usr/local/jakarata/jakarta-tomcat-4.0.6/bin/catalina.sh
stop *終了
ブラウザーで以下のURLにアクセスするとTomcatのトップページが表示されます。
http://localhost:8080/
15.mod_jkのインストール(Apache+Tomcatの連携)
#gtar zxvf
jakarta-tomcat-connectors-jk-1.2.2-src.tar.gz -C /usr/local/src/
#cd /usr/local/src/jakarta-tomcat-connectors-jk-1.2.2-src/jk/native
#chmod 755 buildconf.sh
#./buildconf.sh
#./configure --with-apxs=/usr/local/apache/bin/apxs
--with-tomcat40=/usr/local/jakarta/jakarta-tomcat-4.0.6
#make
#cd
/usr/local/src/jakarta-tomcat-connectors-jk-1.2.2-src/jk/native/apache1.3
#cp mod_jk.0.0.0.so /usr/local/apache/libexec/mod_jk.so
16.mod_jkの設定
/usr/local/apache/conf/httpd.confに以下を追記。
Include
/usr/local/apache/conf/mod_jk.conf
/usr/local/apache/conf/mod_jk.conf
を新規作成します。
LoadModule jk_module libexec/mod_jk.so
<IfModule mod_jk.c>
JkWorkersFile /usr/local/apache/conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel warn
JkMount /*.jsp worker1
JkMount /servlet/* worker1
JkMount /examples/* worker1
</IfModule>
/usr/local/apache/conf/workers.properties
というファイルを新規作成します。
worker.list=worker1
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
17.mod_jkの動作確認
TOMCATを起動してからAPACHEを起動します。
#/usr/local/jakarta/jakarta-tomcat-4.0.6/bin/catalina.sh start
#/usr/local/apache/bin/apachectl start
ブラウザーで以下のURLにアクセスするとサンプルサーブレットが試せます。
http://localhost/examples/servlets/index.html
ブラウザーで以下のURLにアクセスするとサンプルJSPが試せます。
http://localhost/examples/jsp/index.html
18.TomcatからPostgresへの接続
Tomcatからpostgresへ接続するには、JDBCドライバをTomcatのlibへコピーします
#cp
/usr/local/pgsql/share/java/postgresql.jar
/usr/local/jakarta/jakarta-tomcat-4.0.6/common/lib/
19.Apache+Tomcatの自動起動の設定
起動スクリプトの作成(参考)
#!/bin/sh
CATALINA_HOME=/usr/local/jakarta/jakarta-tomcat-4.0.6
LD_LIBRARY_PATH=/usr/local/lib
export
LD_LIBRARY_PATH#Solarisでmod_jk使用時は、gccライブラリのある場所を指定
JAVA_HOME=/usr/local/j2sdk1_3_1_08##JDKのインストール先を指定
export JAVA_HOME
APACHE_HOME=/usr/local/apache
PROFILEDIR=/var/run
case "$1" in
start)
if [ -f
$PROFILEDIR/WebService ]; then
echo
"Running WebService"
else
if
[ -f $CATALINA_HOME/bin/startup.sh ]; then
if [ -f
$APACHE_HOME/bin/apachectl ]; then
"$CATALINA_HOME/bin/startup.sh"
echo "Startting jakarta-tomcat4.0.6 "
sleep 15
echo "Startting Apache web server "
$APACHE_HOME/bin/apachectl start
echo "."
touch $PROFILEDIR/WebService
else
echo "Apache File Not Founds "
fi
else
echo "Tomcat File Not Founds "
fi
fi
;;
stop)
if [ -f
$PROFILEDIR/WebService ]; then
if [ -f
$CATALINA_HOME/bin/shutdown.sh ]; then
if [ -f
$APACHE_HOME/bin/apachectl ]; then
"$CATALINA_HOME/bin/shutdown.sh"
echo "Stopping jakarta-tomcat "
sleep 5
echo "Stopping Apache web server "
$APACHE_HOME/bin/apachectl stop
rm
$PROFILEDIR/WebService
else
echo "Apache File Not Founds "
fi
else
echo "Tomcat File Not Founds "
fi
else
echo
"Not Running WebService "
fi
;;
*)
echo "Usage:
`basename $0` {start|stop}" 1>&2
exit 1
;;
esac
exit 0
これを/etc/init.d/いかにコピーし、適切なランレベルへシンボリックを作成してください。
|
|
|
|
|
|
|
Producted by Tomoya Sakurai
|
|
|