ディストリビューション | 状況 |
---|---|
Turbo Linux 8 WorkStation | ○、そのまま使用して特に問題はない |
Redhat Linux 7.3 | ×、JDBCで日本語に文字化けが起こる。 |
Vine Linux 2.5 | ○、そのまま使用して特に問題はない |
Laser5 Linux 7.2exp | ○?、確かできたような気がする・・・ |
Vine Linux 2.1.5 | △、JDBCドライバだけ他のサイトなどから拾ってきたらできる |
インストール
まず、PostgreSQLパッケージをインストールしておく。
最低限必要なのは、PostgreSQL-7.2.*.rpmと、PostgreSQL-jdbc-7.2*.rpmと、PostgreSQL-server-7.2.*.rpm。RPMインストールコマンドは
rpm -ivh パッケージ名
次に、JavaSDKをRPMパッケージでインストール。(ここではVersion1.4.0_01とする)
Tomcatのインストール。このあたりはroot権限で。
jakarta-tomcat-3.2.4.tar.gzを用意する。(動作が重いと感じれば3.2.3でもいいと思う)
# mkdir /usr/local/jakarta # tar zxvf jakarta-tomcat-3.2.4.tar.gz -C /usr/local/jakarta # chown -R tomcatを動作させるユーザ名:そのユーザのグループ名 /usr/local/jakarta # chmod 755 /usr/local/jakarta/jakarta-tomcat-3.2.4/bin/ant # chmod 755 /usr/local/jakarta/jakarta-tomcat-3.2.4/bin/*.sh
環境変数の設定
# vi /etc/profile以下を追加
PATH=$PATH:/usr/java/j2sdk1.4.0_01/bin JAVA_HOME=/usr/java/j2sdk1.4.0_01 TOMCAT_HOME=/usr/local/jakarta/jakarta-tomcat-3.2.4 export PATH JAVA_HOME TOMCAT_HOMEServletのコンパイルを自前でjavacコマンドを使って行うならば以下も環境変数に付け足すとよい。(あまりおすすめでないが)
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$TOMCAT_HOME/lib/ant.jar:$TOMCAT_HOME/lib/servlet.jar export CLASSPATH
ここからPostgreSQLの設定。
まずは一度起動して、Databaseを初期化させる。
# /etc/rc.d/init.d/postgresql start
TCP/IPの通信を許可するようにする。
# vi /var/lib/pgsql/data/postgresql.conftcpip_socketの値をtrueにする。この1文にかかっているコメントも外しておく。
接続できるマシンのアドレスを設定
# vi /var/lib/pgsql/data/pg_hba.confこのファイルの後ろの方の
host all 127.0.0.1 255.255.255.255 trustを自分のLANの設定に合わせて書き換える。この文にコメントがかかっている場合は外しておく。たとえば
host all 192.168.0.0 255.255.255.0 trustとしておけばクラスCのLAN内からのマシンからはアクセスできるようになる。allは全てのDatabaseという意味で、trustはアクセス権限の種類を示す。詳細については省略する。
あとはPostgreSQLを使用できるユーザの設定とDatabaseの作成。
# su postgres # createuser ユーザ名 # createdb データベース名 # exit # /etc/rc.d/init.d/postgresql restart
自動起動の設定
# /usr/sbin/setupサービスの設定という項目で簡単にできる。
Tomcatの起動方法
tomcatを動かすユーザ権限で
# $TOMCAT_HOME/bin/startup.sh # $TOMCAT_HOME/bin/shutdown.shで起動と終了。
とりあえずな簡単な開発の仕方(めんどくさいので無名パッケージの場合)
開発ユーザ権限で
# cp -R $TOMCAT_HOME/doc/appdev/sample 好きなところコピーしたところに移動して
$ vi build.xmlname属性がapp.nameになっている要素のvalue属性の値を任意の名前(デフォルトではmyapp)に変える。
Servletのソースファイルを先ほどコピーしたディレクトリから見てsrc/にぶちこむ。 JSPファイルはweb/にぶちこむ。コンパイル&ファイルの配置は
./build.shだけで済む。
Tomcatを起動したら、ブラウザから
http://サーバ名:8080/app.nameで設定した名前/servlet/クラス名(".class"は要らない)で作成したServletクラスにアクセスできる。JSPファイルは
http://サーバ名:8080/app.nameで設定した名前/JSPファイル名(".jsp"は付ける)からアクセスする。
以上。
Postgresのソースファイルを手に入れておく。
rootでlogin
J2SDKのインストール
# ./bin j2sdk-1.3.0_02-linux.rpm.bin # rpm -ivh j2sdk-1.3.0_02-linux.rpm # rm j2sdk-1.3.0_02-linux.rpm
# xemacs /etc/profile以下を最終行に追加
export JAVA_HOME=/usr/java/jdk1.3.0_02 export PATH=$PATH:$JAVA_HOME/bin
# source /etc/profile
TOMCATのインストール
# mkdir /usr/local/jakarta # tar zxvf jakarta-tomcat-3.2.3.tar.gz -C /usr/local/jakarta # chown -R tomcatを動かすユーザ名:tomcatを動かすユーザ名 /usr/local/jakarta # chmod 755 /usr/local/jakarta/jakarta-tomcat-3.2.3/bin/ant # chmod 755 /usr/local/jakarta/jakarta-tomcat-3.2.3/bin/*.sh
# xemacs /etc/profile以下を追加
export ANT_HOME=/usr/local/jakarta/jakarta-tomcat-3.2.3 export TOMCAT_HOME=/usr/local/jakarta-jakarta-tomcat-3.2.3 export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$ANT_HOME/lib/ant.jar export PATH=$ANT_HOME/bin:$PATH
# source /etc/profile
postgresユーザ作成
# useradd -m postgres
インストール用ディレクトリ作成
# mkdir /usr/local/pgsql # chown postgres:postgres /usr/local/pgsql # mkdir /usr/local/src/pg # chown postgres:postgres /usr/local/src/pg
ソースをコピー
# su postgres # tar zxvf postgresql-7.1.3-patched-20010914.tar.gz -C /usr/local/src/pg # cd /usr/local/src/pg/postgresql-7.1.3 # source /etc/profile # ./configure --enable-multibyte=EUC_JP --enable-unicode-conversion --with-java
コンパイル
# makeすっごく時間がかかります。 "ALL of PostgreSQL is successfully made. Ready to install."と表示される
# make check"ALL 76 tests passed."と出る。もし75 of 76とかでも大丈夫そうなことが書 いてあれば決行で。ダメそうな時は知らん。
# make installrootにもどる
# exit
# xemacs /etc/profile以下を追記
export POSTGRES_HOME=/usr/local/pgsql export PGCLIENTENCODING=EUC_JP export PGLIB=/usr/local/pgsql/lib export PGDATA=/usr/local/pgsql/data export PATH=$PATH:/usr/local/pgsql/bin export MANPATH=$MANPATH:/usr/local/pgsql/man export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB" export CLASSPATH=$CLASSPATH:$POSTGRES_HOME/share/java/postgresql.jar: $POSTGRES_HOME/share/java/postgresql-examples.jar: $POSTGRES_HOME/share/java/retepTools.jar:最後のexportにもちろん実際は改行を入れてはいけない。
postgresアカウントにパスワードを設定
# passwd postgres New UNIX password: Retype new UNIX password:お好きなパスワードをどうぞ
再起動
# shutdown -hr now
postgresでlogin
データベースの初期化
# initdbアクセス許可の設定
# xemacs $PGDATA/pg_hda.confこのファイルの後ろのほうの
host all 127.0.0.1 255.255.255.255 trustを自分のLANの設定に合わせて書き換える
host all 192.168.0.0 255.255.255.0 trustとすれば、クラスCのLAN内の192.168.0.*のマシンからアクセス可能
いったんlogoutして、rootでlogin
# xemacs /etc/rc.d/rc.local以下を追記
su - postgres -c "/usr/local/pgsql/bin/postmaster -S -i"これでboot時にpostmasterが起動する。 (Vine Linuxでは自動起動しなかった・・・)
再起動
# shutdown -hr now
postgresでlogin
# cd /usr/local/src/pg/postgresql-7.1.3/src/test/postgres # make runtest
以下、略。