サーバー設定 · 3 min read · Nov 09, 2025
完璧なサーバー - CentOS 6.0 x86_64 [ISPConfig 3] - ページ 4
10 Courier-IMAP、Courier-Authlib、および Maildrop のインストール
残念ながら、Courier-IMAP、Courier-Authlib、および Maildrop の rpm パッケージは存在しないため、自分たちでビルドする必要があります。
まず、Dovecot を削除します(CentOS 6.0 には Dovecot 2.x が付属していますが、ISPConfig 3 は Dovecot 1.2.x をサポートしており、2.x はサポートしていません):
yum remove dovecot dovecot-mysql次に、Courier rpm パッケージをビルドするために必要な前提条件をインストールします:
yum install rpm-build gcc mysql-devel openssl-devel cyrus-sasl-devel pkgconfig zlib-devel pcre-devel openldap-devel postgresql-devel expect libtool-ltdl-devel openldap-servers libtool gdbm-devel pam-devel gamin-devel libidn-devel RPM パッケージは root としてビルドすべきではありません。courier-imap は、コンパイルが root ユーザーとして実行されていることを検出すると、コンパイルを拒否します。したがって、ここで通常のユーザーアカウントを作成します(この例では falko)し、パスワードを設定します:
useradd -m -s /bin/bash falko
passwd falko後で falko ユーザーが rpm パッケージをコンパイルおよびインストールできるように、sudo コマンドが必要になります。しかしまず、falko に sudo を使用してすべてのコマンドを実行できるように許可する必要があります:
実行します
visudo開いたファイルには、root ALL=(ALL) ALL という行があります。その行のすぐ下に falko 用の同様の行を追加します:
| [...] ## root がどこでも任意のコマンドを実行できるようにする root ALL=(ALL) ALL falko ALL=(ALL) ALL [...] |
これで、rpm パッケージをビルドする準備が整いました。まず、falko ユーザーになります:
su falko次に、ビルド環境を作成します:
mkdir $HOME/rpm
mkdir $HOME/rpm/SOURCES
mkdir $HOME/rpm/SPECS
mkdir $HOME/rpm/BUILD
mkdir $HOME/rpm/BUILDROOT
mkdir $HOME/rpm/SRPMS
mkdir $HOME/rpm/RPMS
mkdir $HOME/rpm/RPMS/i386
mkdir $HOME/rpm/RPMS/x86_64echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros次に、ダウンロードディレクトリを作成し、http://www.courier-mta.org/download.php からソースファイルをダウンロードします:
mkdir $HOME/downloads
cd $HOME/downloadswget https://sourceforge.net/projects/courier/files/authlib/0.63.0/courier-authlib-0.63.0.tar.bz2/download
wget https://sourceforge.net/projects/courier/files/imap/4.9.3/courier-imap-4.9.3.tar.bz2/download
wget https://sourceforge.net/projects/courier/files/maildrop/2.5.4/maildrop-2.5.4.tar.bz2/download今、($HOME/downloads にいる間に)courier-authlib をビルドできます:
sudo rpmbuild -ta courier-authlib-0.63.0.tar.bz2ビルドプロセスの後、rpm パッケージは /root/rpmbuild/RPMS/x86_64 に見つかります(i686 システムの場合は /root/rpmbuild/RPMS/i686)。コマンド
sudo ls -l /root/rpmbuild/RPMS/x86_64は、利用可能な rpm パッケージを表示します:
[falko@server1 downloads]$ sudo ls -l /root/rpmbuild/RPMS/x86_64
total 516
-rw-r–r– 1 root root 124296 Jul 11 17:27 courier-authlib-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 259620 Jul 11 17:27 courier-authlib-debuginfo-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 35044 Jul 11 17:27 courier-authlib-devel-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 17416 Jul 11 17:27 courier-authlib-ldap-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13944 Jul 11 17:27 courier-authlib-mysql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13112 Jul 11 17:27 courier-authlib-pgsql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 8316 Jul 11 17:27 courier-authlib-pipe-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 34168 Jul 11 17:27 courier-authlib-userdb-0.63.0-1.el6.x86_64.rpm
[falko@server1 downloads]$
インストールしたいものを選択し、次のようにインストールします:
sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/courier-authlib-0.63.0-1.el6.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-mysql-0.63.0-1.el6.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-devel-0.63.0-1.el6.x86_64.rpm次に、ダウンロードディレクトリに戻ります:
cd $HOME/downloads次のコマンドを実行して、必要なディレクトリを作成し、ディレクトリの権限を変更します(そうしないと、Courier-Imap のビルドプロセスが失敗します):
sudo mkdir -p /var/cache/ccache/tmp
sudo chmod o+rwx /var/cache/ccache/
sudo chmod 777 /var/cache/ccache/tmp次に、再度 rpmbuild を実行しますが、今回は sudo を使用せず、そうしないとコンパイルが root として実行されたために失敗します:
rpmbuild -ta courier-imap-4.9.3.tar.bz2ビルドプロセスの後、rpm パッケージは $HOME/rpm/RPMS/x86_64 に見つかります(i686 システムの場合は $HOME/rpm/RPMS/i686):
cd $HOME/rpm/RPMS/x86_64コマンド
ls -lは、利用可能な rpm パッケージを表示します:
[falko@server1 x86_64]$ ls -l
total 1088
-rw-r–r– 1 falko falko 333540 Jul 11 17:38 courier-imap-4.9.3-1.x86_64.rpm
-rw-r–r– 1 falko falko 776112 Jul 11 17:38 courier-imap-debuginfo-4.9.3-1.x86_64.rpm
[falko@server1 x86_64]$
次のようにして courier-imap をインストールできます:
sudo rpm -ivh courier-imap-4.9.3-1.x86_64.rpm次に、ダウンロードディレクトリに戻ります:
cd $HOME/downloadsそして、maildrop パッケージをビルドするために再度 rpmbuild を実行します:
sudo rpmbuild -ta maildrop-2.5.4.tar.bz2ビルドプロセスの後、rpm パッケージは /root/rpmbuild/RPMS/x86_64 に見つかります(i686 システムの場合は /root/rpmbuild/RPMS/i686)。コマンド
sudo ls -l /root/rpmbuild/RPMS/x86_64は、利用可能な rpm パッケージを表示します:
[falko@server1 downloads]$ sudo ls -l /root/rpmbuild/RPMS/x86_64
total 1660
-rw-r–r– 1 root root 124296 Jul 11 17:27 courier-authlib-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 259620 Jul 11 17:27 courier-authlib-debuginfo-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 35044 Jul 11 17:27 courier-authlib-devel-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 17416 Jul 11 17:27 courier-authlib-ldap-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13944 Jul 11 17:27 courier-authlib-mysql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13112 Jul 11 17:27 courier-authlib-pgsql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 8316 Jul 11 17:27 courier-authlib-pipe-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 34168 Jul 11 17:27 courier-authlib-userdb-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 281328 Jul 11 17:47 maildrop-2.5.4-1.x86_64.rpm
-rw-r–r– 1 root root 717476 Jul 11 17:47 maildrop-debuginfo-2.5.4-1.x86_64.rpm
-rw-r–r– 1 root root 101156 Jul 11 17:47 maildrop-devel-2.5.4-1.x86_64.rpm
-rw-r–r– 1 root root 63744 Jul 11 17:47 maildrop-man-2.5.4-1.x86_64.rpm
[falko@server1 downloads]$
次のようにして maildrop をインストールできます:
sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/maildrop-2.5.4-1.x86_64.rpm必要なすべてのパッケージをコンパイルしてインストールしたら、次のようにして root に戻ることができます:
exit次に、Courier-IMAP/-POP3 を次のように開始します:
/etc/init.d/courier-imap start 11 Postfix のインストール
Postfix は次のようにインストールできます:
yum install postfix次に、Sendmail をオフにし、Postfix と MySQL を開始します:
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start
chkconfig --levels 235 sendmail off
chkconfig --levels 235 postfix on
/etc/init.d/sendmail stop
/etc/init.d/postfix start12 Getmail のインストール
Getmail の rpm パッケージは存在しないため、ソースからインストールする必要があります。これは次のように行うことができます:
cd /tmp
wget http://pyropus.ca/software/getmail/old-versions/getmail-4.20.3.tar.gz
tar xvfz getmail-4.20.3.tar.gz
cd getmail-4.20.3
python setup.py build
python setup.py install13 MySQL パスワードの設定と phpMyAdmin の構成
MySQL root アカウントのパスワードを設定します:
mysql_secure_installation[root@server1 tmp]# mysql_secure_installation
NOTE: このスクリプトのすべての部分を実行することは、すべての MySQL サーバーで推奨されます。
本番環境で使用する場合は、各ステップを注意深くお読みください!
MySQL にログインしてセキュリティを確保するには、root ユーザーの現在のパスワードが必要です。
MySQL をインストールしたばかりで、まだ root パスワードを設定していない場合、パスワードは空白になりますので、ここでは単に Enter を押してください。
現在の root のパスワードを入力してください(なしの場合は Enter):
OK、パスワードが正常に使用され、次に進みます…
root パスワードを設定することで、適切な認証なしに誰も MySQL root ユーザーにログインできないようにします。
root パスワードを設定しますか? [Y/n] <– ENTER
新しいパスワード: <– yourrootsqlpassword
新しいパスワードを再入力してください: <– yourrootsqlpassword
パスワードが正常に更新されました!
特権テーブルを再読み込みしています..
… 成功!
デフォルトでは、MySQL インストールには匿名ユーザーがあり、誰でもユーザーアカウントを作成せずに MySQL にログインできます。
これはテスト用にのみ意図されており、インストールを少しスムーズにするためのものです。
本番環境に移行する前に、これらを削除する必要があります。
匿名ユーザーを削除しますか? [Y/n] <– ENTER
… 成功!
通常、root は ‘localhost’ からのみ接続できるようにするべきです。
これにより、誰かがネットワークから root パスワードを推測できないようにします。
root のリモートログインを禁止しますか? [Y/n] <– ENTER
… 成功!
デフォルトでは、MySQL には ‘test’ という名前のデータベースがあり、誰でもアクセスできます。
これもテスト用にのみ意図されており、本番環境に移行する前に削除する必要があります。
テストデータベースとそのアクセスを削除しますか? [Y/n] <– ENTER
- テストデータベースを削除しています…
… 成功! - テストデータベースの特権を削除しています…
… 成功!
特権テーブルを再読み込みすることで、これまでに行ったすべての変更が即座に反映されることを保証します。
特権テーブルを今すぐ再読み込みしますか? [Y/n] <– ENTER
… 成功!
クリーンアップ中…
すべて完了しました!
上記のすべての手順を完了した場合、MySQL インストールは現在安全であるはずです。
MySQL をご利用いただきありがとうございます!
[root@server1 tmp]#
次に、phpMyAdmin を構成します。
phpMyAdmin が localhost からだけでなく接続を許可するように Apache 設定を変更します(
vi /etc/httpd/conf.d/phpmyadmin.conf| # # MySQL を管理するための Web アプリケーション # # |
次に、phpMyAdmin の認証を cookie から http に変更します:
vi /usr/share/phpmyadmin/config.inc.php| [...] /* 認証タイプ */ $cfg['Servers'][$i]['auth_type'] = 'http'; [...] |
次に、Apache のシステム起動リンクを作成し、Apache を起動します:
chkconfig --levels 235 httpd on
/etc/init.d/httpd startこれで、ブラウザを http://server1.example.com/phpmyadmin/ または http://192.168.0.100/phpmyadmin/ に向けて、ユーザー名 root と新しい root MySQL パスワードでログインできます。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。