メールホスティング · 2 min read · Jan 01, 2026

iRedMail と Pure-FTPd を使用した仮想メールおよび FTP ホスティング

iRedMail と Pure-FTPd を使用した仮想メールおよび FTP ホスティング

iRedMail は、2 分未満でフル機能のメールソリューションを迅速に展開できるシェルスクリプトです。iRedMail 0.5 以降、Debian 5.0.1 および Ubuntu 8.04 と Ubuntu 9.04 (i386 および x86_64 の両方) をサポートしています。iRedMail は、仮想ドメインとユーザーを保存するためのバックエンドとして OpenLDAP と MySQL の両方をサポートしています。

iRedMail の OpenLDAP バックエンドを使用すると、さまざまなアプリケーションを統合できます。このガイドでは、CentOS 5.x の iRedMail ldap バックエンドに pure-ftpd を統合する方法を示します。パスワードは ldap に保存され、Web メールを通じてパスワードを変更できます。

このチュートリアルは CentOS 5.3 に基づいているため、最小限の CentOS 5.3 をセットアップし、iRedMail 0.5 RC2 をインストールし、これらのチュートリアルに示されているように 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)

1 Pure-FTPd をインストール

rpmforge yum リポジトリを使用して pure-ftpd をインストールします。

rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm # <-- i386 用   
rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS//rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm # <-- x86_64 用 

pure-ftpd をインストールします:

yum install pure-ftpd

2 Pure-FTPd を設定

デフォルトの設定ファイル:

  • /etc/pure-ftpd/pure-ftpd.conf
  • /etc/pure-ftpd/pureftpd-ldap.conf

/etc/pure-ftpd/pure-ftpd.conf の基本設定

CreateHomeDir と LDAPConfigFile オプションが有効になっていることを確認し、次のように設定します:

vi /etc/pure-ftpd/pure-ftpd.conf

| CreateHomeDir yes LDAPConfigFile /etc/pure-ftpd/pureftpd-ldap.conf |

cn=vmail パスワードを見つける

vmail パスワードは、iredmail インストール中にランダムに作成されました。パスワードは /etc/postfix/ldap_virtual_mailbox_domains.cf にあります:

vi /etc/postfix/ldap_virtual_mailbox_domains.cf

| bind_dn = cn=vmail,dc=example,dc=com bind_pw = kZ6uB29mViWKWI9lOH3cGnF7z3Dw3B #cn=vmail パスワード |

/etc/pure-ftpd/pureftpd-ldap.conf で LDAP 設定を構成

vi /etc/pure-ftpd/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 500 # <- 'vmail' ユーザーの UID. LDAPDefaultGID 500 # <- 'vmail' ユーザーの GID. LDAPFilter (&(objectClass=PureFTPdUser)(mail=\L)(FTPStatus=enabled)) LDAPHomeDir FTPHomeDir # <- これは新しい属性です。追加します LDAPVersion 3 |

3 LDAP を構成

スキーマを取得

pureftpd スキーマを取得する方法は 2 つあります。1 つを選択するだけです。

  • iredmail によって修正されたスキーマをダウンロードします。
  • pure-ftpd-1.0.22 に同梱されているスキーマを取得し、修正します。

iredmail によって修正されたスキーマをダウンロードします:

wget http://iredmail.googlecode.com/hg/extra/pureftpd.schema -P /etc/openldap/schema/

pure-ftpd-1.0.22 に同梱されているスキーマを取得します:

cd /tmp/  
wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.22.tar.bz2  
tar xjf pure-ftpd-1.0.22.tar.bz2  
cp pure-ftpd-1.0.22/pureftpd.schema /etc/openldap/schema/

/etc/openldap/schema/pureftpd.schema を修正

ユーザーの FTP ディレクトリを保存するために使用される属性 ‘FTPHomeDir’ をオブジェクトクラス定義の前に追加する必要があります。

vi /etc/openldap/schema/pureftpd.schema

| attributetype ( 1.3.6.1.4.1.6981.11.3.9 NAME 'FTPgid' DESC 'システム uid (gidNumber が存在する場合は上書きされます)' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) # 新しい attributetype FTPHomeDir を追加します。 attributetype ( 1.3.6.1.4.1.6981.11.3.10 NAME 'FTPHomeDir' DESC 'FTP ディレクトリ' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) ## 新しい Pure-FTPd オブジェクトタイプ objectclass ( 1.3.6.1.4.1.6981.11.2.3 NAME 'PureFTPdUser' DESC 'オプションのクォータ、スロットリング、比率を持つ PureFTPd ユーザー' SUP top AUXILIARY # <-- この行を追加します。 MAY ( FTPStatus $ FTPQuotaFiles $ FTPQuotaMBytes $ FTPUploadRatio $ FTPDownloadRatio $ FTPUploadBandwidth $ FTPDownloadBandwidth $ FTPuid $ FTPgid $ FTPHomeDir ) ) # <-- $ FTPHomeDir を追加 |

/etc/openldap/slapd.conf を修正

vi /etc/openldap/slapd.conf

iredmail.schema の後に pureftpd.schema を含めます:

| include /etc/openldap/schema/iredmail.schema include /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 3 root root 4096 Jun 7 20:18 /home/ftp/

5 pureftpd.schema を機能させるために OpenLDAP サービスを再起動

/etc/init.d/ldap restart  
/etc/init.d/pure-ftpd restart

pure-ftpd が実行中であることを確認します:

netstat -ntlp | grep pure-ftpd

tcp 0 0 0.0.0.0:21 0.0.0.0: LISTEN 2062/pure-ftpd (SERVER)
tcp 0 0 :::21 :::
LISTEN 2062/pure-ftpd (SERVER)

Share: X/Twitter LinkedIn

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

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