フリーのグループウェアー GroupSessinのインストール

 日経Linux(平成15年6月号)で紹介されたにフリーのグループウェアーである GroupSessionをインストールしてみたので以下に紹介する。

1.環境整備
 GroupSessionは、JAVAサブレットとして作成されていることからフリーのサブレットエンジンであるTOMCAT上で動作するようになって いることから、まず、この環境を整えてやる必要がある。

 ○JAVAの導入
   JAVAの実行環境であるJDKを導入するためJAVAの サイトから j2sdk-1_3_1_09-linux-i586.rpm.bin を持ってきて
   
   # sh j2sdk-1_3_1_09-linux-i586.rpm.bin
    
    とすると、jdk-1.3.1_09.i586.rpm が生成されるのでこれを通常のrpmファイルのインストールの方法で

   # rpm -ivh jdk-1.3.1_09.i586.rpm

    で /usr/java/jdk-1.3.1_09 以下に展開される。

   次に、パスをとおすため ~/.bash_profile などで環境変数を設定しておきます。

   export JAVA_HOME=/usr/java/jdk1.3.1_09
   export PATH=$PATH:$JAVA_HOME/bin

  これで完了である。

 ○Apacheの入れ替え
  今回インストールするサーバーは、Turbolinux Server 7 であるため標準のrpmファイルにApacheは含まれており、通常はこ れを使用することになるのだが、試してみるとTomcatとの連携部分でコンパイルの条件が違うのか再コンパイルするようにとのメッセージが出て旨く動作 しない。
  そこでソースからコンパイルしてやると動作したので今回は、標準のrpmファイルは削除してApacheのサイトから入手してきた apache_1.3.20.tar.gzをコンパイルして使用することとした。

    
$ tar xvfz apache_1.3.20.tar.gz
$ cd apache_1.3.20
$ ./configure --enable-rule=SHARED_CORE --enable-module=so
$ make
$ su
# make install

    make instal で以下のようなメッセージが出れば成功である。
     
+--------------------------------------------------------+
| You now have successfully built and installed the                         |
| Apache 1.3 HTTP server. To verify that Apache actually              
| works correctly you now should first check the
| (initially created or preserved) configuration files
|
|   /usr/local/apache/conf/httpd.conf
|
| and then you should be able to immediately fire up
| Apache the first time by running:
|
|   /usr/local/apache/bin/apachectl start
|
| Thanks for using Apache. The Apache Group
|http://www.apache.org/  |
+--------------------------------------------------------+

 ○Tomcatのインストール
   TomcatにはVer3とVer4があるようであるが、インターネットでインストール記事を検索した結果Ver3の方が安定しているようなので Ver3の内比較的新しそうなTomcat −3.2.4をインストールすることとした。
   方法は、至って簡単であり、解凍して適当なディレクトリー(今回は、/usr/local/tomcat)にコピーするだけである。
   
# tar xvfz jakarta-tomcat-3.2.3.tar.gz
# mv jakarta-tomcat-3.2.3 /usr/local/tomcat

       bin/ディレクトリ内の実行ファイルに実行属性が付いていないので、実行属性を設定します。
  
# chmod +x /usr/local/tomcat/bin/*
  
     起動します。
   
# /usr/local/tomcat/bin/startup.sh           

     
    http://ホスト名:8080/ にアクセスできれば、okです。以下のような画面が出ます。

TOMCATの動作確認画面

         停止するには以下のようにします。
   
# /usr/local/tomcat/bin/shutdown.sh       

 ○ApacheとTomcatの連携
  連携するにはそれ用のソフトが必要です。それはTomcatVer3の場合は、mod_jk.so というものらしく、
  こ のあたりでダウンロードできます。

  現実には mod_jk-noeapi.so をApacheのlibexec/にmod_jk.soというファイル名でインストールします。
    今回は、 /usr/local/apache/libexec です。また、このファイルは実行属性になっていないので変えておいて下さい。
     
# mv mod_jk-noeapi.so /usr/local/apache/libexec/mod_jk.so    
# chmod 755 /usr/local/apache/libexec/mod_jk.so

     次に、Apacheのconf/httpd.confに以下を追加します。

   Include /usr/local/tomcat/conf/mod_jk.conf-auto

   TomcatとApacheを起動します。
   
# /usr/local/tomcat/bin/startup.sh                   
# /usr/local/apache/bin/apachectl start

 
   確認は、ブラウザから http://ホスト名/examples/jsp/ で以下の画面が表示されればOKです。

TomcatとApacheの連携確認画面

ここを参考にしました。
http://bitarts.jp/tech/linux/tomcat323.html


 ○GroupSessionの設定
グループ セッションのホームページから gsession-class-1.1.6.tar.gz と gsession-help-1.1.6.tar.gz を入手する。
  ・gsession-class-1.1.6.tar.gzの展開

  gsession-class-1.1.6.tar.gzファイルを解凍し、Tomcatをインストールしたディレクトリのwebapps内に移動す る。
    
# tar zxfv gsession-class-1.1.6.tar.gz
# mv gsession /usr/local/tomcat/webapps

  ・session-help-1.1.6.tar.gzの展開
   gsession-help-1.1.6.tar.gzを解凍し、helpディレクトリをgsession ディレクトリに移動します。
       
# tar zxfv gsession-help-1.1.6.tar.gz
# mv gsession/help /usr/local/tomcat/webapps/gsession/help

 
   ・GroupSessionの設定
  GroupSessionを解凍したディレクトリ内に設定ツールであるInstall.jarがあるのでこれを使用します。
     
# cd /usr/local/tomcat/webapps/gsession
# /usr/java/jdk-1.3.1_09/bin/java -jar Install.jar

     後はインストーラの質問の指示に従って入力してください。

     以上でGroupSessionのインストールは完了です。

  ・GroupSessionの起動
   Tomcat、Apacheの順に起動します。
   
# /usr/local/tomcat/bin/startup.sh                   
# /usr/local/apache/bin/apachectl start

   【注意】
       Tomcat,Apacheを起動する場合tomcat→Apacheの順番で起動を行ってください。
        tomcatを起動するとtomcatをインストールしたディレクトリ/opt/tomcat/confに mod_jk.conf-autoが
       作られます。
       Apacheはこの設定ファイルを起動時に使用するため、先にtomcatを起動する必要があります。


  ・GroupSessionへのアクセス
   ブラウザを起動し、以下のアドレスにアクセスします。

    http://[サーバー名]/gsession/servlet/gsession/


   以下のようなログイン画面が表示されたらスーパーユーザーでログオンしてください。

        UserID admin
        Password admin

    【注意】
        サーバー名はInstall.jarで設定したサーバー名です。
GroupSession初期画面


ログイン画面

  ・GroupSessionの終了

   Apache、Tomcatを終了します。

   
# /usr/local/apache/bin/apachectl stop
# /usr/local/tomcat/bin/shutdown.sh

●参考
 Webサーバーのnagiosとの共用を試してみた結果、httpd.conf に nagios独特の cgi-bin とかを記入することで問題なく動作することが判明した。これで通常のホームページとnagiosのWebサーバーを共用することが可能となった。当たり前 のことだはあるが。

○起動スクリプト
----------------- /etc/rc.d/init.d/tomcat -----------------
#!/bin/sh
#
# Startup script for the tomcat
#
#
chkconfig: 345 80 15
# description: Tomcat

# Source function library.
. /etc/rc.d/init.d/functions

case "$1" in
'start')
if [ -f /usr/local/tomcat/bin/startup.sh ]; then
echo "Starting tomcat (~o~)//"
su - nobody -c "export JAVA_HOME=
/usr/java/j2se; \
export TOMCAT_HOME=/usr/local/tomcat;/usr/local/tomcat/bin/startup.sh"
fi
;;
'stop')
echo "Stopping tomcat (~o~)/~~~~"
su - nobody -c "export JAVA_HOME=
/usr/java/j2se; \
export TOMCAT_HOME=/usr/local/tomcat;/usr/local/tomcat/bin/shutdown.sh"
;;

'restart')
$0 stop
$0 start
;;
'jkconf')
if [ -f /usr/local/tomcat/bin/startup.sh ]; then
echo "Generating Apache mod_jk config file. (o_o)"
su - nobody -c "export JAVA_HOME=/usr/java/j2se; \
export TOMCAT_HOME=/usr/local/tomcat;/usr/local/tomcat/bin/startup.sh jkconf"
fi
;;
*)
echo "Usage: $0 {start|stop|restart|jkconf}"
;;
esac
exit 0
 これで、 tomcat は nobody で起動させられるようになりましたが、Tomcat 自体インストールしたときは root でインストールしたでしょ?このままだと、tomcat が生成するはずのファイルが権限の問題で書き込みできなくなってしまいます。ということで以下のディレクトリのオーナーを nobody に変更しましょう。work ディレクトリなんかは1回も Tomcat 起動してなければできませんから、もしなかったら作成してください。
ディレクトリのパーミッションを変更します。

[root@lxsrv /]# cd /usr/local/tomcat
[root@lxsrv tomcat]# ls
KEYS LICENSE bin conf doc lib logs modules native webapps work
[root@lxsrv tomcat]#
[root@lxsrv tomcat]# chown -R nobody.nobody webapps
[root@lxsrv tomcat]# chown -R nobody.nobody work
[root@lxsrv tomcat]# chown -R nobody.nobody logs
[root@lxsrv tomcat]# chown -R nobody.nobody conf


最後に自動起動サービスに追加します。


[root@lxsrv tomcat]# cd /etc/rc.d/init.d
[root@lxsrv init.d]# chmod +x tomcat
[root@lxsrv init.d]# chkconfig --add tomcat
[root@lxsrv init.d]# chkconfig --list tomcat
httpd 0:オフ 1:オフ 2:オフ 3:オン 4:オン 5:オン 6:オフ
[root@lxsrv init.d]# chkconfig tomcat on

 

 Tomcat 3.2 までは Tomcat を起動すると自動的に /usr/local/tomcat/conf/mod_jk.conf -auto というファイルができていましたが、3.3 からは出来ないようです。だから明示的に指示して作成する必要があるようです。


[yoshi@lxsrv tomcat]$ su
Password:
[root@lxsrv tomcat]# export JAVA_HOME=/usr/java/j2se
[root@lxsrv tomcat]# /usr/local/tomcat/bin/startup.sh jkconf

startup.sh に jkconf というオプションをつけて起動させると mod_jk.conf という設定ファイルが作成されるようです。しかし、これは単に設定ファイルを作成するだけのモードのようで Tomcat は起動されません。だから Tomcat 動作中でも可能です。


前ペー ジ