サーバー設定 · 2 min read · Dec 30, 2025

完璧なサーバー - Ubuntu 14.04 (Apache2, PHP, MySQL, PureFTPD, BIND, Dovecot, ISPConfig 3) - ページ 5

16. PureFTPd とクォータのインストール

PureFTPd とクォータは以下のコマンドでインストールできます:

apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool

ファイル /etc/default/pure-ftpd-common を編集します…

vi /etc/default/pure-ftpd-common

… そして、スタートモードがスタンドアロンに設定されていることを確認し、VIRTUALCHROOT=true に設定します:

| [...] STANDALONE_OR_INETD=standalone [...] VIRTUALCHROOT=true [...] |

次に、PureFTPd を構成して FTP と TLS セッションを許可します。FTP は非常に安全でないプロトコルで、すべてのパスワードとすべてのデータが平文で転送されます。TLS を使用することで、通信全体を暗号化できるため、FTP ははるかに安全になります。

FTP と TLS セッションを許可したい場合は、次のコマンドを実行します。

echo 1 > /etc/pure-ftpd/conf/TLS

TLS を使用するためには、SSL 証明書を作成する必要があります。私はそれを /etc/ssl/private/ に作成するので、まずそのディレクトリを作成します:

mkdir -p /etc/ssl/private/

その後、次のようにして SSL 証明書を生成できます:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

国名 (2 文字コード) [AU]: <– あなたの国名を入力してください (例: “DE”).
州または県名 (フルネーム) [Some-State]: <– あなたの州または県名を入力してください。
市名 (例: 市) []: <– あなたの市を入力してください。
組織名 (例: 会社) [Internet Widgits Pty Ltd]: <– あなたの組織名を入力してください (例: 会社名)。
組織単位名 (例: 部門) []: <– あなたの組織単位名を入力してください (例: “IT 部門“)。
共通名 (例: あなたの名前) []: <– システムの完全修飾ドメイン名を入力してください (例: “server1.example.com”)。
メールアドレス []: <– あなたのメールアドレスを入力してください。

SSL 証明書の権限を変更します:

chmod 600 /etc/ssl/private/pure-ftpd.pem

次に、PureFTPd を再起動します:

service pure-ftpd-mysql restart

/etc/fstab を編集します。私のは次のようになっています (マウントポイント / のパーティションに usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 を追加しました):

vi /etc/fstab

| # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # /dev/mapper/server1--vg-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1 # /boot was on /dev/sda1 during installation UUID=9b8299f1-b2a2-4231-9ba1-4540fad76b0f /boot ext2 defaults 0 2 /dev/mapper/server1--vg-swap_1 none swap sw 0 0 |

クォータを有効にするには、次のコマンドを実行します:

mount -o remount /
quotacheck -avugm   
quotaon -avug

17. BIND DNS サーバーのインストール

BIND は次のようにインストールできます:

apt-get install bind9 dnsutils

18. Vlogger, Webalizer, および AWstats のインストール

Vlogger, webalizer, および AWstats は次のようにインストールできます:

apt-get install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl

その後、/etc/cron.d/awstats を開きます…

vi /etc/cron.d/awstats

… そして、そのファイル内のすべてをコメントアウトします:

| #MAILTO=root #*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh # Generate static reports: #10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh |

19. Jailkit のインストール

Jailkit は SSH ユーザーを chroot したい場合のみ必要です。次のようにインストールできます (重要: Jailkit は ISPConfig の前にインストールする必要があります - 後からインストールすることはできません!):

apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper binutils-gold
cd /tmp   
wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz   
tar xvfz jailkit-2.17.tar.gz   
cd jailkit-2.17   
./debian/rules binary

これで、Jailkit.deb パッケージを次のようにインストールできます:

cd ..   
dpkg -i jailkit_2.17-1_*.deb   
rm -rf jailkit-2.17*

20. fail2ban のインストール

これはオプションですが推奨されます。なぜなら、ISPConfig モニターはログを表示しようとするからです:

apt-get install fail2ban

fail2ban が PureFTPd と Dovecot を監視するようにするには、ファイル /etc/fail2ban/jail.local を作成します:

vi /etc/fail2ban/jail.local

| [pureftpd] enabled = true port = ftp filter = pureftpd logpath = /var/log/syslog maxretry = 3 [dovecot-pop3imap] enabled = true filter = dovecot-pop3imap action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp] logpath = /var/log/mail.log maxretry = 5 [postfix-sasl] enabled = true port = smtp filter = postfix-sasl logpath = /var/log/mail.log maxretry = 3 |

次に、次の 2 つのフィルターファイルを作成します:

vi /etc/fail2ban/filter.d/pureftpd.conf

| [Definition] failregex = .*pure-ftpd: \(.*@\) \[WARNING\] Authentication failed for user.* ignoreregex = |

vi /etc/fail2ban/filter.d/dovecot-pop3imap.conf

| [Definition] failregex = (?: pop3-login|imap-login): .*(?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed|Aborted login \(\d+ authentication attempts).*rip=(?P\S*),.* ignoreregex = |

postfix-sasl ファイルに欠落している ignoreregex 行を追加します:

echo "ignoreregex =" >> /etc/fail2ban/filter.d/postfix-sasl.conf

その後、fail2ban を再起動します:

service fail2ban restart
Share: X/Twitter LinkedIn

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

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