自作の簡易FTPサーバーソフトの動かし方まとめ。必要なのはPythonとDjangoだけ。
- UbuntuにPython(2.3以上)とDjango(SVN版)をインストール
- http://code.google.com/p/unboxftpd/のSVNリポジトリからチェックアウト
- unboxftpdディレクトリに移動
- settings.pyのデータベース設定を編集
- "python manage.py syncdb"でデータベーステーブルを作成、管理者アカウントを作成
- "python manage.py runserver"で管理ページ用のWebサーバーを起動
- "http://localhost:8000/admin/"から管理者でログインしてFTPユーザーグループとFTPユーザーを作成
- "python manage.py runftpd"でFTPサーバーを起動
- FTPクライアントで127.0.0.1に接続すると、作成したFTPユーザーアカウントで利用できる
注意点など。
- settings.pyに書くサーバー設定はftpd/bin/default_settings.pyを参照。
- Djangoのプロジェクトなのでmod_wsgiなどで運用することも可能。
- ftpdはDjangoのアプリなので、他のDjangoのプロジェクトにも容易に組み込み可能。
- このFTPサーバーはWindows/MacOSX/Linuxなどで動かせる。
- Linuxのユーザーを作成したくないけどFTPDがほしいというときに便利。
- 日本語のパスはutf8になるので、FTPクライアント側でサーバの文字コードをutf8に設定する。
- 簡易FTPサーバーなのでファイルのパーミッションは設定できない。
- 気が向いたらアップデート。
- 追記
FTPサーバーの起動方法を"python manage.py runftpd"にした。
"python manage.py runftpd --daemonize --settings=settings_development"のようにオプションを使うことができてよい感じ。