Top過去ログ目次掲示板

作成日:2007年02月10日 作成:おやじ
掲示板で過去に質問された内容です。

No.6735 ftpダウンロードについて


No.6735 投稿時間:2007年02月10日(Sat) 00:40 投稿者名:おらむー URL:
タイトル:ftpダウンロードについて

いつも参考にさせていただいています。
さっそくですが、初心者ですが質問させてください。
vine linux で自宅サーバを立ち上げて、HPを公開するまでなんとかこぎつけられました。
そこで、現在学生ということもあって、テスト対策のページを作ったのです。
過去のテスト問題をスキャナで取り込み、それを配布しようと思うのですが、一つ当たり30MBほどになり非常に重いため、貴サイトやVectorなどで用いられているFTPダウンロードでの配布をしたいのです。
vine にはすでにproFTPd が入っていて起動していることも確認できるのですが、FTPクライアントからではなく、ホームページ上からFTPダウンロードできるようにするにはどうしたらいいのでしょうか?
皆さん大変お忙しいでしょうから、一から手取り足取りお教えいただかなくとも、参考になる書籍・HPなどを紹介くださると非常に助かります。
どうかアドバイスをよろしくお願いします。


No.6736 投稿時間:2007年02月10日(Sat) 07:41 投稿者名:おやじ URL:
タイトル:自信がないならHTTPで・・・

> 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でログインしようとするのでこの方法は駄目。
 


No.6739 投稿時間:2007年02月10日(Sat) 16:37 投稿者名:おらむー URL:
タイトル:Re:ありがとうございます。

お忙しい中、丁寧に答えてくださり、本当にありがとうございます。
まだまだ技術がないので、仰るとおりにHTTPで配布することにします。
ftpは今後の課題ということで取り組んで行きたいと思います。

貴サイトからは本当に勉強させていただいています。管理人様はご多忙でしょうが今後もぜひがんばっていただきたいと思います。
余計なお世話ですが、暖冬ですが風邪などひかぬよう健康に注意され、ますますのご活躍を期待しています。


No.6740 投稿時間:2007年02月11日(Sun) 08:07 投稿者名:おらむー URL:
タイトル:Re^2:追記

あれから貴サイトを良く読み、anonymousFTPサーバを立ち上げるところまでこぎつけられました。
貴サイトで設置なさっているFTPサーバテストでも一応公開できていることが確認でき、ささやかな達成感を味わっております。

さて、おやじ様のご返答によると、やはりセキュリティなどの設定をかなりきちんとしないといけないとのアドバイスをいただきました。
現状ではvineのデフォルト設定の、<Limit WRITE>ディレクティブをdenyall に加えて、
<Limit Login>ディレクティブでアップロード用のアカウントとftpのみ許可している、という設定だけなのですが、
他にも「こうすべき」という点がありましたらご指摘ください。よろしくお願いします。


No.6742 投稿時間:2007年02月11日(Sun) 08:55 投稿者名:おやじ URL:
タイトル:アップロード用アカウントからアップロードできますか?

> 現状では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>


No.6743 投稿時間:2007年02月11日(Sun) 09:06 投稿者名:おらむー URL:
タイトル:Re: アップロード用アカウントからアップロードできますか?

すばやいご返事ありがとうございます。

> 「<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>

今のところ不都合なく動いているのですが、不安もあり、ご指摘を願った次第です。
ありがとうございます。


No.6744 投稿時間:2007年02月11日(Sun) 09:42 投稿者名:おやじ URL:
タイトル:大容量ファイル対策をしておいたほうが良いと思います。

> すばやいご返事ありがとうございます。
>
> > 「<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


No.6745 投稿時間:2007年02月11日(Sun) 10:16 投稿者名:おらむー URL:
タイトル:Re: 大容量ファイル対策をしておいたほうが良いと思います。

重ね重ね丁寧なご指摘ありがとうございます。

> 一件忘れていましたが、ファイル容量が大きいのでTransferRateを設定しておいたほうがいいと思います。そうしないと、たとえ1ファイルでもかなり長い時間回線の上り帯域を使い切られてしまうので、いろいろ不都合がでると思います。

現時点ではまだHPとリンクさせていないので考えも及びませんでした。

> proftpdのドキュメントを見てもらえればわかりますが、下記はおやじのAnonymousディレクティブ内に書いている設定です。
> 1KByte未満はフルワイヤでそれを超える場合は、200KByte/sに押さえるという設定です。但し、usersグループ(おやじを意識してます)はその限りではないというもの。
>
> TransferRate RETR 200.0:1024 group !users
>
> ただ、遅いからとダウンローダを使われて複数セッションでダウンロードされるとこれだけでは回線がパンクするので、下記のように1ホストからの同時接続を1に制限しています。
>
> MaxClientsPerHost 1

仰るとおりに設定したいと思います。ご指導ありがとうございました。
また初心者のボケた質問をすることになろうかと思いますが、そのときはよろしくお願いします。



掲示板▲頁先頭