UNIXな生活
更新:2003/7/31  
Linuxな生活  FreeBSDな生活
 Solarisな生活
 JAVAな生活
 Practical use
 掲示版
FreeBSDで、Tomcat-4.0.6.J2SDK-1.3.Apache-1.3.mod_jk.PostgreSQL

FreeBSDでのApahce+mod_jk+Tomcat+PostgreSQLの導入です。

まずJDK1.3以上が導入されていることを確認してください。
JDKのインストールは、FreeBSDでのJDK導入を参考にしてください。
*JAVA_HOMEをshellに設定してください。

まずpackageから以下のものを入れます。
gmake-3.79.1_3

そしてソースから以下のものをインストールします。
automake-1.7.5.tar.gz
autoconf-2.57.tar.gz
libtool-1.5.tar.gz
#mkdir /usr/local/src
#tar zxvf automake-1.7.5.tar.gz -C /usr/local/src
#tar zxvf autoconf-2.57.tar.gz -C /usr/local/src
#tar zxvf libtool-1.5.tar.gz -C /usr/local/src


autoconf
#cd /usr/local/src/autoconf-2.57
#./configure
#make
#make install clean


automake
#cd /usr/local/src/automake-1.7.5
#./configure
#make
#make install clean


libtool
#cd /usr/local/src/libtool-1.5
#./configure
#make
#make install clean



インストールのために以下のソースを準備してください。
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用のユーザーとグループを/stand/sysinstallから作成します。
  groupadd=postgres
  user=postgres



2.Postgresのインストール用ディレクトリの作成とソースの展開
  #mkdir /usr/local/pgsql
  #chown postgres:postgres /usr/local/pgsql

  #tar zxvf postgresql-7.3.4.tar.gz -C /usr/local/src/
  #chown -R postgres:postgres /usr/local/src/postgresql-7.3.4


3.ANTのインストール
Postgresのjdbc作成に必要ですので、ここで入れときます。
  #mkdir /usr/local/jakarta
  #tar zxvf apache-ant-1.5.2.tar.gz -C /usr/local/jakarta/
  PATHの設定
  *bash
  export ANT_HOME=/usr/local/jakarta/apache-ant-1.5.2
  export PATH = $PATH:$ANT_HOME/bin

  *tcsh
  setenv path = (/usr/local/jakarata/apache-ant-1.5.2/bin)
  setenv ANT_HOME /usr/local/jakarta/apache-ant-1.5.2


4.tcl,tkの設定

PostgreSQLのGUIクライアントpgaccessを使用しますので、tcl,tkを入れておきます。
  /stand/sysinstallからconfigure-package-japaneseで以下を追加。
  ja-tcl-8.*
  ja-tk-8.*
  なお、wishは/usr/local/bin/wish8.0jpになりますので、wishのシンボリックを作成します。
  #ln -s /usr/local/bin/wish8.0jp /usr/local/bin/wish


5.Postgresのインストール
  ここからは、postgresユーザーで作業します。
  $cd /usr/local/src/postgres-7.3.4

  *FreeBSD
  %./configure --enable-multibyte=EUC_JP --with-java --with-tcl
    --with-includes="/usr/local/include/tcl8.0jp
    /usr/local/include/tk8.0jp" --with-tclconfig=/usr/local/lib/tcl8.0jp
    --with-tkconfig=/usr/local/lib/tk8.0jp
  %gmake
  %gmake check
  %gmake install clean



6.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


  設定を反映させます。
  [host]$source ~/.bash_profile


  *tcsh
   set pathに以下を追加
   set path = ($path /usr/local/pgsql/bin)

   以下項目を追加
   setenv POSTGRES_HOME /usr/local/pgsql
   setenv PGLIB $POSTGRES_HOME/lib
   setenv PGDATA $POSTGRES_HOME/data
   if ($?LD_LIBRARY_PATH) then
      setenv LD_LIBRARY_PATH "$LD_LIBRARY_PATH":"$PGLIB"
   else
      setenv LD_LIBRARY_PATH $PGLIB
   endif


   以上が完了したら、設定を反映させます
   %source ~/.cshrc

7.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


8.自動起動の設定
  ここからはrootで作業します
  /usr/local/src/postgresql-7.3.4/contrib/start-scripts/以下にfreebsdというpostgres起動用スクリプトファイルがあります。
  これを、/usr/local/etc/rc.d/postgres.shとしてコピーします。
  #cp /usr/local/src/postgresql-7.3.4/contrib/start-scripts/freebsd /usr/local/etc/rc.d/postgres.sh
  #chmod 755 /usr/local/etc/rc.d/postgres.sh

  これでBSD起動時にPostgresqlが起動します。
  もちろん、スクリプトを実行すれば起動します。
  起動 /usr/local/etc/rc.d/postgres.sh start
  終了 /usr/local/etc/rc.d/postgres.sh stop


  これでpostgresの導入は終了です。


9.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


10.apacheの設定

  apacheは/usr/local/apache/conf/httpd.confで設定します。
  最低限起動させるには、httpd.confの以下の行を編集してください。
  #ServerName ******
  ServerName hostname


11.apacheの起動と確認

  起動
  #/usr/local/apache/bin/apachectl start
  これで起動できたはずです。
  確認のためブラウザからアクセスしてみましょう
  http://hostname
  apacheのページが表示されればokです

12.Tomcatのインストール
 #tar 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/

13.mod_jkのインストール(Apache+Tomcatの連携)
 #tar 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
 #gmake
 #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


14.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



15.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

16.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/


17.Apache+Tomcatの自動起動の設定
起動スクリプトの作成(参考)
#! /bin/sh
CATALINA_HOME=/usr/local/jakarta/jakarta-tomcat-4.0.6
JAVA_HOME=/usr/local/j2sdk1_3_1_06
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

/usr/local/etc/rc.d/webservice.shとしてコピーしてください。

Producted by Tomoya Sakurai