第137日目:【アナウンス活動】FFFTPとGumblarについて
|
ちょっと遅くなりましたが、明けましておめでとうございます。
('A`)です。
えーと、新年早々お尻の両側に粉瘤(ふんりゅう)ができちゃって、ひいひい言ってました。
焼き鳥の串みたいな針で麻酔なしでプスッ、プスッっと穴をあけてはムギュ、ムギュっと
血膿を絞り出してました。
熱が出たり、椅子に座るのも1/8(金)位までつらかったですが、今は大丈夫です。
生きていますよーーーー!
で、「Javaが使えるサーバ作って」っと(^_^;)さんからお題が出たので、リハビリも兼ねて
作っていました。
えーと、皆さんの方が('A`)よりも詳しいんじゃないかな、と思いますが、一応書いてみます。
FreeBSDでJavaを使う場合、参考になるのは本家サイトのJavaプロジェクトのページです。
いやあ、Javaをインストールするのに、ライセンスが必要なんですね。
初めて知りました。
で、FreeBSD財団なる組織があって、ここでJDKやJREとかが公開されています。
JavaってSUNが作ったものですが、ユーザが使用するには使用許諾が必要になります。
FreeBSD財団に置いてあるものはEULA(使用許諾契約書)込みのパッケージです。
(この認識で正しいのかなあ・・・)
で、パッケージはこちらから取ってこれます。
あと、Javaを使う場合にはTomcatを使う、との事でした。
サーブレットとか言われても、ちんぷんかんぷんです、ハイ・・・(汗
さて、今回どの様にインストールするかというと、portsからインストールします。
で、インストールするサーバはこんな構成の32ビットのT-Bananaです。
------------------------------------------------------------------
OS: FreeBSD 7.0-RELEASE i386
Apache/2.0.59 (Unix) PHP/5.2.5 mod_ssl/2.0.59 OpenSSL/0.9.8e
Perl 5.8.9 MySQL 5.0.45
------------------------------------------------------------------
で、ここにJava (diablo-jdk16)とTomcat6をインストールします。
まずは最新のportsを取ってくるところから説明します。
もともとの7.0-RELEASEだとJDKはdiablo-jdk14かdiablo-jdk15しかありません。
どうせだったら、新しいのを入れましょう。
pkg_add http://banana244.maido3.com/~pkg/ports/packages-7.0-release/All/cvsup-without-gui-16.1h_3.tbz
rehash
cp /usr/share/examples/cvsup/standard-supfile /root
cd /root
chmod 644 standard-supfile
|
で、viなどのエディタでstandard-supfileの中身を下記の様にする。
*default host=cvsup.jp.FreeBSD.org
#*default host=cvsup4.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
ports-all
|
で、保存した後で、以下のコマンドを実行
|
cvsup -g -L2 /root/standard-supfile
|
で、次に/usr/ports/distfilesに以下の3つのパッケージを設置します。
まずは/usr/ports/distfilesを作るところから始めます。
「えっ・・・?」と思われる方もいるかと思いますが、最新のportsをcsvupでダウンロード
した場合、この/usr/ports/distfilesというディレクトリは作られません。
なので、自分でmkdirしないといけないのです。
mkdir /usr/ports/distfiles
|
diablo-jdk16では以下のファイルが必要になります。
JDKの本体(EULA込み?)
diablo-caffe-freebsd6-i386-1.6.0_07-b02.tar.bz2
JDK DST タイムゾーン更新ツール
tzupdater-1_3_21-2009p.zip
Java Cryptography Extension (JCE) 無制限強度の管轄ポリシーファイル 6
jce_policy-6.zip
|
1番目のファイルはこちらから取ってこれます。
で、注意しなければならないのは2番目と3番目のファイルです。
これはSUNのココのページからダウンロードできますが、ユーザ登録が必要になります。
まずダウンロードページ(日本語)はこんな感じです。

で、ページの中間あたりに「関連製品」と書かれているエリアがあるので、そこまで進んで下さい。
「JDK DST タイムゾーン更新ツール 1.3.25」という処の右はじにある「ダウンロード」という
ボタンをクリックします。
すると、下記のページ(英語)が表示されます。

で、ユーザ登録をしていない場合には「Register Now」というリンクからユーザ登録ページに
移ります。

ここでメールアドレスとパスワード及び名前とかを入力して「Submit」ボタンを押すと
入力したメールアドレス宛てにSunから下記の件名でメールが届きます。
Action Needed: Sun Online Account Email Confirmation
で、メールに記載されている「To confirm your email address, simply click the link below:」
の後で記載されたURLをクリックすると、確認作業が終わりダウンロードサービスが受けられる様に
なります。
で、もうひとつのパッケージは「その他のダウンロード」と書かれた処にあります。
右はじにある「ダウンロード」というボタンをクリックすると、下記のページ(英語)に切り替わります。

で、各パッケージをダウンロードしたら、 /usr/ports/distfilesにパッケージをアップロード
して下さい。
「面倒くさいなあ・・・」という人はgoogleさんを使ってパッケージを探してみて手に入れて下さい。
その時に気をつけないといけないのは取ってきたパッケージが壊れていないかをMD5コマンドとかで
確かめる事です。
ちなみにdiablo-jdk16/distinfoには下記の様にMD5とSHA256の一覧が書かれていますので、
この値と同じかどうか確かめて下さい。
# cat /usr/ports/java/diablo-jdk16/distinfo
MD5 (diablo-caffe-freebsd6-amd64-1.6.0_07-b02.tar.bz2) = 47706da3d069ed5147bfc5369e7b4555
SHA256 (diablo-caffe-freebsd6-amd64-1.6.0_07-b02.tar.bz2) = 1bbe2c35d754fa09530cff81bda6b6452c5bf0feeac25e1d02a4c29a8e52ef66
SIZE (diablo-caffe-freebsd6-amd64-1.6.0_07-b02.tar.bz2) = 63004389
MD5 (diablo-caffe-freebsd6-i386-1.6.0_07-b02.tar.bz2) = 2d4d0c39ebfcc0f005df0147761494ab
SHA256 (diablo-caffe-freebsd6-i386-1.6.0_07-b02.tar.bz2) = 208e051014cdaecde07145cb510e4c0a0840ef35e4559c301ce324602a77f9ec
SIZE (diablo-caffe-freebsd6-i386-1.6.0_07-b02.tar.bz2) = 64381886
MD5 (diablo-caffe-freebsd7-amd64-1.6.0_07-b02.tar.bz2) = 32d58e79565fa55655a7806f305149dc
SHA256 (diablo-caffe-freebsd7-amd64-1.6.0_07-b02.tar.bz2) = 09f9fb014779f1e02456d51692c61902125800830b82078be9eac95190343109
SIZE (diablo-caffe-freebsd7-amd64-1.6.0_07-b02.tar.bz2) = 62778916
MD5 (diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2) = 39d0af2a6dbffc51ea4e465f4bd9f33d
SHA256 (diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2) = 971a537f8e852166fa94a9666b14e2f0a8ee51dcf7a470ab7bcb5be0dba05409
SIZE (diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2) = 64093245
MD5 (jce_policy-6.zip) = b20f9d6ed14e55d73a5ed204bca01e7a
SHA256 (jce_policy-6.zip) = d0c2258c3364120b4dbf7dd1655c967eee7057ac6ae6334b5ea8ceb8bafb9262
SIZE (jce_policy-6.zip) = 9101
MD5 (tzupdater-1_3_21-2009p.zip) = cf2c40eddbe989efb16d00e1f6df5946
SHA256 (tzupdater-1_3_21-2009p.zip) = 55d84dd5723b3d355de8d505d15d97c2d1b0d1cbed5e3273fec7a4f8b57e8d3f
SIZE (tzupdater-1_3_21-2009p.zip) = 261418
#
|
あー、あとちょっと前後しますが、Tomcatのパッケージも/usr/ports/distfilesに
設置しましょう。
cd /usr/ports/distfiles
fetch http://ftp.riken.jp/net/apache/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.tar.gz
|
色々な処からパッケージをとってこないといけないので準備が大変でしょうが、
ここまでくれば、あとは簡単です。
【JDKのインストール】
cd /usr/ports/java/diablo-jdk16
make install clean
|
make installの時オプション設定の画面が出ると思いますが、
矢印キー(←、→)を左右に動かしてから「OK」ボタンをクリックします。
【Tomcat6.0のインストール】
cd /usr/ports/www/tomcat6
make install clean
|
さあ、Javaが使える状態になっているか確かめてみます。
java -versionとコマンドを打って下記のメッセージが表示されればOKです。
# java -version
java version "1.6.0_07"
Diablo Java(TM) SE Runtime Environment (build 1.6.0_07-b02)
Diablo Java HotSpot(TM) Server VM (build 10.0-b23, mixed mode)
#
|
で、最後にTomcatの設定とかを行います。
通常Apache1.3や2.0系だとmod_jk.soを使ってApacheとTomcatを連動させる、のだそうです。
(Apache2.2系だとmod_proxyとmod_proxy_ajpを使うそうです。)
今回はApache2.0.59なので、mod_jkを使います。
では、mod_jkのソースを取ってきます。
Tomcatのサイト(http://tomcat.apache.org/)に
アクセスすると、向かって左手の方にメニューが書かれています。
で、「Download」と書かれている個所で「Tomcat Connectors」と書かれたリンクを見つけたら
クリックして下さい。
そうするとページ中ほどの処に「Tomcat Connectors JK 1.2」と書かれた個所があります。
ここの「JK 1.2.28 Source Release tar.gz 」と書かれたリンクからパッケージを入手して
下さい。
手順としてはこんな感じです。
cd /tmp
fetch http://ftp.riken.jp/net/apache/tomcat/tomcat-connectors/jk/source/jk-1.2.28/tomcat-connectors-1.2.28-src.tar.gz
tar zxvf tomcat-connectors-1.2.28-src.tar.gz
cd tomcat-connectors-1.2.28-src/
./configure --with-apxs=/usr/local/sbin/apxs
make
make install
|
で、ここまで終わったら、Apacheのモジュール(.so)が格納されているディレクトリに
mod_jk.soが出来ているか確認して下さい。
出来ていたらOKです。
では、簡単な設定を少し書きます。
まずTomcatの管理画面(マネージャー)にログインする為のユーザ登録を行います。
ファイルは /usr/local/apache-tomcat-6.0/conf/tomcat-users.xml です。
で、と書かれたタグの下に例えばこんな行を書きます。
<role rolename="manager"/>
<role rolename="tomcat"/>
<role rolename="admin"/>
<role rolename="role1"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="admin" password="tomcat" roles="admin,manager"/>
|
次にTomcatのサーバ定義です。
ファイルは /usr/local/apache-tomcat-6.0/conf/server.xml です。
で、と書かれたタグの直前に例えばこんな行を書きます。
<Connector className="org.apache.tomcat.service.PoolTcpConnector">
<Parameter name="handler" value="org.apache.tomcat.service.connector.Ajp13ConnectionHandler"/>
<Parameter name="port" value="8009"/>
</Connector>
|
次にApacheに関連づけTomcatのワーカ定義です。
ファイルは /usr/local/etc/apache2/workers.properties です。
例えばこんな感じで中身を書いてみました。
echo '' > /usr/local/etc/apache2/workers.properties
echo 'worker.list=ajp13' >> /usr/local/etc/apache2/workers.properties
echo 'worker.ajp13.host=114.160.23.44' >> /usr/local/etc/apache2/workers.properties
echo 'worker.ajp13.port=8009' >> /usr/local/etc/apache2/workers.properties
echo 'worker.ajp13.type=ajp13' >> /usr/local/etc/apache2/workers.properties
|
あとはApacheの定義です。
ファイルは /usr/local/apache2/conf/httpd.conf です。
まずは以下の行を追加して、mod_jkを呼び出します。
|
LoadModule jk_module modules/mod_jk.so
|
次にTomcatのワーカ定義を読み込ませます。
<IfModule mod_jk.c>
JkWorkersFile /usr/local/etc/apache2/workers.properties
JkShmFile /var/db/mod_jk_shm
JkLogFile /var/log/mod_jk.log
JkLogLevel info
JkMount /*.jsp ajp13
</IfModule>
|
で、Tomcatを動かす為の定義です。
/etc/rc.confに以下の1行を追加します。
で、ここまで済んだら、以下のコマンドでTomcatを手動起動してみましょう。
|
/usr/local/etc/rc.d/tomcat6 start
|
で、ブラウザから http://ホスト名:8180/ にアクセスしてTomcatのページ
虎なのか猫なのか判りませんが絵が表示されればOKです。
えーと、なんでポートが8180なのかというと、FreeBSDのportsに収録されている
TomcatのMakefileで8180と指定されているからです。
このポートがいやだったら、書き換えてからインストールするといいかも、です。
(HTTP_PORT?=で記述されています。)
念の為、収録されていたMakefleです。
【Tomcat6のMakefile】
# cd /usr/ports/www/tomcat6
# cat Makefile
# New ports collection makefile for: apache-tomcat
# Date created: 14 Feb 2007
# Whom: Nemo Liu
#
# $FreeBSD: ports/www/tomcat6/Makefile,v 1.54 2009/12/16 15:09:28 ale Exp $
#
PORTNAME= tomcat
PORTVERSION= 6.0.20
PORTREVISION= 1
CATEGORIES= www java
MASTER_SITES= ${MASTER_SITE_APACHE}
MASTER_SITE_SUBDIR= tomcat/tomcat-6/v${PORTVERSION}/bin
DISTNAME= apache-${PORTNAME}-${PORTVERSION}
MAINTAINER= ale@FreeBSD.org
COMMENT= Open-source Java web server by Apache, 6.x branch
USE_JAVA= yes
JAVA_VERSION= 1.5+
NO_BUILD= YES
USE_RC_SUBR= tomcat6.sh
SUB_FILES= pkg-install
MAJOR_VER= ${PORTVERSION:R}
APP_HOME?= ${PREFIX}/${DISTNAME:R}
LOG_DIR= ${APP_HOME}/logs
APP_SHORTNAME= ${PORTNAME}${MAJOR_VER:S/.//}
TOMCAT_USER?= www
TOMCAT_GROUP?= www
HTTP_PORT?= 8180
SHUTDOWN_PORT?= 8005
AJP_1_3_PORT?= 8009
STDOUT_LOG= ${LOG_DIR}/stdout.log
STDERR_LOG= ${LOG_DIR}/stderr.log
JAR_FILE= bin/bootstrap.jar
CONF_FILES= catalina.policy catalina.properties context.xml logging.properties server.xml tomcat-users.xml web.xml
CONF_EXT= sample
PLIST_SUB= T=${APP_HOME:S/^${PREFIX}\///} CONF_EXT=${CONF_EXT} \
WWWOWN=${TOMCAT_USER} WWWGRP=${TOMCAT_GROUP}
LATEST_LINK= ${APP_SHORTNAME}
SUB_LIST= AJP_1_3_PORT=${AJP_1_3_PORT} \
APP_HOME=${APP_HOME} \
APP_SHORTNAME=${APP_SHORTNAME} \
GROUP=${TOMCAT_GROUP} \
HTTP_PORT=${HTTP_PORT} \
JAR_FILE=${JAR_FILE} \
SHUTDOWN_PORT=${SHUTDOWN_PORT} \
STDERR_LOG=${STDERR_LOG} \
STDOUT_LOG=${STDOUT_LOG} \
TOMCAT_HOME=${APP_HOME} \
TOMCAT_VERSION=${MAJOR_VER:S/.//} \
USER=${TOMCAT_USER}
.include
pre-patch:
@${ECHO_MSG} "Installation settings:"
@${ECHO_MSG} " Destination directory: ${APP_HOME}"
@${ECHO_MSG} " Location of JDK: ${JAVA_HOME}"
@${ECHO_MSG} " Location of Java port: ${JAVA_PORT}"
@${ECHO_MSG} " Running as (user/group): ${TOMCAT_USER}/${TOMCAT_GROUP}"
@${ECHO_MSG} " HTTP port: ${HTTP_PORT}"
@${ECHO_MSG} " Shutdown listener port: ${SHUTDOWN_PORT}"
@${ECHO_MSG} " AJP 1.3 connector port: ${AJP_1_3_PORT}"
@${ECHO_MSG} " Logfile stdout: ${STDOUT_LOG}"
@${ECHO_MSG} " Logfile stderr: ${STDERR_LOG}"
post-patch:
@${REINPLACE_CMD} ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} ${WRKSRC}/conf/server.xml
@${RM} -f `${FIND} ${WRKSRC} -name '*.bat'` `${FIND} ${WRKSRC} -name '*.exe'` \
`${FIND} ${WRKSRC} -name '*.orig'` `${FIND} ${WRKSRC} -name '*.bak'`
.for f in ${CONF_FILES}
@${MV} ${WRKSRC}/conf/${f} ${WRKSRC}/conf/${f}.${CONF_EXT}
.endfor
pre-install:
@PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
do-install:
@${ECHO_MSG} -n ">> Creating destination directory..."
@${MKDIR} ${APP_HOME}
@${MKDIR} ${LOG_DIR}
@${MKDIR} ${APP_HOME}/endorsed
@${ECHO_MSG} " [ DONE ]"
@${ECHO_MSG} -n ">> Copying files to destination directory..."
@${CP} -R ${WRKSRC}/* ${APP_HOME}
@${ECHO_MSG} " [ DONE ]"
.for f in ${CONF_FILES}
. if !exists(${APP_HOME}/conf/${f})
@${CP} ${APP_HOME}/conf/${f}.${CONF_EXT} ${APP_HOME}/conf/${f}
. else
@${ECHO_MSG} ">> Preserving local configuration file: ${f} [ DONE ]"
. endif
.endfor
@${ECHO_MSG} -n ">> Creating symlink to tools.jar..."
@${LN} -sf ${JAVA_HOME}/lib/tools.jar ${APP_HOME}/lib/tools.jar
@${ECHO_MSG} " [ DONE ]"
@${ECHO_MSG} -n ">> Fixing ownership settings..."
@${CHOWN} -R ${TOMCAT_USER}:${TOMCAT_GROUP} ${APP_HOME}/conf ${APP_HOME}/logs \
${APP_HOME}/temp ${APP_HOME}/webapps ${APP_HOME}/work
@${ECHO_MSG} " [ DONE ]"
@${ECHO_MSG} -n ">> Fixing permissions..."
@${FIND} ${APP_HOME} -type d -print0 | ${XARGS} -0 ${CHMOD} 755
@${ECHO_MSG} " [ DONE ]"
.include
#
|
はー、久しぶりに日記を書いたので、ちょっと疲れました。
作ったJavaのサーバは、今root兄(・∀・)が色々いじっています。
とりあえず動いているみたい。
時間があったら、Apache2.2系の時の構築をやってみようかなあ・・・
それでは、また。
|
|
|
|
|