【なんか】投函専用FTPサーバのプロトタイプ【できた】
TL;DR
- できあがりはこちら → koshigoe/transpotter
- ProFTPD を採用
- FTP, SFTP に対応
- 投函専用 = put-only = アップロードされたファイルは S3 に転送して抹消
- FTP アカウントは DB テーブルを使って認証
- FTP アカウントを WebAPI 経由で管理できる様にした
- ホストを disposable にできている、気がしている(FTP サーバ機能については)
- DNS ラウンドロビンを雑に試した
未解決
- PUT 乱発による S3 破産問題
- ディレクトリの上限問題
- Vagrant で検証している時に FTP だけ
SQLUserInfo
が効かなくなった問題(VM を作り直したら解決したが……) - 本当にこんなものが必要なのか問題
感想
何か書けるかなと思いましたが、普通に ProFTPD を使っているだけなので特に書く事がありませんでした。ひとまず、試作品の披露くらいはしておこう、という思い出 Qiita です。
ProFTPD について今回得た知識をひねり出すと↓くらいでしょうか。
-
Global
ディレクティブ内で宣言したディレクティブはVirtualHost
などに引き継がれる(設定の共通化) -
VirtualHost
ディレクティブでホスト名を使った場合、起動時に名前解決できないと起動に失敗する - mod_exec モジュールで実行するコマンドの実行時の環境変数はまっさら
-
/etc/environment
とか systemd のEnvironmentFile
とかが使えるのかと思いましたがそんな事は無く
-
- mod_exec モジュールで実行したコマンドの標準出力、標準エラーがどこにいくのかよくわかってません
正直、本題よりも itamae と戯れていた思い出の方が強いのですが、itamae について書けることも特になく。
敢えて挙げるとすれば、itamae ssh
に ssh_config のパスを指定するための --ssh-config
を追加する PRを送った事くらいでしょうか。ただ、 -F
オプションのネーミングセンスについて指摘をもらって修正したら、急に CI が通らなくなりました。塩漬け濃厚です。bundle の man ページが開いてキー入力待ちになって wercker がタイムアウトするとか、何が起きているのかよく分かりません。ローカルで再現できるなら調べようもあるのですが。
そんな感じです。
おまけ:思い出
Author And Source
この問題について(【なんか】投函専用FTPサーバのプロトタイプ【できた】), 我々は、より多くの情報をここで見つけました https://qiita.com/koshigoe/items/e3da2296ccc327492bc2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .