サーバー設定 · 3 min read · Jan 13, 2026
完璧なサーバー - Ubuntu 9.04 [ISPConfig 3] - ページ 4
12 Postfix、Courier、Saslauthd、MySQL、phpMyAdmin、rkhunter、binutilsのインストール
Postfix、Courier、Saslauthd、MySQL、phpMyAdmin、rkhunter、binutilsを1つのコマンドでインストールできます:
aptitude install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl maildrop getmail4 rkhunter binutils次の質問が表示されます:
MySQL “root” ユーザーの新しいパスワード: <– yourrootsqlpassword
MySQL “root” ユーザーのパスワードを再入力: <– yourrootsqlpassword
ウェブベースの管理用にディレクトリを作成しますか? <– いいえ
メール構成の一般的なタイプ: <– インターネットサイト
システムメール名: <– server1.example.com
SSL証明書が必要ですか <– はい
MySQLがlocalhostだけでなくすべてのインターフェースでリッスンするようにしたいので、/etc/mysql/my.cnfを編集し、bind-address = 127.0.0.1の行をコメントアウトします:
vi /etc/mysql/my.cnf| [...] # skip-networkingの代わりにデフォルトは現在localhostのみにリッスンすることです # これはより互換性があり、セキュリティが低下することはありません。 #bind-address = 127.0.0.1 [...] |
その後、MySQLを再起動します:
/etc/init.d/mysql restartネットワークが有効になっていることを確認します。次のコマンドを実行します
netstat -tap | grep mysql出力は次のようになります:
root@server1:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 8474/mysqld
root@server1:~#インストール中に、IMAP-SSLおよびPOP3-SSL用のSSL証明書がlocalhostというホスト名で作成されます。これを正しいホスト名(このチュートリアルではserver1.example.com)に変更するには、証明書を削除します…
cd /etc/courier
rm -f /etc/courier/imapd.pem
rm -f /etc/courier/pop3d.pem… 次の2つのファイルを修正します。CN=localhostをCN=server1.example.comに置き換えます(必要に応じて他の値も変更できます):
vi /etc/courier/imapd.cnf| [...] CN=server1.example.com [...] |
vi /etc/courier/pop3d.cnf| [...] CN=server1.example.com [...] |
その後、証明書を再作成します…
mkimapdcert
mkpop3dcert… そして、Courier-IMAP-SSLおよびCourier-POP3-SSLを再起動します:
/etc/init.d/courier-imap-ssl restart
/etc/init.d/courier-pop-ssl restart13 Amavisd-new、SpamAssassin、Clamavのインストール
amavisd-new、SpamAssassin、ClamAVをインストールするには、次のコマンドを実行します
aptitude install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl14 Apache2、PHP5、phpMyAdmin、FCGI、suExec、Pear、mcryptのインストール
Apache2、PHP5、phpMyAdmin、FCGI、suExec、Pear、mcryptは次のようにインストールできます:
aptitude install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp次の質問が表示されます:
自動的に再構成するウェブサーバー: <– apache2
phpmyadminのdbconfig-commonでデータベースを構成しますか? <– はい
データベースの管理ユーザーのパスワード: <– yourrootsqlpassword
phpmyadminのMySQLアプリケーションパスワード: <– [空白]
次に、Apacheモジュールのsuexec、rewrite、ssl、actions、includeを有効にするために次のコマンドを実行します:
a2enmod suexec rewrite ssl actions include/etc/phpmyadmin/htpasswd.setupファイルを削除してphpMyAdminを保護します…
rm -f /etc/phpmyadmin/htpasswd.setup… そして、/etc/phpmyadmin/apache.confの次のセクションを削除またはコメントアウトします:
vi /etc/phpmyadmin/apache.conf| [...] ## セットアップのための認可 # |
その後、Apacheを再起動します:
/etc/init.d/apache2 restart15 PureFTPdとQuotaのインストール
PureFTPdとQuotaは次のコマンドでインストールできます:
aptitude 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を再起動します:
/etc/init.d/pure-ftpd-mysql restart/etc/fstabを編集します。私のは次のようになっています(マウントポイント/のパーティションにusrquota、grpquotaを追加しました):
vi /etc/fstab| # /etc/fstab: 静的ファイルシステム情報。 # # デバイスのユニバーサルユニーク識別子を印刷するには、'vol_id --uuid'を使用します; # これはUUID=とともに使用され、デバイスの名前をより堅牢な方法で指定します # ディスクが追加または削除されても機能します。fstab(5)を参照してください。 # # <ファイルシステム> <マウントポイント> <タイプ> <オプション> <ダンプ> <パス> proc /proc proc defaults 0 0 # /はインストール中に/dev/mapper/server1-rootにありました UUID=b8d265bc-5959-404d-a68e-8dc1c76f18d6 / ext3 relatime,errors=remount-ro,usrquota,grpquota 0 1 # /bootはインストール中に/dev/sda5にありました UUID=01e9c3c7-2ad0-4f52-a356-18290517b362 /boot ext2 relatime 0 2 # swapはインストール中に/dev/mapper/server1-swap_1にありました UUID=c1e0bcbb-5c73-4bd2-a7b2-8beeb7526200 none swap sw 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 |
Quotaを有効にするには、次のコマンドを実行します:
touch /quota.user /quota.group
chmod 600 /quota.*
mount -o remount /quotacheck -avugm
quotaon -avug16 MyDNSのインストール
MyDNSをインストールする前に、いくつかの前提条件をインストールする必要があります:
aptitude install g++ libc6 gcc gawk make texinfo libmysqlclient15-devMyDNSはUbuntu 9.04のリポジトリにはないため、次のように自分でビルドする必要があります:
cd /tmp
wget http://heanet.dl.sourceforge.net/sourceforge/mydns-ng/mydns-1.2.8.27.tar.gz
tar xvfz mydns-1.2.8.27.tar.gz
cd mydns-1.2.8
./configure
make
make install次に、MyDNSのスタート/ストップスクリプトを作成します:
vi /etc/init.d/mydns| #! /bin/sh # # mydns MyDNSサーバーを起動 # # 著者: Philipp Kern <[email protected]>。 # Miquel van Smoorenburgのスケルトン1.9.4に基づいて # <[email protected]>およびIan Murdock <[email protected]>。 # set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/local/sbin/mydns NAME=mydns DESC="DNSサーバー" SCRIPTNAME=/etc/init.d/$NAME # パッケージが削除された場合は優雅に終了します。 test -x $DAEMON || exit 0 case "$1" in start) echo -n "${DESC}を開始しています: ${NAME}" start-stop-daemon --start --quiet --exec $DAEMON -- -b echo "." ;; stop) echo -n "${DESC}を停止しています: ${NAME}" start-stop-daemon --stop --oknodo --quiet --exec $DAEMON echo "." ;; reload|force-reload) echo -n "${DESC}の設定を再読み込みしています..." start-stop-daemon --stop --signal HUP --quiet --exec $DAEMON echo "完了." ;; restart) echo -n "${DESC}を再起動しています: ${NAME}" start-stop-daemon --stop --quiet --oknodo --exec $DAEMON sleep 1 start-stop-daemon --start --quiet --exec $DAEMON -- -b echo "." ;; *) echo "使用法: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 exit 1 ;; esac exit 0 |
その後、スクリプトを実行可能にし、システム起動リンクを作成します:
chmod +x /etc/init.d/mydns
update-rc.d mydns defaults17 VloggerとWebalizerのインストール
VloggerとWebalizerは次のようにインストールできます:
aptitude install vlogger webalizer18 Jailkitのインストール
JailkitはSSHユーザーをchrootしたい場合にのみ必要です。次のようにインストールできます(重要: JailkitはISPConfigの前にインストールする必要があります - 後からインストールすることはできません!):
aptitude install build-essential autoconf automake1.9 libtool flex bisoncd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz
tar xvfz jailkit-2.5.tar.gz
cd jailkit-2.5
./configure
make
make install
cd ..
rm -rf jailkit-2.5*19 fail2banのインストール
これはオプションですが推奨されます。なぜなら、ISPConfigモニターはfail2banログを表示しようとするからです:
aptitude install fail2ban新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。