メールホスティング · 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 clean

Pure-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 ftp
ftp:*:14:14:User &:/dev/null:/sbin/nologin
# cat /etc/group | grep ftp
ftp:*: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.conf

pure-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/
Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。