昨日の続きで、VineLinuxのインストール。しょうがないのでVineLinuxのバージョンを落としてみました。
ローカルで一時的に使うものなのでとりあえず動きさえすればよいのだ。
そして昨日の作業を最初からやりなおし。疲れる・・・。

MySQL5.0.0をインストール。
http://dev.mysql.com/downloads/
よりMySQL5.0を選択。なんで5.0なのかは特に意味なし。MySQL5.0のリンク先で一番したのソースを選択。
この辺はソースからインストールしないとぼくの場合何故か不安。TarBallをダウンロード。
ファイルを「/usr/local/src/」にコピー。

MySQL用のユーザーを作成
# groupadd mysql
# adduser -g mysql -d /usr/local/var mysql

# cd /usr/local/src
# tar -xvzf mysql-5.0.0-alpha.tar.gz
# ./configure --with-charset=ujis -with-extra-charsets=all --with-mysqld-user=mysql

--with-charset=ujis
でEUC-JPをデフォルト文字コードに設定。

-with-extra-charsets=all
一応他の文字コードもサポートできるように設定。

--with-mysqld-user=mysql
起動ユーザーを先ほど作成したユーザーに設定。

# make
# make install

この辺はおそろしく時間がかかった。

データベース初期化
# /usr/local/bin/mysql_install_db --user=mysql
# chown -R mysql /usr/local/var
# chgrp -R mysql /usr/local/var

MySQL起動
# /usr/local/bin/mysqld_safe --user=mysql &

PC起動時にNySQLを立ち上げたいので、
# vi /etc/rc.d/rc.local

して、「/usr/local/bin/mysqld_safe --user=mysql &」を書き足した。


# /usr/local/bin/mysqlshow
+-----------+
| Databases |
+-----------+
| mysql |
| rpm |
| test |
+-----------+

こんな感じで、なんとか動いてるみたい。オケオケ。



次にApache2.0.52のインストール。
「libtool」と「autoconf」をインストールしてるか確認。

# rpm -q libtool
# rpm -q autoconf

これを新しいものにする必要がある。apt 等で更新するか、ここを参考に。

Apache2はhttp://apache.yubitoma.or.jp/httpd/
ここからダウンロードさせていただきました。
バージョンはhttpd-2.0.52.tar.gzですな。

/usr/local/src にて作業します。
# tar -xvzf httpd-2.0.52.tar.gz
# cd httpd-2.0.52
# ./configure --enable-so --enable-shared
# make
# make install

一応適当なオプションをつけてみました。
この辺も時間かかりますね。PCが非力なので余計に・・・。

httpd.confの書き換え。

# vi /usr/local/apache2/conf/httpd.conf

とりあえず260行目付近の「Group #-1」を「Group nobody」に書き換え。
「AddDefaultCharset off」→「AddDefaultCharset ISO-8859-1」に変更。
「LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ltz ca es sv tw」

「LanguagePriority ja en da nl et fr de el it kr no pl pt pt-br ltz ca es sv tw」
に変更。
これやらないと文字化けします。

Apacheのスタート。

# /usr/local/apache2/bin/apachectl start

ブラウザでIPをたたくとおなじみのApacheの画面が表示される。

PC起動時にApacheも起動させたいので上記スタートコマンドを rc.local に書いておく。

# vi /etc/rc.d/rc.local

ここまでオーケーですな。


