いつも参考にさせていただいています。
さっそくですが、初心者ですが質問させてください。
vine linux で自宅サーバを立ち上げて、HPを公開するまでなんとかこぎつけられました。
そこで、現在学生ということもあって、テスト対策のページを作ったのです。
過去のテスト問題をスキャナで取り込み、それを配布しようと思うのですが、一つ当たり30MBほどになり非常に重いため、貴サイトやVectorなどで用いられているFTPダウンロードでの配布をしたいのです。
vine にはすでにproFTPd が入っていて起動していることも確認できるのですが、FTPクライアントからではなく、ホームページ上からFTPダウンロードできるようにするにはどうしたらいいのでしょうか?
皆さん大変お忙しいでしょうから、一から手取り足取りお教えいただかなくとも、参考になる書籍・HPなどを紹介くださると非常に助かります。
どうかアドバイスをよろしくお願いします。
> vine linux で自宅サーバを立ち上げて、HPを公開するまでなんとかこぎつけられました。
> そこで、現在学生ということもあって、テスト対策のページを作ったのです。
> 過去のテスト問題をスキャナで取り込み、それを配布しようと思うのですが、一つ当たり30MBほどになり非常に重いため、貴サイトやVectorなどで用いられているFTPダウンロードでの配布をしたいのです。
> vine にはすでにproFTPd が入っていて起動していることも確認できるのですが、FTPクライアントからではなく、ホームページ上からFTPダウンロードできるようにするにはどうしたらいいのでしょうか?
おやじの場合は、ダウンロード状況を知りたかったので簡単なスクリプトを書いていますが、単にダウンロードさせたいなら以下の方法があります。
但し、不特定多数相手ではanonymous(実質認証なし)になるので設定をしっかりしないと、いたずらされて山のようにデータを外部から放り込まれたらHDDやパーティションを使い果たして、場合によってはサーバが落ちてしまうので要注意です。
設定に自信がないならFTPでもログイン方式にするか、HTTPで単純に落としたほうが間違いないです。
1. FTP anonymous
単純にサーバのアドレスとフォルダ/ファイルまでをリンクしておくだけ。
ftp://ftp.example.com/test-2006/english
ファイル単位なので、管理が面倒。手抜きをするならサーバのアドレスとフォルダをリンクしておく。
ftp://ftp.example.com/test-2006/
ユーザがフォルダやファイル名で選択してダウンロードするのでわかりやすい名前をつけないと運用できない。
2. ftp ログイン
ファイルは一箇所なので各ユーザディレクトリからシンボリックリンクでも張る。
アクセスはフォルダ単位でないと無理なのでサーバのアドレスとフォルダをリンクしておく。
ftp://ftp.example.com/test-2006/
ユーザ名とパスワードを聞いてくるから入力させる。
但し、anonymousが動いているとブラウザはanonymousでログインしようとするのでこの方法は駄目。
お忙しい中、丁寧に答えてくださり、本当にありがとうございます。
まだまだ技術がないので、仰るとおりにHTTPで配布することにします。
ftpは今後の課題ということで取り組んで行きたいと思います。
貴サイトからは本当に勉強させていただいています。管理人様はご多忙でしょうが今後もぜひがんばっていただきたいと思います。
余計なお世話ですが、暖冬ですが風邪などひかぬよう健康に注意され、ますますのご活躍を期待しています。
あれから貴サイトを良く読み、anonymousFTPサーバを立ち上げるところまでこぎつけられました。
貴サイトで設置なさっているFTPサーバテストでも一応公開できていることが確認でき、ささやかな達成感を味わっております。
さて、おやじ様のご返答によると、やはりセキュリティなどの設定をかなりきちんとしないといけないとのアドバイスをいただきました。
現状ではvineのデフォルト設定の、<Limit WRITE>ディレクティブをdenyall に加えて、
<Limit Login>ディレクティブでアップロード用のアカウントとftpのみ許可している、という設定だけなのですが、
他にも「こうすべき」という点がありましたらご指摘ください。よろしくお願いします。
> 現状ではvineのデフォルト設定の、<Limit WRITE>ディレクティブをdenyall に加えて、
> <Limit Login>ディレクティブでアップロード用のアカウントとftpのみ許可している、という設定だけなのですが、
> 他にも「こうすべき」という点がありましたらご指摘ください。よろしくお願いします。
全体が見えないとなんとも言えませんが、基本的には問題はないと思います。
ただ、「<Limit WRITE>ディレクティブをdenyall」としている場所がどこかによりますが、これではアップロード用のアカウントでもアップロードできないのでは?
Anonymousディレクティブ内に下記のような設定をすれば、家庭内からだけは書込みできるようになります。
<Directory *>
<Limit WRITE>
Order allow, deny
Allow from 192.168.1.
Deny from all
</Limit>
</Directory>
すばやいご返事ありがとうございます。
> 「<Limit WRITE>ディレクティブをdenyall」としている場所がどこかによりますが、これではアップロード用のアカウントでもアップロードできないのでは?
> Anonymousディレクティブ内に下記のような設定をすれば、家庭内からだけは書込みできるようになります。
>
> <Directory *>
> <Limit WRITE>
> Order allow, deny
> Allow from 192.168.1.
> Deny from all
> </Limit>
> </Directory>
ご指摘の部分はvineのデフォルトの設定で、<Anonumous>内にあります。現状では以下のような設定にしています。
<Limit Login>
Order allow,deny
AllowUser ****(アップロード用のアカウント),ftp
Deny all
</Limit Login>
<Anonymous ~ftp>
User ftp
Group ftp
UserAlias anonymous ftp
MaxClients 10
RequireValidShell off
<Limit WRITE>
DenyAll
</Limit>
</Anonymous>
今のところ不都合なく動いているのですが、不安もあり、ご指摘を願った次第です。
ありがとうございます。
> すばやいご返事ありがとうございます。
>
> > 「<Limit WRITE>ディレクティブをdenyall」としている場所がどこかによりますが、これではアップロード用のアカウントでもアップロードできないのでは?
> > Anonymousディレクティブ内に下記のような設定をすれば、家庭内からだけは書込みできるようになります。
> >
> > <Directory *>
> > <Limit WRITE>
> > Order allow, deny
> > Allow from 192.168.1.
> > Deny from all
> > </Limit>
> > </Directory>
>
> ご指摘の部分はvineのデフォルトの設定で、<Anonumous>内にあります。現状では以下のような設定にしています。
>
> <Limit Login>
> Order allow,deny
> AllowUser ****(アップロード用のアカウント),ftp
> Deny all
> </Limit Login>
>
> <Anonymous ~ftp>
> User ftp
> Group ftp
> UserAlias anonymous ftp
> MaxClients 10
> RequireValidShell off
> <Limit WRITE>
> DenyAll
> </Limit>
> </Anonymous>
>
> 今のところ不都合なく動いているのですが、不安もあり、ご指摘を願った次第です。
アップロード用のアカウントのホームディレクトリをftpディレクトリにしているということですね。
一件忘れていましたが、ファイル容量が大きいのでTransferRateを設定しておいたほうがいいと思います。そうしないと、たとえ1ファイルでもかなり長い時間回線の上り帯域を使い切られてしまうので、いろいろ不都合がでると思います。
proftpdのドキュメントを見てもらえればわかりますが、下記はおやじのAnonymousディレクティブ内に書いている設定です。
1KByte未満はフルワイヤでそれを超える場合は、200KByte/sに押さえるという設定です。但し、usersグループ(おやじを意識してます)はその限りではないというもの。
TransferRate RETR 200.0:1024 group !users
ただ、遅いからとダウンローダを使われて複数セッションでダウンロードされるとこれだけでは回線がパンクするので、下記のように1ホストからの同時接続を1に制限しています。
MaxClientsPerHost 1
重ね重ね丁寧なご指摘ありがとうございます。
> 一件忘れていましたが、ファイル容量が大きいのでTransferRateを設定しておいたほうがいいと思います。そうしないと、たとえ1ファイルでもかなり長い時間回線の上り帯域を使い切られてしまうので、いろいろ不都合がでると思います。
現時点ではまだHPとリンクさせていないので考えも及びませんでした。
> proftpdのドキュメントを見てもらえればわかりますが、下記はおやじのAnonymousディレクティブ内に書いている設定です。
> 1KByte未満はフルワイヤでそれを超える場合は、200KByte/sに押さえるという設定です。但し、usersグループ(おやじを意識してます)はその限りではないというもの。
>
> TransferRate RETR 200.0:1024 group !users
>
> ただ、遅いからとダウンローダを使われて複数セッションでダウンロードされるとこれだけでは回線がパンクするので、下記のように1ホストからの同時接続を1に制限しています。
>
> MaxClientsPerHost 1
仰るとおりに設定したいと思います。ご指導ありがとうございました。
また初心者のボケた質問をすることになろうかと思いますが、そのときはよろしくお願いします。