2008年10月2日木曜日

ファイルサーバを立ててみた

UbuntuにProftpdをインストールしてFTPサーバを立ててみました。
なのでちょっとメモしてみる。

1. Proftpdのインストール及び設定

まずは、apt-getでインストールします。
$sudo apt-get install proftpd

インストール時にstandaloneかinetdのどちらにするか聞かれるので、とりあえずstandaloneに。
ユーザに常時公開しているならstandaloneで、もし自分しか使わない場合はinetdにするといいらしい。

次に設定に関して。
/etc/proftpd/proftpd.conf を編集します。
その前に設定ファイルのコピーをしておきます。
$sudo cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.original

proftpd.confに追加したとこを抜粋します。

$sudo emacs /etc/proftpd/proftpd.conf

UseIPv6 off
#名前は適当
ServerName "FTP Server"

#自分以外のユーザーは/home/ユーザー名/ftp/以下のディレクトリへ
DefaultRoot /home/ユーザー名/ftp/ !ユーザー名

#リモートユーザー名を確認しないので接続が速くなる
IdentLookups off
#ログにユーザのIPを載せない
UseReverseDNS off
#サーバのローカルタイムを使用
TimesGMT false

最後にproftpdをリスタートして設定を反映させます。
$sudo /etc/init.d/proftpd restart

TimeGMTをfalseにしているのに、時間がずれている場合は
$export TZ=JST-9
としてサーバの環境変数TZを設定する。

またルートディレクトリのパーミッションがオーナー以外書き込み禁止になっているとファイルの書き込みが出来ないので、そこも変更しましょう。
$chmod -R 777 /home/ユーザー名/ftp/

ftpのポート(21)も忘れずに開けておく。

2. ユーザの追加

ftpを使用できるユーザを追加します。Anonymous指定はデフォルトでoffになっていますが、設定を追加しないと、自サーバのユーザだと誰でも入れるようです。
サーバの管理者については、Proftpdのインストール時に勝手にユーザ追加されるらしいので、ためしに入ってみてください。
LAN内のPCからシェルで、
$ftp localhost
で入れます。

それではユーザ'xxx'を追加すると想定して進めていきます。
$sudo useradd xxx
$sudo passwd xxx
パスワード入力:

これで終わりです。

ユーザの確認については
$id -a xxx
でも出来ますし、
$sudo emacs /etc/passwd
で直接確認することもできます。

3. Diceのインストール及び設定

DDNSに登録してある場合、IPアドレスの変化時に登録してあるドメインを自動で更新してくれるのがDiceです。ここではDiceのインストールから設定に関して書いていきます。

まずはここからLinux用のDice(CUI ver.)をダウンロードしてきます。
インストールする前にDiceはUTF8に対応してないので、Terminalを開いてる場合は端末→文字コードの設定→EUC-JPにしといてください。

$sudo tar zxvf diced01914.tar.gz -C /usr/local/bin/
$cd /usr/local/bin/Dice/
$sudo ./diced
でDiCEを起動します。

=-=-=- DiCE DynamicDNS Client -=-=-=
Version 0.19 for Japanese
Copyright(c) 2001 sarad
と表示されますので、
:
と表示されたら、setupと打ちます。

diceの初期設定はこちらを参考。

次に更新イベントを登録します。

:add ←イベント追加
新しくイベントを追加します。

DynamicDNSサービス名を入力
>ieServer

(省略)

登録するIPアドレスを入力してください
空白にすると現在のIPアドレスを自動検出します
(P)戻る
>
ここは空白にします。
=================================================
このイベントに題名を付けてください
(P)戻る
>hogehoge ←なにか適当につけます
=================================================

(省略)

イベントが保存されたか確認します。
:list
と打つと
(No.) (イベント名)    (スケジュール)      (次回予定)
0 *    hogehoge    IPアドレス変化時 (7日毎)   01/15 22:11
となります。

次に動作確認をします
:ex 0 ←0はイベント番号
+ 1/8 22:15 にhogehogeが実行されました
IPアドレスを更新しました

:exit ←Diceを終了

$sudo ./diced -d -l ←dicedの起動オプション: -dでバックグラウンド開始、-lはログ作成
$ps -C diced ←psコマンドでdicedの起動(常駐)を確認
PID TTY TIME CMD
7897 ? 00:00:07 diced ←ちゃんと起動されてる。

以上で終わりです。

0 件のコメント: