2011年3月7日月曜日

redhat に Tomcat をインストール

ダウンロード

今回は Tomcat5.5系の最新版をダウンロードする。
Apache Tomcat
> cd /usr/local/src
> wget http://ftp.riken.jp/net/apache/tomcat/tomcat-5/v5.5.33/bin/apache-tomcat-5.5.33.tar.gz

設定

解凍し、/usr/local に配置。
> tar zxvf apache-tomcat-5.5.33.tar.gz
> mv apache-tomcat-5.5.33 /usr/local
扱いやすくするためシンボリックリンク
> cd /usr/local
> ln -s apache-tomcat-5.5.33 tomcat
ユーザ・グループの追加
> groupadd tomcat
> useradd -s /sbin/nologin -g tomcat tomcat 
ホームディレクトリの変更、オーナー変更
> vi /etc/passwd

tomcat:x:[ユーザ番号]:[グループ番号]::/home/tomcat/:/sbin/nologin
 ↓
tomcat:x:[ユーザ番号]:[グループ番号]::/usr/local/tomcat/:/sbin/nologin

起動設定

/usr/local/tomcat/bin/catalina.sh に java のディレクトリを設定。
※ソースコードの先頭あたり。コメント行が終わったあたり。
JAVA_HOME=/usr/java/latest
起動スクリプトを作成
vi /etc/init.d/tomcat
内容は以下
#!/bin/sh
#
# Startup script for Apache Tomcat 5.5
#
# chkconfig: 2345 85 15
# description: Apache Tomcat Java Servlets and JSP server
# processname: tomcat
# pidfile: /var/run/tomcat.pid
# config: /usr/local/tomcat/conf/server.xml

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

# Source networking configuration.
. /etc/sysconfig/network

CATALINA_HOME=/usr/local/tomcat
TOMCAT_SCRIPT=$CATALINA_HOME/bin/catalina.sh
TOMCAT_USER=tomcat

[ -f $TOMCAT_SCRIPT ] || exit 0

# See how we were called.
case "$1" in
  start)
    # Start daemons.
    if [ -f /var/lock/subsys/tomcat ] ; then
      echo "Tomcat already started!"
      exit 1
    fi
    echo -n "Starting Tomcat: "
    su -s /bin/bash - $TOMCAT_USER -c "$TOMCAT_SCRIPT start"
    RETVAL=$?
    echo
    [ $RETVAL = 0 ] && touch /var/lock/subsys/tomcat
    ;;
  stop)
    # Stop daemons.
    if [ ! -f /var/lock/subsys/tomcat ] ; then
      echo "Tomcat already stopped!"
      exit 1
    fi
    echo -n "Shutting down Tomcat: "
    $TOMCAT_SCRIPT stop
    RETVAL=$?
    echo
    [ $RETVAL = 0 ] && rm -f /var/lock/subsys/tomcat
    ;;
  status)
    status tomcat
    exit $?
    ;;
  restart)
    $0 stop
    $0 start
    ;;
  *)
    echo "Usage: $TOMCAT_PROG {start|stop|status|restart}"
    exit 1
esac

exit 0
実行権限をつける
> chmod +x /etc/init.d/tomcat

自動起動の設定

> /sbin/chkconfig tomcat on

[確認]
> /sbin/chkconfig --list tomcat
tomcat 0:off 1:off 2:on 3:on 4:on 5:on 6:off

起動

> /etc/init.d/tomcat start

[結果]
Starting Tomcat: Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME:    /usr/local/tomcat
Using CATALINA_TMPDIR:  /usr/local/tomcat/temp
Using JRE_HOME:         /usr/java/latest
Using CLASSPATH:        /usr/local/tomcat/bin/bootstrap.jar

以上

【関連項目】
redhat に apache2.2 をインストール
redhat に JDK を rpm でインストール

【参考サイト】
すぐできるTomcat5.5(6.0)インストール on RedHat系Linux - ありの日記

2011年3月4日金曜日

redhat に apache2.2 をインストール

ダウンロード

httpd-2.2.17.tar.gz
適当な場所にソースをダウンロードし展開する。
> cd /usr/local/src/
> wget http://www.meisei-u.ac.jp/mirror/apache/dist//httpd/httpd-2.2.17.tar.gz
> tar zxvf httpd-2.2.17.tar.gz

インストール

Apache2.2 から Tomcat連携モジュールの mod_proxy_ajp がデフォルトで組み込まれているそうで、
  • mod_proxy
  • mod_proxy_ajp
を有効にする。
> cd httpd-2.2.17
> ./configure \
> --enable-modules="so rewrite ssl dav" \
> --enable-proxy \
> --enable-proxy-ajp

> make
> make install
prefix を指定しなければ、/usr/local/apache2 にインストールされる。

