サーバー設定 · 2 min read · Feb 10, 2026

完璧なサーバー - Ubuntu 14.04 (nginx, BIND, MySQL, PHP, Postfix, 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

… そして、スタートモードが standalone に設定されていることを確認し、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.15.tar.gz  
tar xvfz jailkit-2.15.tar.gz  
cd jailkit-2.15  
./debian/rules binary

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

cd ..  
dpkg -i jailkit_2.15-1_*.deb  
rm -rf jailkit-2.15*

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

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

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