サーバー設定 · 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_64
echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros

次に、ダウンロードディレクトリを作成し、http://www.courier-mta.org/download.php からソースファイルをダウンロードします:

mkdir $HOME/downloads  
cd $HOME/downloads
wget 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 start

12 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 install

13 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 アプリケーション # # # Order Deny,Allow # Deny from all # Allow from 127.0.0.1 # Alias /phpmyadmin /usr/share/phpmyadmin Alias /phpMyAdmin /usr/share/phpmyadmin Alias /mysqladmin /usr/share/phpmyadmin |

次に、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 パスワードでログインできます。

Share: X/Twitter LinkedIn

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

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