確認

mod_procy 関連モジュールがインストールされていることを確認。
> /usr/local/apache2/bin/httpd -l

[結果]
Compiled in modules:
:
mod_proxy.c
mod_proxy_connect.c
mod_proxy_ftp.c
mod_proxy_http.c
mod_proxy_scgi.c
mod_proxy_ajp.c
mod_proxy_balancer.c
:

httpd.conf を編集

1. Apacheの実行ユーザ・グループを daemon から nobody に変更
User daemon
Group daemon
 ↓
User nobody
Group nobody
2. ServerName の設定
ServerName www.example.com:80
 ↓
ServerName [サーバのアドレス]
3. デフォルト設定の読み込み
Include /conf/extra/httpd-default.conf → コメントアウトを外す

conf/extra/httpd-proxy.conf を作成

とりあえず、すべての JSPリクエストを Tomcat に向ける。 細かく設定したい場合はここを工夫してください。
<location / >
ProxyPass ajp://localhost:8009/
<location>

Apache の自動起動の設定

1. 起動スクリプト作成
> vi /etc/init.d/apache2
もしくは
> vi /etc/rc.d/init.d/apache2
内容は以下。
#!/bin/sh
#
# chkconfig: 35 85 15
# description: apache 2.2.17

apachectl="/usr/local/apache2/bin/apachectl"

case "$1" in
  start|stop|restart|fullstatus| \
  status|graceful|graceful-stop| \
  configtest|startssl)
    $apachectl $@
    ;;
  *)
    ;;
esac
2. 実行権限を付ける
> chmod +x /etc/init.d/apache2
3. サービス一覧に追加
> /sbin/chkconfig --add apache2

[確認]
> /sbin/chkconfig --list apache2
apache2  0:off 1:off 2:off 3:on 4:off 5:on 6:off

Apache の起動

設定ファイルをチェックし、問題なければ起動する。
[設定の確認]
> /etc/init.d/apache2 configtest
Syntax OK

[起動]
> /etc/init.d/apache2 start
このとき、古い Apache が起動していたりで 80番ポートが空いてない場合、
エラーになってしまう場合があるので、その対処。
> /usr/sbin/lsof -i | grep httpd
で、残っている httpd のプロセスを調べて、
> kill [プロセス番号]
で、プロセスを停止後、Apacheを起動する。
httpd を起動中: [ OK ]
でめでたく成功。

以上

【関連項目】
redhat に Tomcat をインストール
redhat に JDK を rpm でインストール

【参考サイト】
Apache 2.2.3のインストール - 積み重ねた日々

redhat enterprise linux のユーザ管理コマンド

redhat enterprise linux で useradd や groupadd などは
/usr/sbin/
にあり、パスが通ってない。

【参考】
Red Hat Enterprise Linux 4: システム管理入門ガイド

redhat に JDK を rpm でインストール

■ JDKのダウンロード

java SE ダウンロードサイト
マシンが 64bit なので、Linux x64 を選択し continue をクリック
「jdk-6u24-linux-x64-rpm.bin」をダウンロード
wget するか 別マシンでダウンロードしてWinSCPなどで適当なディレクトリに置く
( /usr/local/bin など )

■ インストール

実行権限を付ける
> chmod +x jdk-6u24-linux-x64-rpm.bin
インストール実行
> ./jdk-6u24-linux-x64-rpm.bin
インストールされたか確認
> java -version

[結果]
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)

> rpm -qa | grep java

[結果]
sun-javadb-demo-10.6.2-1.1
sun-javadb-common-10.6.2-1.1
sun-javadb-core-10.6.2-1.1
sun-javadb-javadoc-10.6.2-1.1
sun-javadb-client-10.6.2-1.1
sun-javadb-docs-10.6.2-1.1

以上

【関連項目】
redhat に Tomcat をインストール
redhat に apache2.2 をインストール

2010年9月29日水曜日

IE6の変な挙動

JavaScriptで動的に追加・更新後の href プロパティ値

ページ表示直後の href プロパティ値は、たとえば、
<a href='aiueo.html'>あいうえお</a>
だと、
aiueo.html
となるが、IE6でJavaScriptで動的に追加・更新などした後は、
http://domain/path/aiueo.html
となる。ちなみに FireFoxではこのような変化はしない。

2010年9月24日金曜日

2010年9月16日木曜日

FreeBSDメモ

レンタルサーバをさくらインターネットに乗り換え、FreeBSDとお付き合いすることになった。
慣れない環境なのでいろいろメモ。

lsコマンドの色づけ

Linuxのように --color オプションが効かないようなのでググってみた。
ls -G
のように 'G' オプションでカラー表示可能なことが判明。さっそくエイリアス設定。
alias ll ls -lAGF