サーバー設定 · 1 min read · Jan 07, 2026
PureFTPdとMySQLを使用した仮想ホスティング(クォータと帯域幅管理を含む) - Mandriva 2008 Spring - ページ 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-04-09 14:58 administrator/
drwxr-xr-x 2 ftpuser ftpgroup 4096 2008-04-11 14:40 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というユーザーとグループが必要です。これらはpure-ftpdパッケージをインストールしたときに自動的に作成されているので、手動で作成する必要はありません。ただし、ftpのホームディレクトリはデフォルトで/var/ftpですが、匿名FTPディレクトリを/home/ftpに作成したいと思います(通常のユーザーのFTPディレクトリも/homeにあります。例:/home/www.example.com)。もちろん、/var/ftpディレクトリを匿名FTPに使用することもできますが、好みに応じて選択してください。
/home/ftpを使用する場合は、/etc/passwdを開き、ftpユーザーのホームディレクトリを/var/ftpから/home/ftpに変更します(/var/ftpを使用する場合はこれを行わないでください):
vi /etc/passwd| [...] #ftp:x:80:423:system user for pure-ftpd:/var/ftp:/bin/false ftp:x:80:423:system user for pure-ftpd:/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
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。