green FTP サーバの構築 | [目次] [前のページ/次のページ] |
green は主に専攻サーバーの構築に必要なファイル、
パッケージを取得するために様々なサイトをミラーリングしている。
Debian | ftp://ftp.jp.debian.org/ |
---|---|
OTP | ftp://starbow.st.ryukoku.ac.jp/pub/security/tool/opie/ |
inn | ftp://ftp.isc.org/isc/inn/ |
wu-ftpd | ftp://ftp.wu-ftpd.org/pub/wu-ftpd/ |
qmail | ftp://ftp.jp.qmail.org/qmail/ |
ezmlm | ftp://ftp.jp.qmail.org/ezmlm/ |
smtp | ftp://ftp.cac.washington.edu/imap/ |
imap | ftp://ftp.win.ne.jp/pub/network/mail/qmail/ |
green ではミラーリングの自動化のために専用のアプリケーションを導入している。 今回は Debian パッケージに含まれている"fmirror version 0.8.4"を用いた。 以下 fmirror の設定ファイルを用いたミラーリングの方法について説明する。
dselect で行う。
Debian GNU/Linux にはソフトウェアのインストールを簡単に行うために
dselect、apt-get、dpkg といったコマンドが用意されている。
ここでは dselect を用いる方法を解説する(
ソフトウェアのインストール、dselect
より引用)。
まず root としてログインし、
# dselect
を実行。
[A]ccess
"ftp" を選択する。
以下設定する箇所のみを書く。
コロンのあとに何も書かれていない場合はリターンを押したことを意味する。
・Enter ftp site []:
dennou-h.ees.hokudai.ac.jp
・Use passive mode [y]:
・Enter username [anonymous]:
・Enter password [root@green.sci.hokudai.ac.jp]:
自分のメールアドレスを書く
・Enter debian directory [/pub/]:
/arch/cc-env/Linux/debian-jp
・Go through an authenticated FTP proxy [n]:
・Enter space seperated list of distributions to get[]:
dists/slink/main dists/slink/non-free dists/slink/contrib
dists/slink-jp/main dists/slink-jp/contrib dists/slink-jp/non-free
(スペースで区切る)
・Enter directory to download binary package files to (relative to
/var/lib/dpkg/methods/ftp/) [debian]:
[U]pdate
リターンを押す
[S]elect
スペースキーを押してファイル一覧画面になったら、
/(スラッシュ)に続けて"fmirror"と入力する。
fmirror の行で"+"を押す(インストールするパッケージに加えられる)
fmirror の依存するパッケージの一覧が表示されるので、
リターンを押す
[I]nstall
fmirror と依存するパッケージがインストールされる。
[C]onfig、[R]emove、[Q]uit と順に実行
fmirrorの設定ファイルは /etc/fmirror に置かれる。
ここには実際にミラーリングを行う際の設定と
ミラーリングの実行を記述したシェルスクリプトである *.conf ファイルと、
cron による自動ミラーリングを意識した config ファイルがある。
/etc/fmirror/debian.conf など /etc/fmirror/*.conf の中身は、
green の /etc/fmirror/debian.conf
green の /etc/fmirror/OTP.conf
green の /etc/fmirror/inn.conf
green の /etc/fmirror/wu-ftpd.conf
green の /etc/fmirror/qmail-smtp.conf
green の /etc/fmirror/ezmlm.conf
green の /etc/fmirror/imap.conf
green の /etc/fmirror/imap-patch.conf
green の /etc/fmirror/config
を参照のこと。
ここでは debian.conf を例にして *.conf ファイルの設定内容を説明する。
※行頭の番号は説明のためにつけたもので、実際のファイルには含まれていない。
※ bin、etc、lib 各ディレクトリのミラーリング除外
<11>行目で指定している localdir(green の /home/ftp/) には
元から bin/、etc/、lib/ といったディレクトリが存在する。
これらは anonymous FTP ユーザーが利用するための
ls コマンドなどを含んでいるが、
ミラーリングによってこれらのディレクトリが上書きされた場合、
anonymous FTP でログインした際に
ファイルが表示できなくなるなどの問題が生じる。
そこで <20-21>行では exclude 構文を用いて
これらのディレクトリをミラーリングの対象から除外している。
この設定はデフォルトでインストールされる generic.conf には
含まれていないので管理者が記述しなければならない。
<21>行目に、
exclude: p ^(bin/|etc/|lib/)
と書き加える。^(bin/|etc/|lib/) は正規表現を用いている。
こちらは次に説明する cron によるミラーリングのための
各種環境変数の設定を行っている。
重要なのは<30>行目である。
NIGHTLY_JOBS="wu-ftpd OTP inn qmail-smtp ezmlm imap imap-patch"
とする。ここで変数 NIGHTLY_JOBS に指定した文字列に .conf を付けた名前のファイルが cron によるミラーリングの設定に用いられることになる。 ここでは debian wu-ftpd OTP inn qmail-smtp ezmlm imap imap-patch となっているため debian.conf 、wu-ftpd.conf 、... ファイルが使われる。 ただし debian は容量が非常に大きいため毎日ミラーせず、 以下のように設定することで毎週日曜日のみミラーを行うようにした。
DAY[0]="debian"
UNIX には定期的に行う作業を自動的に行うための cron というツールが用意されている。 さらに debian では /etc/cron.daily/、 /etc/cron.weekly/ といったフォルダを用意している。 これらのフォルダに格納されたプログラムをそれぞれ毎日、 毎週実行することで設定を簡単にしている。 fmirror の実行スクリプトはデフォルトで /etc/cron.daily に格納されている。
greenの/etc/cron.daily/fmirror
※行頭の番号は説明のためにつけたもので、実際のファイルには含まれていない。
以上のミラーリングの行程を簡単に説明すると次のようになる。
大澤文孝、永安悟史、松枝知直 | 1999 | インターネットサーバ構築術 Linux編 | 工学社 |
Cricket Liu、Adrian Nye 共著、小川正夫、本多淳子 監訳、加藤勝明 著 | 1997 | FTP サーバ構築ガイド | オライリー・ジャパン |
更新日: 2000/07/05 河野仁之 | [目次] [前のページ/次のページ] |