Network Server
$CREATE 10/29/2001 by Mie Suemitsu
$UPDATE 11/08/2001 by Mie Suemitsu
$UPDATE 01/12/2002 by Mie Suemitsu
bind
apache
jdk&tomcat
perl
namazu
analog
http://www.isc.org のミラーサイト
ftp://ftp.kyushu-u.ac.jp/pub/Net/isc/
ftp://ftp.iij.ad.jp/pub/network/isc/
ftp://ftp.dti.ad.jp/pub/net/isc/
ftp://ftp.u-aizu.ac.jp/pub/net/isc/
より download
1.bind 9.1.3 を download
ftp://ftp.iij.ad.jp/pub/network/isc/bind9/9.1.3/bind-9.1.3.tar.gz を download
2.展開
# cd /usr/local/src
# tar zxvf bind-9.1.3.tar.gz
3.bind-9.1.3 directory へ移動、README を読む
# cd bind-9.1.3
# view README
4.README の説明に従い
5.localhost.rev の作成
# cd /etc/namedb
# sh make-localhost
6.named.conf の編集
# cd /etc/namedb
# vi named.conf
options {
directory "/etc/namedb"; ;zone ファイルを置く directory
};
zone "." {
type hint; ;root server に関するデータ
file "named.root";
};
zone "0.0.127.IN-ADDR.ARPA" { ;localhost の逆引き
type master;
file "localhost.rev";
};
zone "palmyra.ne.jp" { ;palmyra.ne.jp の正引き
type master;
file "palmyra.ne.jp.zone";
allow-query { 127.0.0.1; }; ;問い合わせを許可するホスト
allow-transfer { none; };
};
zone "232.238.210.in-addr.arpa" { ;palmyra.ne.jp の逆引き
type master;
file "232.238.210.in-addr.arpa.rev";
allow-query { 127.0.0.1; }; ;問い合わせを許可するホスト
allow-transfer { none; };
};
7.zone ファイルの作成
# cd /etc/namedb
# vi palmyra.ne.jp.zone
; From: @(#)localhost.rev 5.1 (Berkeley) 6/30/90
; $FreeBSD: src/etc/namedb/PROTO.localhost.rev,v 1.6 2000/01/10 15:31:40 peter Exp $
;
; This file is automatically edited by the `make-localhost' script in
; the /etc/namedb directory.
;
$TTL 3600
@ IN SOA mail.palmyra.ne.jp. root.mail.palmyra.ne.jp. (
20011029 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS mail.palmyra.ne.jp.
IN NS demon.palmyra.ne.jp.
localhost IN A 127.0.0.1
mail IN A 210.238.232.75
demon IN A 210.238.232.66
celebris IN CNAME mail
www2 IN CNAME mail
8.rev ファイルの作成
# cd /etc/namedb
# vi 232.238.210.in-addr.arpa.rev
; From: @(#)localhost.rev 5.1 (Berkeley) 6/30/90
; $FreeBSD: src/etc/namedb/PROTO.localhost.rev,v 1.6 2000/01/10 15:31:40 peter Exp $
;
; This file is automatically edited by the `make-localhost' script in
; the /etc/namedb directory.
;
$TTL 3600
@ IN SOA mail.palmyra.ne.jp. root.mail.palmyra.ne.jp. (
20011029 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS mail.palmyra.ne.jp.
IN NS demon.palmyra.ne.jp.
75 IN PTR mail.palmyra.ne.jp.
66 IN PTR demon.palmyra.ne.jp.
9.resolv.conf の編集
# cd /etc
# vi resolv.conf
domain palmyra.ne.jp
nameserver 127.0.0.1
nameserver 210.238.232.66
nameserver 210.141.108.226
10.named の起動
11.named の自動起動
11.1 FreeBSD の場合
# cd /etc
# vi rc.conf に以下の行を追加
named_enable="YES"
named_program="/usr/sbin/named"
named_flags=""
11.2 Plamo Linux の場合
# cd /etc/rc.d
# vi rc.inet2 に以下の行を追加
if [ -f /usr/sbin/named ] ; then
/usr/sbin/named
echo -n "named start"
fi
1.apache をダウンロード
ftp://ftp.apache.or.jp/pub/net/apache/dist/httpd/apache_1.3.23.tar.gz
を /usr/local/src に download
2.展開
# cd /usr/local/src
# tar zxvf apache_1.3.22.tar.gz
3.apache_1.3.22 directory へ移動、INSTALL を読む
# cd apache_1.3.22
# view INSTALL
4.INSTALL の説明に従いコンパイル・インストール
# ./configure
# make
# make install
tomcat servlet 環境を構築する場合は configure に option が必要
# env OPTIM="-O2" ./configure --enable-mojule=so
# make
# make install
5.httpd.conf の編集 276 行目 ServerName のコメントアウトをはずす
# cd /usr/local/apache/conf
# vi httpd.conf
# ServerName celebris.palmyra.ne.jp
ServerName celebris.palmyra.ne.jp
6.syntax check
# /usr/local/apache/bin/apachectl configtest
Syntax OK ;と表示されればOK
7.apache の起動
# /usr/local/apache/bin/apachectl start
8.apache の自動起動
FreeBSD の場合
# cd /usr/local/etc/rc.d
# ln -s /usr/local/apache/bin/apachectl apache.sh
Plamo linux の場合
# cd /etc/rc.d
# vi rc.local ;以下の記述を追加
if [ -f /usr/local/apache/bin/httpd ]; then
/usr/local/apache/bin/httpd -f /usr/local/apache/conf/httpd.conf
echo "apache start"
fi
9.CGI 実行環境の設定
httpd.conf に以下の設定をする
AddHandler cgi-script .cgi .pl
<Directory "/usr/local/apache/cgi-bin/">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
/home/*/public_html で CGI を実行する場合
<Directory "/home/*/public_html/">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ "/home/*/public_html/"
/home/*/public_html で CGI を実行する場合、実行するディレクトリィに .htaccess を置く
Options ExecCGI
AddType application/x-httpd-cgi .cgi
AddType application/x-httpd-cgi .cgi/
AddType application/x-httpd-cgi .pl
AddType application/x-httpd-cgi .pl/
JDK の install
JavaTM 2 Platform, Standard Edition v1.3.1_01
日本語サイト
ダウンロードサイト
Solaris の場合はこちら
1.JavaTM 2 Platform, Standard Edition v1.3.1_01 の download
2.j2sdk-1_3_1_01-linux-i386.bin を実行可能モジュールにして /usr/java で実行
# cd /usr/local/src
# chmod 755 j2sdk-1_3_1_01-linux-i386.bin
# cd /usr
# mkdir java
# cd java
# /usr/local/src/j2sdk-1_3_1_01-linux-i386.bin
ライセンスの確認画面になり
Do you agree to the above licelnse terms? [yes or no]
と聞いてくるので
と応える
/usr/java に jdk1.3.1_01 directory が作成される
3.jdk を利用するユーザの .bashrc を編集する
$ cd
$ vi .bashrc ;以下の2行を追加
export JAVA_HOME=/usr/java/jdk1.3.1_01
PATH=$PATH:JAVA_HOME/bin
1.tomcat user を登録
2.tomcat user の .bashrc を編集
# su - tomcat
$ cd
$ vi .bashrc
export JAVA_HOME=/usr/java/jdk1.3.0_01
export TOMCAT_HOME=/usr/java/jakarta-tomcat-3.2.3
PATH=$PATH:JAVA_HOME/bin:$TOMCAT_HOME/bin
$ source .bashrc
$ exit
3.tomcat を download
http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.2.3/bin/jakarta-tomcat-3.2.3.tar.gz
http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.2.3/src/jakarta-tomcat-3.2.3-src.tar.gz
を /usr/local/src に download
4.tomcat を展開
# cd /usr/java
# tar zxvf /usr/local/src/jakarta-tomcat-3.3.tar.gz
# chown -R tomcat:tomcat jakarta-tomcat-3.3
5.mod_jk の install
tomcat user になり mod_jk をコンパイルする
# su - tomcat
$ cd /usr/java
$ tar zxvf /usr/local/src/jakarta-tomcat-3.2.3-src.tar.gz
$ cd jakarta-tomcat-3.2.3-src/src/native/apache1.3
Makefile.linux を編集する
$ vi Makefile.linux
APXS=/usr/sbin/apxs
APXS=/usr/local/apache/bin/apxs
$ make -f Makefile.linux
---------------------------------------------------------
solaris の場合は以下のようにコンパイルする
# sh build-solaris.sh
$APACHE_HOME/bin/apxs -o mod_jk.so -DSOLARIS -I../jk -I/usr/java/include -I/usr/java/include/solaris -c *.c ../jk/*.c
---------------------------------------------------------
カレントディレクトリィに mod_jk.so ができるので、root になってコピーする
$ su -
# cd /usr/java/jakarta-tomcat-3.2.3-src/src/native/apache1.3
# cp mod_jk.so /usr/local/apache/libexec
6.http.conf の編集
# cd /usr/local/apache/conf/httpd.conf
# vi httpd.conf ;最後に以下の行を追加
Include /usr/java/jakarta-tomcat-3.2.3/conf/mod_jk.conf-auto
7.server.xml を編集
# cd /usr/java/jakarta-tomcat-3.2.3/conf/server.xml
# vi server.xml ;以下の行をコメントアウトする line.220-229
<!-- ==================== Connectors ==================== -->
<! ーー Normal HTTP
<Connector className="org.apache.tomcat.service.PoolTcpConnector">
<Parameter name="handler"
value="org.apache.tomcat.service.http.HttpConnectionHandler"/>
<Parameter name="port" value="8080"/>
</Connector>
-->
8.Tomcat の起動
tomcat を起動した後 apache を起動する
tomcat ユーザになって tomcat を起動する
# su - tomcat
$ tomcat.sh start
root になって apache を起動
$ su -
# /usr/local/apache/bin/apachectl start
9.自動起動
rc.local を編集する
# cd /etc/rc.d
# vi rc.local ;以下の行を追加
if [ -f /usr/java/jakarta-tomcat-3.2.1/bin/tomcat.sh ]; then
export HOME=/home/tomcat
export JAVA_HOME=/usr/java/jdk1.3.1_01
export TOMCAT_HOME=/usr/java/jakarta-tomcat-3.2.1
PATH=$PATH:$JAVA_HOME/bin:$TOMCAT_HOME/bin
/usr/java/jakarta-tomcat-3.2.1/bin/tomcat.sh start
echo "tomcat start"
fi
動作検証
ブラウザより 以下の URL を参照してサンプルページが表示されればOK
http://localhost/examples/servlets
cocoon のインストールとセットアップは http://www.palmyra.ne.jp/technical_memo/cocoon.html を参照
perl の download site
ftp://ftp.u-aizu.ac.jp/pub/CPAN
ftp://ftp.kddlabs.co.jp/CPAN/
http://mirror.nucba.ac.jp/mirror/Perl/
ftp://mirror.nucba.ac.jp/mirror/Perl/
ftp://ftp.meisei-u.ac.jp/pub/CPAN/
ftp://ftp.jaist.ac.jp/pub/lang/perl/CPAN/
ftp://ftp.dti.ad.jp/pub/lang/CPAN/
ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
1.perl を download
ftp://ftp.dti.ad.jp/pub/lang/CPAN/src/perl5.005_03.tar.gz
を /usr/local/src に download
2.展開
# tar zxvf perl5.005_03.tar.gz
3.perl5.005_03 directory へ移動 INSTALL を読む
# cd perl5.005_03
# view INSTALL
4.INSTALL の説明に従いコンパイル・インストール
# rm -f configu.sh Polisy.sh
# sh Configure
# make
# make test
# make install
5.動作検証 一般ユーザで検証すること
$ cd
$ vi hello.pl
$!/usr/bin/perl
print "hello celebris.palmyra.ne.jp\n;
$ perl hello.pl
hello celebris.palmyra.ne.jp ;と表示されればOK
または
$ chmod 755 hello.pl
$ ./hello.pl
hello celebris.palmyra.ne.jp ;と表示されればOK
namazu に関しては記述に誤りがありました。
動作するように訂正しましたが、美しくインストールするためには、まだまだ工夫すべきところが何箇所もあります。
それはまた、いずれそのうちに、書き直すということで。
namazu インストール作業遅れのために、某県庁と村林さんにお詫びするとともに、救いの手を差し伸べてくださった藤原誠さんに感謝します。
美しくはないですが、以下は取り合えず誤りを訂正してあります。
<反省>わかっているつもりでも、慣れているつもりでも、インストールの際にはドキュメントをよく読みましょう。</反省>
2002年1月12日(土)by 末光
namazu の download site
1.namazu を download
2.準備 >>> 次のソフトウェアが必要です http://namazu.org/doc/tutorial.html.ja#prep-make より参照
3.nfk の install
# cd /usr/local/src
# sh nkf171.shar
# make
# cp nkf /usr/local/bin
4.KAKASI の install
# cd /usr/local/src
# tar zxvf kakasi-2.3.4.tar.gz
# cd kakasi-2.3.4
# view INSTALL
INSTALL を読み指示に従う
INSTALL-ja は日本語で書かれている
# ./configure
# make
# make check
# make install
5.Text::Kakasi の install
# cd /usr/local/src
# tar zxvf Text-Kakasi-1.04.tar.gz
# cd Text-Kakasi-1.04
README を読み指示に従う
REEADME.jp は日本語で書かれている
/usr/local/src/Text-kakasi-1.04/Makefile.PL を編集する
# vi Makefile.PL
'INC' => '-I/usr/local/include'
'LIBS' => ['-L/usr/local/lib -lkakasi']
'INC' => '-I/usr/local/src/kakasi-2.3.5/lib/'
'LIBS' => ['-L/usr/local/lib -lkakasi']
make すると libkakasi.a が無いと言ってくるので探すと /usr/local/src/kakasi-2.3.5/lib/.libs にいる事がわかる
/usr/local/src/kakasi-2.3.5/lib/ にシンボリックリンクを張る
# cd /usr/local/src/kakasi-2.3.5/lib/
# ln -s .libs/libkakasi.a libkakasi.a
make すると libkakasi.h が無いと言ってくるので探すと /usr/local/src/kakasi-2.3.6/lib にいる事がわかる
/usr/local/src/kakasi-2.3.6/src/ にシンボリックリンクを張る
# cd /usr/local/src/kakasi-2.3.6/src
# ln -s ../lib/libkakasi.h libkakasi.h ;include ファイルとして読まなければならない
これで make が通る
# make clean ;再度コンパイルしなおす場合は make clean する
# perl Makefile.PL
# make
# make install
6.Chasen の install
# cd /usr/local/src
# tar zxvf chasen-2.2.8.tar.gz
# cd chasen-2.2.8
README INSTALL を読み指示に従う
# view README.jp
# view INSTALL.jp
# make clean ;再度コンパイルしなおす場合は make clean する
# ./configure --disable-shared
# make
# make check
# make install 使用方法も README-ja に記述されている
7.Text::ChaSen の install
# cd /usr/local/src
# tar zxvf Text-ChaSen-1.03.tar.gz
# cd Text-ChaSen-1.03
README を読み指示に従う
/usr/local/src/Text-ChaSen-1.03/Makefile.PL を編集
# vi Makefile.PL
'LIBS' => ['-lchasen']
'LIBS' => ['-L.usr/local/src/chasen-2.2.8/lib/.libs -lchasen']
# make clean ;再度コンパイルしなおす場合は make clean する
# perl Makefile.PL
# make
# make install
8.File::MMagic の install
# cd /usr/local/src
# tar zxvf File-MMagic-1.12.tar.gz
# cd File-MMagic-1.12
# make clean ;再度コンパイルしなおす場合は make clean する
# perl Makefile.PL
# make
# make install
9.gettext の install
10.PDF ファイルを検索対象にする場合は xpdf が必要です。
11.namazu の install
# cd /usr/local/src
# tar zxvf namazu-2.0.7.tar.gz
# cd namazu-2.0.7
# make clean ;再度コンパイルしなおす場合は make clean する
# ./configure
# make
# make check
# make install
namazu の構成を表示確認する
# mknmz -C
System: freebsd
Namazu: 2.0.10
Perl: 5.00503
NKF: module_nkf
KAKASI: module_kakasi -ieuc -oeuc -w
ChaSen: module_chasen -j -F '%m '
Wakati: module_kakasi -ieuc -oeuc -w
Lang_Msg: C
Lang: C
Coding System: euc
CONFDIR: /usr/local/etc/namazu
LIBDIR: /usr/local/share/namazu/pl
FILTERDIR: /usr/local/share/namazu/filter
TEMPLATEDIR: /usr/local/share/namazu/template
Supported media types:
application/pdf
application/x-bzip2
application/x-compress
application/x-gzip
message/news
message/rfc822
text/hnf
text/html
text/html; x-type=mhonarc
text/plain
text/plain; x-type=rfc
text/x-hdml
text/x-roff
12.動作検証
http://www.namazu.org/articles/SD-2000-11/#usage より
10.1コマンドラインでの動作検証
# cd /tmp
# mknmz /usr/local/share/namazu/doc ;インデックスの作成
# namazu 'カスタマイズ' /tmp ;インデックスの作成コマンドラインでの検索
10.2 Web での動作検証
.namazurc を cgi-bin にコピーする
# cd /usr/local/etc/nmazu/
# cp namazurc /usr/local/apache/cgi-bin/.namazurc
.namazurc を 編集する
# cd /usr/local/apache/cgi-bin/
# vi .namazurc
#Index /usr/local/var/namazu/index ;コメントアウトをはずす
Index /usr/local/var/namazu/index インデックス作成ディレクトリィの指定
#Template /usr/local/var/namazu/index
Template /usr/local/namazu/template ;NMZ.head、NMZ.foot、NMZ.body、NMZ.tips、NMZ.resultファイルのある位置
#Replace /home/foo/public_html/ http://www.foo.bar.jp/~foo/
Replace /usr/local/share/namazu/doc/ http://study.palmyra.ne.jp/namazu
検索ディレクトリィと検索結果表示のリンク先に整合性を取る
#Lang ja
Lang ja ;日本語検索に必要
index を作成する
# cd /usr/local/var/namazu/index
# nknmz /usr/local/share/namazu/doc
.namazurc で Replace したアドレスで参照できるようにリンクを張る
# cd /usr/local/apache/htdocs
# ln -s /usr/local/share/namazu/doc namazu
Template よりコピーして動作確認のための html を生成する
# cd /usr/local/apache/htdocs
# cat /usr/local/namazu/Template/NMZ.head.ja > namazu.html
# cat /usr/local/namazu/Template/NMZ.body.ja >> namazu.html
# cat /usr/local/namazu/Template/NMZ.foot.ja >> namazu.html
# vi namazu.html ;form の書き直し
{cgi}
↓
cgi-bin/namazu.cgi
netscape の URL に http://localhost/namazu.html ;apache が起動していること
Solarisでmknmzを実行しよう とすると、"Not a catalog file"と表示されてしまいます。
http://namazu.org/FAQ.html.ja#not-a-catalog-file
1.analog を download
2.展開
# cd /usr/local
# tar zxvf src/analog-5.03.tar.gz
3.analog.cfg を編集
# vi analog.cfg
IMAGEDIR /usr/local/analog/images/ ;image ファイルの場所
LANGUAGE JAPANESE ;日本語
OUTFILE Report.html ;コメントアウトされているのではずす
LOGFILE /usr/local/apache/logs/access_log ;httpd の access_log ファイル
4.httpd.conf を編集
# cd /usr/local/apache/conf/
# vi httpd.conf
Alias /analog/ "/usr/local/analog/"
Options ExecCGI Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
5.install
# cd /usr/local/analog
# make
# ./analog
6.動作検証
ブラウザに以下の URL を入れて ウェブサーバの統計が表示されればOK
http://study.palmyra.ne.jp/analog/Report.html
7.運用
cron で定期的に実行する
FreeBSD の場合以下のように cron を設定する
# cd /var/cron/tabs
# vi root
*/5 * * * * /usr/local/analog/analog
8.Report.html にアクセス制限を設ける
Apache による directory に対する認証
Basic認証
mod_auth モジュールを組み込んだかどうかは
$ /usr/local/apache/bin/httpd -l
を実行すればわかる
通常は組み込まれている
/usr/local/apache/conf/httpd.conf に
と記述されているか確認する
通常は記述されている
/usr/local/apache/conf/httpd.conf を編集する
# cd /usr/local/apache/conf
# vi httpd.conf
Alias /analog/ "/usr/local/analog/"
<Directory "/usr/local/analog">
Options ExecCGI Indexes MultiViews
# AllowOverride None
AllowOverride All ;認証を必要とする directory 内での .htaccess の指定を全て許可する
Order allow,deny
Allow from all
</Directory>
認証を必要をする directory に .htaccess を作成する
# cd /usr/local/analog
# vi .htaccess
AuthType Basic
AuthName "password require"
AuthUserFile /usr/local/analog/.htpasswd
<Limit GET>
require valid-user
</Limit>
htpasswd コマンドを使ってアクセスを許可する username と password を設定するファイル .htpasswd を作成する
# cd /usr/local/analog
# htpasswd -c .htpasswd analog;-c は最初に作成するときに必要な option 付けなければ username が追加される
;.htpasswd はファイル名
;analog は username