サーバー管理 · 2 min read · Dec 14, 2025
PureFTPd と MySQL を使用した仮想ホスティング (クォータと帯域幅管理を含む) - Mandriva 2009.0 - ページ 2
6 データベースをポピュレートしテストする
データベースをポピュレートするには、MySQL シェルを使用できます:
mysql -u root -pUSE pureftpd;ここで、ユーザー exampleuser を作成します。ステータスは 1 (これは彼の FTP アカウントがアクティブであることを意味します)、パスワードは secret (これは MySQL の MD5 関数を使用して暗号化されて保存されます)、UID と GID は 2001 (ステップ 2 の最後で作成したユーザー/グループの userid と groupid を使用してください!)、ホームディレクトリは /home/www.example.com、アップロードおよびダウンロード帯域幅は 100 KB/sec. (キロバイト毎秒)、クォータは 50 MB です:
INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`) VALUES ('exampleuser', '1', MD5('secret'), '2001', '2001', '/home/www.example.com', '100', '100', '', '*', '50', '0');quit;次に、作業ステーションで FTP クライアントプログラムを開きます (Windows システムの場合は WS_FTP、SmartFTP または FileZilla、Linux デスクトップの場合は gFTP または FileZilla など) そして接続を試みます。ホスト名には server1.example.com (またはシステムの IP アドレス) を使用し、ユーザー名は exampleuser、パスワードは secret です。
接続できたら、おめでとうございます! できない場合は、何かがうまくいかなかったということです。
次に、もし実行すると
ls -l /homeディレクトリ /home/www.example.com (exampleuser のホームディレクトリ) が自動的に作成され、ftpuser と ftpgroup (ステップ 2 の最後で作成したユーザー/グループ) に所有されていることがわかるはずです:
[root@server1 ~]# ls -l /home
total 8
drwxr-xr-x 3 administrator administrator 4096 2008-10-09 17:14 administrator/
drwxr-xr-x 2 ftpuser ftpgroup 4096 2008-10-22 16:58 www.example.com/
[root@server1 ~]#7 データベース管理
ほとんどの人にとって、MySQL のグラフィカルフロントエンドがある方が簡単です。したがって、pureftpd データベースを管理するために phpMyAdmin (この例では http://server1.example.com/phpmyadmin/ の下) を使用することもできます。

新しいユーザーを作成したい場合は、必ず ftpd テーブルにエントリを作成する必要がありますので、このテーブルの列について説明します:
ftpd テーブル:
- User: 仮想 PureFTPd ユーザーの名前 (例: exampleuser)。
- status: 0 または 1。0 はアカウントが無効であり、ユーザーはログインできません。
- Password: 仮想ユーザーのパスワード。MySQL の MD5 関数を使用してパスワードを MD5 文字列として暗号化して保存することを確認してください:

- UID: ステップ 2 の最後で作成した FTP ユーザーの userid (例: 2001)。
- GID: ステップ 2 の最後で作成した FTP グループの groupid (例: 2001)。
- Dir: 仮想 PureFTPd ユーザーのホームディレクトリ (例: /home/www.example.com)。存在しない場合は、新しいユーザーが最初に FTP 経由でログインしたときに作成されます。仮想ユーザーはこのホームディレクトリに監禁され、他のディレクトリにアクセスすることはできません。
- ULBandwidth: 仮想ユーザーのアップロード帯域幅 (KB/sec. (キロバイト毎秒))。0 は無制限を意味します。
- DLBandwidth: 仮想ユーザーのダウンロード帯域幅 (KB/sec. (キロバイト毎秒))。0 は無制限を意味します。
- comment: ここに任意のコメントを入力できます (例: 内部管理用)。通常、このフィールドは空のままにします。
- ipaccess: この FTP アカウントに接続を許可されている IP アドレスをここに入力します。* は任意の IP アドレスが接続を許可されることを意味します。
- QuotaSize: FTP サーバー上で仮想ユーザーが使用できるストレージスペース (MB) (ULBandwidth および DLBandwidth では KB ではありません!)。0 は無制限を意味します。
- QuotaFiles: FTP サーバー上で仮想ユーザーが保存できるファイルの数。0 は無制限を意味します。
8 匿名 FTP
匿名 FTP アカウント (誰でもパスワードなしでログインできる FTP アカウント) を作成したい場合は、ftp という名前のユーザーとグループが必要です。これらは pure-ftpd パッケージをインストールしたときに自動的に作成されているため、手動で作成する必要はありません。ただし、ftp のホームディレクトリはデフォルトで /var/ftp ですが、匿名 FTP ディレクトリを /home/ftp に作成したいと思います (通常のユーザーの FTP ディレクトリも /home にあります、例: /home/www.example.com)。もちろん、匿名 FTP に /var/ftp ディレクトリを使用することもできますが、好みに応じて使用してください。
/home/ftp を使用したい場合は、/etc/passwd を開き、ftp ユーザーのホームディレクトリを /var/ftp から /home/ftp に変更します (これを行う場合は /var/ftp を使用しないでください):
vi /etc/passwd| [...] #ftp:x:74:74:system user for proftpd:/var/ftp:/bin/false ftp:x:74:74:system user for proftpd:/home/ftp:/bin/false [...] |
その後、/var/ftp を /home に移動します (これを行う場合は /var/ftp を使用しないでください):
mv /var/ftp /home私たちは /home/ftp/incoming (匿名ユーザーがファイルをアップロードできるようにする) と /home/ftp/pub (匿名ユーザーがダウンロードできる場所) のディレクトリを使用します。両方のディレクトリはすでに存在します。/home/ftp/incoming ディレクトリには 311 の権限を与え、ユーザーがアップロードできるが、そのディレクトリ内のファイルを見ることもダウンロードすることもできないようにします。/home/ftp/pub ディレクトリには 555 の権限を与え、ファイルの表示とダウンロードを許可します:
chown -R ftp:nogroup /home/ftp
cd /home/ftp
chmod 311 incoming/
chmod 555 pub/
cd ../
chmod 555 ftp/(代わりに /var/ftp を使用したい場合は、上記のコマンドで /home/ftp を /var/ftp に置き換えてください。)
匿名ユーザーはログインでき、/home/ftp/pub からファイルをダウンロードできるが、アップロードは /home/ftp/incoming に制限されます (そして、/home/ftp/incoming にファイルがアップロードされると、そこからは読み取ったりダウンロードしたりできません; サーバー管理者がそれを /home/ftp/pub に移動して他の人が利用できるようにする必要があります)。
次に、匿名 FTP 用に PureFTPd を構成する必要があります。/etc/pure-ftpd/pure-ftpd.conf を開き、次の設定が含まれていることを確認してください:
vi /etc/pure-ftpd/pure-ftpd.conf| [...] NoAnonymous no [...] AntiWarez no [...] AnonymousBandwidth 8 [...] AnonymousCantUpload no [...] |
(AnonymousBandwidth 設定はオプションです - これは匿名ユーザーのアップロードおよびダウンロード帯域幅を制限することを可能にします。8 は 8 KB/sec を意味します。任意の値を使用するか、帯域幅を制限したくない場合は行をコメントアウトしてください。)
最後に、PureFTPd を再起動します:
/etc/init.d/pure-ftpd restart9 リンク
- PureFTPd: http://www.pureftpd.org
- MySQL: http://www.mysql.com
- phpMyAdmin: http://www.phpmyadmin.net
- Mandriva: http://www.mandriva.com
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。