お次はTomcat5のインストール。
去年SilverSpace CEO 武藤樹一郎氏とお会いしてMySQLとTomcatが主流だとお聞きしたのだが、ぼくの周りではPostgreSQLとPHPの組み合わせが多い。アメリカの波に乗るためにTomcatインストールだ(笑

まずJavaをhttp://java.sun.com/j2se/1.3/ja/download.htmlよりダウンロードしてインストール。
j2sdk-1_3_1_13-linux-i586[1].rpm.bin

# sh j2sdk-1_3_1_13-linux-i586[1].rpm.bin
# rpm -ivh jdk-1.3.1_13.i586.rpm

これで「/usr/java/jdk1.3.1_13」にインストールされたもよう。

環境変数を設定する。

# vi ~/.bash_profile

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

を書き足す。


次にTomcat本体のインストール。

http://jakarta.apache.org/tomcat/より Downloads → Binaries と進んでダウンロード。
今回のバージョンは jakarta-tomcat-5.0.28.tar.gz だ。

バイナリなのでおそらく解凍するだけで動くのではないだろうか。

# cp jakarta-tomcat-5.0.28.tar.gz /usr/local/
# cd /usr/local/
# tar -xvzf jakarta-tomcat-5.0.28.tar.gz

ディレクトリ名が長すぎるので tomcat に変更。

# mv jakarta-tomcat-5.0.28 tomcat
# cd /usr/local/tomcat/bin

起動してみよう。

# ./startup.sh

「The JAVA_HOME environment variable is not defined」
と怒られた。環境変数を反映させるの忘れてた。

# source ~/.bash_profile
# ./startup.sh

ブラウザで http://192.168.1.30:8080/ にアクセス。おぉ!表示された!!
ちなみに停止はこうやります。

# ./shutdown.sh

と、ここまでは昔やったこともあったのだが、このあとApacheとTomcatを連携させねばならない。
いや、させなくてもいいんだけどね。やっぱりあった方が便利でしょ。


Apache2とTomcat5の連携となります。
まずhttp://jakarta.apache.org/site/sourceindex.cgiからコネクタをダウンロード。
「Tomcat Web Server Connectors」の「jk2」をダウンロード。(jakarta-tomcat-connectors-jk2-src-current.tar.gz)
毎度のように解凍する。

# cp jakarta-tomcat-connectors-jk2-src-current.tar.gz /usr/local/src/
# tar -xvzf jakarta-tomcat-connectors-jk2-src-current.tar.gz
# cd jakarta-tomcat-connectors-jk2-src-current
# cd jk
# cd native2
# ./configure --with-apxs2=/usr/local/apache2/bin/apxs
# make

# cd ../build/jk2/apache2
# ls

これで「mod_jk2.so」があればよい。無ければつらい。
「mod_jk2.so」をApache2のモジュールに組み込む。

# cp mod_jk2.so /usr/local/apache2/modules/

そして「httpd.conf」の変更。

# vi /usr/local/apache2/conf/httpd.conf

230行目付近に「LoadModule jk2_module modules/mod_jk2.so」を追加。

次に「/usr/local/apache2/conf/」に「workers2.properties」というファイルを作成。

# cd /usr/local/apache2/conf/
# touch workers2.properties

色々やったがユーザーディレクトリで普通にJSPを使用できるように設定できなかった。
しょうがないので、シンボリックリンクでごまかし。

# vi workers2.properties

その中に以下の内容を表記する。

[channel.socket:localhost:8009]
[shm:]
disabled=1
[uri:/mochi/jsp/*]

この場合、「uri:/mochi/jsp/*」なのでこの中以外はApacheが処理し、そのURLが来た時はTomcatに渡す。

# mkdir /usr/local/tomcat/webapps/mochi/
# mkdir /usr/local/tomcat/webapps/mochi/jsp/
# chown mochi:mochi /usr/local/tomcat/webapps/mochi
# chown mochi:mochi /usr/local/tomcat/webapps/mochi/jsp/
# vi /usr/local/tomcat/conf/server.xml

以下を書き足す。




注)最後の「」の上に書き足せばよいと思う。

# ln -s /usr/local/tomcat/webapps/mochi/jsp/ /home/mochi/public_html/

# cd /usr/local/tomcat/conf
# vi jk2.properties

に、「channelSocket.port=8009」の一行を追加する。


これで完了。必ずTomcatを起動させてからApacheを起動させないといけない。
現在は両方起動している状態なのでApacheをリスタート。

# /usr/local/apache2/bin/apachectl restart

ブラウザで「192.168.1.30」にアクセスしてTomcatの画面が表示されれば成功。

ついでに「mochi」ユーザーでFTPログインして「jsp」の中にテストJSPを放り込む。
ブラウザで「http://192.168.1.30/mochi/jsp/****.jsp」。
これで問題無く表示されればOK。

ふぅ〜・・・疲れた・・・・。

#JSPをユーザーディレクトリで普通に動作させる方法無いんだろうか。


あ、コマンドを全部「root」(#)で書いちゃった。すみません。
適宜読み替えてユーザーでやってください。
もう疲れたので書き直したく無いです・・・。


参考サイト
BitArts:http://bitarts.jp/tech/linux/apache_jk2.html