基本はapt-getで出来るものはapt-getを使ってインストール
そのほかはソースを入手してmake install
apt-getを使うために、まず /etc/apt/sources.list を修正する。
vi /etc/apt/sources.list ←編集できる状態にする
Vine Linux 2.6 FTPのring mirrorを有効にした
VilePlusの頭のコメント#を取り除いて保存
ファイルを送り込むのにFTPをインストールしても良いのですがsmbaで共有させてWindowsのパソコンから送り込む事にします。
以下を順にインストール
以下手順
apt-getで取得
ブラウザから玄箱の各種設定に使います。
apt-get update apt-get install webmin apt-get clean
設定ファイル: /etc/webmin/miniserv.conf中の
allow=127.0.0.1
をアクセスするパソコンのIPアドレスをスペースで区切り追加する
allow=127.0.0.1 192.168.1.110 192.168.1.111
ssl=0 ←とりあえず今は・・
再起動!!
/etc/init.d/webmin restart
webminへのアクセスは http://server:10000 もしくは http://玄箱のIPアドレス:10000
ログイン画面:rootとパスワードでログイン
apt-getで入手
時間を合わせて正確に!!
apt-get update apt-get install ntp
でインストール完了。
基準ntpサーバー設定ファイル: /etc/ntp.confを開いてサーバーアドレスを追加(使えるNTPサーバーを調べておこう)
以下は参考までに
server 133.100.9.2 server 130.87.32.71 server 133.31.180.6
などを追加
起動
/etc/rc.d/init.d/ntpd start
自動起動設定
chkconfig ntpd on
自動起動設定確認
chkconfig --list ntpd nptd 0:off 1:off 2:0ff 3:on 4:on 5:on 6:off
動作確認はしばらくしてから
ntpq -p
で行頭に* や + が付いていたらOK
ダイナミックDNS(DDNS)を使用しているのでIPアドレスの変更時はサーバへ通知する必要があります。
そこでDDNSサーバの負担を減らすためにIPアドレスの変更時のみ登録するようにperlスクリプトを作成します。登録にはwgetを使います。
apt-getで入手
apt-get update apt-get install wget
でインストール完了。
次にディレクトリを作成
cd /usr mkdir -p ddns
ここにipchk.plを作成します。
このスクリプトはホームページ240ネット http://240net.ddo.jp/にあるものです。
詳しくはそちらを見てください。
DDNSチェックファイル:/usr/ddns/ipchk.pl
vi /usr/ddns/ipchk.pl このipchk.plに以下の記述を書き込みます。 ---------------------------ここから---------------------------------- !/usr/bin/perl $CRT_IPF = '/usr/ddns/CRT_IP.dat'; $NEW_IPF = '/usr/ddns/NEW_IP.dat'; $LOG = '/var/log/ddns.log'; open INPUT,"$CRT_IPF"; $CRT_IP=<INPUT>; close INPUT; system("wget -q -O $NEW_IPF 'http://info.ddo.jp/remote_addr.php'"); open(INPUT,$NEW_IPF); $c = <INPUT>; $stp = index($c,"REMOTE_ADDR:")+12; $edp = length($c); $NEW_IP = substr($c,$stp,($edp-$stp)); close(INPUT); if ($NEW_IP ne "" and $CRT_IP ne $NEW_IP) { open (OUTPUT ,">$CRT_IPF"); print OUTPUT $NEW_IP; close OUTPUT; print "IP Address update: $CRT_IP to $NEW_IP\n"; system("wget -q -O - 'http://ddo.jp/dnsupdate.php?dn=ドメイン&pw=パスワード'"); $now_string = localtime; open (OUTPUT ,">>$LOG"); print OUTPUT "$now_string DDNS IP Address Updated. $CRT_IP to $NEW_IP\n"; close OUTPUT; } #-----------------------------ここまで--------------------------------
※「ドメイン」と「パスワード」のところは自分のサーバー用に変更し保存。
crontabを編集して定期的にipchk.plを起動するように設定します。
vi /etc/crontab --以下開いたファイルの追加部分-- # DDNS */30 * * * * root perl /usr/ddns/ipchk.pl [#w0b25158] 00 5 * * 0 root rm -f /usr/ddns/CRT_IP.dat 00 5 * * 3 root rm -f /usr/ddns/CRT_IP.dat --以上開いたファイルの追加部分--
この設定は、30分毎にIPアドレスの変更をチェック。
変更があった場合にDDNSサーバに対しIPアドレスの更新を行います。
また、日曜日と水曜日の午前5時にCRT_IP.datを強制削除することにより、
次のチェックタイミングで自動更新を行います。
これで週2回は必ず更新。
apt-getでインストール
FTPサーバーです
apt-get install proftpd
/etc/inetd.confの以下の行をコメントアウト。
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
追加
ftp stream tcp nowait root /usr/sbin/tcpd in.proftpd
/etc/proftpd.confの以下の行をOKか確認
ServerType inetd
proftpdの有効化と確認
chkconfig proftpd on chkconfig --list proftpd
再起動せずに有効化
killall -HUP inetd
ProFTPの設定ファイル: /etc/proftpd.conf
★まずはゲストアカウントの準備
※anonymous ftp用のパブリックアカウント
パスワード入力が不要で。
所定のディレクトリのみにアクセスすることができるアカウント。
慣例に従って、ftpと言うユーザー名で作成。
(FPTでは)anonymousという別名でログインすることが可能とする。
※特定のディレクトリだけを書き換えることができるゲストアカウント
ユーザー固有のパスワードを入力することが必要。
所定のディレクトリ(ホームディレクトリ)のみにアクセスすることができる。
今回はユーザー:ftpuser、所属グループ:ftpgrpを作成
1.ホームディレクトリ (anonymous ftpサービスとして公開)を指定する。
anonymous ftpに公開するディレクトリに対するアクセス制御は、
後でProFTPの設定ファイルで細かく指定する。
ファイルが一覧と読み出しができるパブリックサービス用のディレクトリとして
/mnt/ftp/pub
ファイル一覧は見れないが読み出しができる特定グループ配布用のディレクトリ
/mnt//ftp/outgoing
ファイルの書き込みのみができる受信用のディレクトリとして
/mnt/ftp/incoming
とする。
以下作業
# groupadd ftp
# mkdir /mnt/ftp
# mkdir /mnt/ftp/pub /mnt/ftp/incoming /mnt/ftp/outgoing
# useradd -c 'anonymous ftp user' -m -d /mnt/ftp -g nobody ftp
# chown -R ftp:nobody /mnt/ftp
2.ゲストアカウント'ftpuser'を作成する。ユーザーグループはftpgrpとする
このユーザーに使わせたいディレクトリをホームディレクトリとして作成登録し
アカウント作成後には、パスワードを設定しておく。
ディレクトリは
/mnt/ftp/ftpuser
# mkdir /mnt/ftp /mnt/ftp/ftpuser
# groupadd ftpgrp
# useradd -c 'ftp guest user' -m -d /mnt/ftp/ftpuser -G ftpgrp ftpuser
# passwd ftpuser
新しいパスワード:
新しいパスワードの再入力:
# chown -R ftpuser:ftpgrp /mnt/ftp/ftpuser
★proftpd.confファイルの設定
anonymousサービスと、ゲストアカウントftpuserを定義する例を示す。
あくまで参考にして置いて色々変えてね!!
ProFTPの設定ファイル: /etc/proftpd.conf
以下編集内容
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use. It establishes a single server
# and a single anonymous login. It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.
# オープニングメッセージに表示されるサーバー名
ServerName "FTP Serve"
# inetd経由で起動するか、STANDALONEで起動するか
ServerType inetd # inetd or standalone
DefaultServer on
ServerIdent on "FTP server ready."
UseReverseDNS off
IdentLookups off
TimesGMT FALSE
#接続時にルート以外のフォルダも見ることが出来るユーザーを ~! の後につける
#複数人は,で区切るが[SPACE]を使い[TAB]は使わない。
Defaulet Root ~!shoji, ~!pico
# 標準のFTPポート21を使用
Port 21
# デフォールトのumaskとして022を使用し、新しく作られたファイルやディレクトリ
# の安全性を高める
Umask 022
# DoS攻撃を避けるために、子プロセスの数を30に制限する
# この項目はSTANDALONEモードのみで有効で、INETDを使用する場合にはその機能
# を使用する(xinetdなど)
MaxInstances 30
# ユーザーが認証されていないときに、ftpデーモンを実行するユーザーとグループ
User nobody
Group nobody
# 通常のアカウントでログインしたときのために、ディレクトリツリー全体への書
# き込みを許可しておく
Directory /*>
AllowOverwrite on/Directory>
# Anonymous FTPに関する設定 (ftpのホームディレクトリへのアクセス制限)
Anonymous ~ftp>
# サーバーが稼働するユーザーIDとグループID
User ftp
Group ftp
# ログイン名としてanonymousを定義する
UserAlias anonymous ftp
# Anonymousログインの同時接続数を制限
MaxClients 10
RequireValidShell no
# ログインしたときに表示されるファイルの名前
DisplayLogin welcome.msg
# ディレクトリを変更したときに表示されるファイルの名前
DisplayFirstChdir .message
# chrootした後のファイルシステム全体を書き込み禁止とする
<Limit WRITE>
DenyAll
</Limit>
# 読み書きOKディレクトリ pubの設定
<Directory pub/*>
AllowOverwrite on # 上書きを許可
<Limit READ WRITE DIRS> # ファイルの読出、書き込みと、ディレクトリの一覧を
AllowAll # どこからでも許可する
</Limit>
</Directory>
# 書き込み専用ディレクトリ incomingの設定
<Directory incoming/*>
AllowOverwrite on # 上書きを許可
<Limit READ DIRS> # ファイルの読出と、ディレクトリの一覧を
DenyAll # どこからでも禁止する
</Limit>
<Limit WRITE> # 書き込みを
AllowAll # どこからでも許可する
</Limit>
</Directory># ファイル一覧ができない読み出し専用ディレクトリ outgoingの設定 <Directory outgoing/*> <Limit READ> # 読み出しを AllowAll # どこからでも許可する </Limit> <Limit WRITE DIRS> # ファイルの書込と、ディレクトリの一覧を DenyAll # どこからでも禁止する </Limit> </Directory> </Anonymous> # ゲストユーザー ftpuserのための設定 # ホームディレクトリにchrootされるため、他のディレクトリにはアクセスできない <Anonymous ~ftpuser> User ftpuserGroup ftpgrp
AnonRequirePassword on # パスワード認証が必要である
AllowOverwrite on # デフォールトでは上書き禁止なので許可しておく
<Limit READ WRITE DIRS>
AllowAll</Limit> </Anonymous>