メールホスティング · 1 min read · Jan 22, 2026
iRedMail と Pure-FTPd を使用した FreeBSD 上の仮想メールおよび FTP ホスティング
iRedMail と Pure-FTPd を使用した FreeBSD 上の仮想メールおよび FTP ホスティング
iRedMail は、2 分未満でフル機能のメールソリューションを迅速に展開できるシェルスクリプトです。バージョン 0.6 以降、FreeBSD 7.2 および 8.0 (i386 および x86_64 の両方) をサポートしています。iRedMail は、仮想ドメインとユーザーを保存するためのバックエンドとして OpenLDAP と MySQL の両方をサポートしています。
iRedMail の OpenLDAP バックエンドを使用すると、さまざまなアプリケーションを統合できます。このガイドでは、FreeBSD 7.2 上の iRedMail ldap バックエンドに pure-ftpd を統合する方法を示します。パスワードは ldap に保存され、ウェブメールを通じてパスワードを変更できます。
このチュートリアルは FreeBSD 7.2 に基づいているため、最低限の FreeBSD 7.2 をセットアップし、iredmail 0.60 をインストールし、バックエンドとして openldap を選択することをお勧めします。これらのチュートリアルに示されているように:
- iRedMail: LDAP、Postfix、RoundCube/SquirrelMail、Dovecot、ClamAV、SpamAssassin、Amavisd を使用したメールサーバー (Debian 5.0.1)
- iRedMail: LDAP、Postfix、RoundCube、Dovecot、ClamAV、SpamAssassin、DKIM、SPF を使用したフル機能のメールサーバーの構築 (CentOS 5.x)
- iRedMail 0.6: OpenLDAP/Postfix/Dovecot/Amavisd/ClamAV/SpamAssassin/iRedAdmin を使用したフル機能のメールサーバー (FreeBSD)
1 Pure-FTPd のインストール
pure-ftpd をインストールします:
# cd /usr/ports/ftp/pure-ftpd/
# make install cleanPure-ftpd のオプションでは、LDAP を選択する必要があります:

2 FTP ユーザーの追加
pureftp をインストールすると、ftp グループが作成されますが、ftp ユーザーは作成されません。これにより、「mail pure-ftpd:(?:?) [ERROR] ‘ftp’ アカウントを見つけられません」というエラーが発生します。したがって、ftp ユーザーを手動で作成する必要があります。
# pw useradd ftp -u 14 -g 14 -s /sbin/nologin -d /dev/null
# cat /etc/passwd | grep ftpftp:*:14:14:User &:/dev/null:/sbin/nologin# cat /etc/group | grep ftpftp:*:14:3 Pure-ftpd の設定
pure-ftp の設定ファイルを作成します:
# cd /usr/local/etc
# cp pure-ftpd.conf.sample pure-ftpd.conf
# cp pureftpd-ldap.conf.sample pureftpd-ldap.conf
# chmod 644 pure-ftpd.conf
# chmod 644 pureftpd-ldap.conf
# echo 'pureftpd_enable="YES"' >> /etc/rc.confpure-ftpd.conf を編集し、pure-ftpd が ldap をサポートするようにします:
| LDAPConfigFile /usr/local/etc/pureftpd-ldap.conf CreateHomeDir yes |
3.1 cn=vmail パスワードを見つける
vmail パスワードは、iredmail インストール中にランダムに作成されました。パスワードは /usr/local/etc/postfix/ldap_virtual_mailbox_domains.cf にあります:
cat /usr/local/etc/postfix/ldap_virtual_mailbox_domains.cf| bind_dn = cn=vmail,dc=example,dc=com bind_pw = kZ6uB29mViWKWI9lOH3cGnF7z3Dw3B #cn=vmail パスワード |
3.2 pureftpd-ldap.conf を編集
| LDAPServer localhost LDAPPort 389 LDAPBaseDN o=domains,dc=example,dc=com LDAPBindDN cn=vmail,dc=example,dc=com LDAPBindPW kZ6uB29mViWKWI9lOH3cGnF7z3Dw3B #cn=vmail パスワード LDAPDefaultUID 1002 # <- 'vmail' ユーザーの UID. LDAPDefaultGID 1002 # <- 'vmail' ユーザーの GID. LDAPFilter (&(objectClass=PureFTPdUser)(mail=\L)(FTPStatus=enabled)) LDAPHomeDir FTPHomeDir # <- これは新しい属性です。追加します LDAPVersion 3 |
3.3 Pure-ftpd スキーマを取得
iredmail によって修正されたスキーマをダウンロードします:
wget http://iredmail.googlecode.com/svn/trunk/extra/pureftpd.schema -P /usr/local/etc/openldap/schema/3.4 /usr/local/etc/openldap/slapd.conf を編集
iredmail.schema の後に pureftpd.schema を含めます:
| include /usr/local/etc/openldap/schema/iredmail.schema include /usr/local/etc/openldap/schema/pureftpd.schema # <-- この行を追加します。 |
pureftpd.schema で定義された属性のインデックスを追加します:
| # デフォルトのインデックス。 # index objectClass eq,pres index ou,cn,mail,surname,givenname,telephoneNumber eq,pres,sub index uidNumber,gidNumber,loginShell eq,pres index uid,memberUid eq,pres,sub index nisMapName,nisMapEntry eq,pres,sub # <-- 以下を追加 # FTP 属性のインデックス。 index FTPQuotaFiles,FTPQuotaMBytes eq,pres index FTPUploadRatio,FTPDownloadRatio eq,pres index FTPUploadBandwidth,FTPDownloadBandwidth eq,pres index FTPStatus,FTPuid,FTPgid,FTPHomeDir eq,pres |
4 FTP ホームディレクトリを作成
FTP データはすべて /home/ftp/ ディレクトリに保存されます。/home/ftp/ を作成し、所有者は root ユーザーである必要があります。
# mkdir /home/ftp/
# ls -dl /home/ftp/drwxr-xr-x 2 root wheel 512 Jan 31 13:25 /home/ftp/新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。