Ubuntuでunboxftpdを動かす

自作の簡易FTPサーバーソフトの動かし方まとめ。必要なのはPythonDjangoだけ。

  1. UbuntuPython(2.3以上)とDjango(SVN版)をインストール
  2. http://code.google.com/p/unboxftpd/SVNリポジトリからチェックアウト
  3. unboxftpdディレクトリに移動
  4. settings.pyのデータベース設定を編集
  5. "python manage.py syncdb"でデータベーステーブルを作成、管理者アカウントを作成
  6. "python manage.py runserver"で管理ページ用のWebサーバーを起動
  7. "http://localhost:8000/admin/"から管理者でログインしてFTPユーザーグループとFTPユーザーを作成
  8. "python manage.py runftpd"でFTPサーバーを起動
  9. 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"のようにオプションを使うことができてよい感じ。