サーバー設定 · 4 min read · Feb 12, 2026

完璧なサーバー - Fedora 15 x86_64 [ISPConfig 3] - ページ 4

11 Courier-IMAP、Courier-Authlib、および Maildrop のインストール

残念ながら、Courier-IMAP、Courier-Authlib、および Maildrop の rpm パッケージは存在しないため、私たち自身でビルドする必要があります。

まず、Dovecot を削除します(Fedora 15 には 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 用の同様の行を追加します:

| [...] ## Allow root to run any commands anywhere 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.8.1/courier-imap-4.8.1.tar.bz2/download  
wget https://sourceforge.net/projects/courier/files/maildrop/2.5.4/maildrop-2.5.4.tar.bz2/download

(なぜ最新のバージョンの courier-imap - この執筆時点では 4.9.3 - をダウンロードせず、古いバージョン - 4.8.1 を使用するのか不思議に思うかもしれません。これは、4.9.3 が私のシステムでビルドに失敗したのに対し、4.8.1 は問題なく動作するためです。)

今(まだ $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 520
-rw-r–r– 1 root root 123448 May 25 18:06 courier-authlib-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 265144 May 25 18:06 courier-authlib-debuginfo-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 34876 May 25 18:06 courier-authlib-devel-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 17448 May 25 18:06 courier-authlib-ldap-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 13808 May 25 18:06 courier-authlib-mysql-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 13020 May 25 18:06 courier-authlib-pgsql-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 8276 May 25 18:06 courier-authlib-pipe-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 34108 May 25 18:06 courier-authlib-userdb-0.63.0-1.fc15.x86_64.rpm
[falko@server1 downloads]$

インストールしたいものを選択し、次のようにインストールします:

sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/courier-authlib-0.63.0-1.fc15.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-mysql-0.63.0-1.fc15.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-devel-0.63.0-1.fc15.x86_64.rpm

これで、ダウンロードディレクトリに戻ります:

cd $HOME/downloads

次のコマンドを実行して、必要なディレクトリを作成し、ディレクトリの権限を変更します(そうしないと、Courier-Imap のビルドプロセスが失敗します):

sudo mkdir /var/cache/ccache/tmp  
sudo chmod o+rwx /var/cache/ccache/  
sudo chmod 777 /var/cache/ccache/tmp

次に、sudo なしで rpmbuild を再度実行します。そうしないと、コンパイルが root として実行されたために失敗します:

rpmbuild -ta courier-imap-4.8.1.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 1708
-rw-rw-r– 1 falko falko 596432 May 25 18:33 courier-imap-4.8.1-2.15.x86_64.rpm
-rw-rw-r– 1 falko falko 1149328 May 25 18:33 courier-imap-debuginfo-4.8.1-2.15.x86_64.rpm
[falko@server1 x86_64]$

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

sudo rpm -ivh courier-imap-4.8.1-2.15.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 1628
-rw-r–r– 1 root root 123448 May 25 18:06 courier-authlib-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 265144 May 25 18:06 courier-authlib-debuginfo-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 34876 May 25 18:06 courier-authlib-devel-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 17448 May 25 18:06 courier-authlib-ldap-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 13808 May 25 18:06 courier-authlib-mysql-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 13020 May 25 18:06 courier-authlib-pgsql-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 8276 May 25 18:06 courier-authlib-pipe-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 34108 May 25 18:06 courier-authlib-userdb-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 278520 May 25 18:50 maildrop-2.5.4-1.15.x86_64.rpm
-rw-r–r– 1 root root 685672 May 25 18:50 maildrop-debuginfo-2.5.4-1.15.x86_64.rpm
-rw-r–r– 1 root root 99924 May 25 18:50 maildrop-devel-2.5.4-1.15.x86_64.rpm
-rw-r–r– 1 root root 63968 May 25 18:50 maildrop-man-2.5.4-1.15.x86_64.rpm
[falko@server1 downloads]$

今、次のように maildrop をインストールできます:

sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/maildrop-2.5.4-1.15.x86_64.rpm

必要なすべてのパッケージをコンパイルしてインストールしたら、次のようにして root に戻ることができます:

exit

12 Postfix のインストール

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

yum install postfix

次に、Sendmail をオフにし、Postfix と MySQL を起動します:

chkconfig --levels 235 mysqld on  
/etc/init.d/mysqld start

chkconfig sendmail off  
chkconfig --levels 235 postfix on  
/etc/init.d/sendmail stop  
/etc/init.d/postfix start

13 Getmail のインストール

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

yum install getmail

14 MySQL パスワードの設定と phpMyAdmin の構成

MySQL root アカウントのパスワードを設定します:

 mysql_secure_installation 

[root@server1 ~]# mysql_secure_installation

NOTE: このスクリプトのすべての部分を実行することは、すべての MySQL サーバーに推奨されます。 すべてのステップを注意深く読んでください!

MySQL にログインしてそれを保護するには、root ユーザーの現在のパスワードが必要です。 MySQL をインストールしたばかりで、まだ root パスワードを設定していない場合、パスワードは空白になりますので、ここで Enter を押してください。

Enter current password for root (enter for none): <– ENTER
OK, successfully used password, moving on…

root パスワードを設定することで、適切な認証なしに誰も MySQL root ユーザーにログインできないようにします。

Set root password? [Y/n] <– ENTER
New password: <– yourrootsqlpassword
Re-enter new password: <– yourrootsqlpassword
Password updated successfully!
Reloading privilege tables..
… Success!

デフォルトでは、MySQL インストールには匿名ユーザーがあり、誰でもユーザーアカウントを作成せずに MySQL にログインできます。 これはテスト用にのみ意図されており、インストールを少しスムーズにするためのものです。 本番環境に移行する前に、これらを削除する必要があります。

Remove anonymous users? [Y/n] <– ENTER
… Success!

通常、root は ‘localhost’ からのみ接続できるようにするべきです。 これにより、誰かがネットワークから root パスワードを推測できないようにします。

Disallow root login remotely? [Y/n] <– ENTER
… Success!

デフォルトでは、MySQL には誰でもアクセスできる ‘test’ という名前のデータベースがあります。 これもテスト用にのみ意図されており、本番環境に移行する前に削除する必要があります。

Remove test database and access to it? [Y/n] <– ENTER

  • Dropping test database…
    … Success!
  • Removing privileges on test database…
    … Success!

特権テーブルを再読み込みすることで、これまでに行ったすべての変更が即座に適用されることを保証します。

Reload privilege tables now? [Y/n] <– ENTER
… Success!

Cleaning up…

すべて完了しました! 上記のすべてのステップを完了した場合、MySQL インストールは現在安全であるはずです。

MySQL を使用していただきありがとうございます!

[root@server1 ~]#

次に、phpMyAdmin を構成します。 Apache の設定を変更して、phpMyAdmin が localhost からだけでなく接続を許可するようにします( ステートメントのコメントを外します):

vi /etc/httpd/conf.d/phpMyAdmin.conf

| # phpMyAdmin - Web based MySQL browser written in php # デフォルトでは localhost のみを許可 # しかし、localhost 以外の誰でも phpMyAdmin を許可することは、SSL で適切に保護されていない限り、危険と見なされるべきです Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin # # Order Deny,Allow # Deny from All # Allow from 127.0.0.1 # Allow from ::1 # Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 # これらのディレクトリは HTTP 経由でのアクセスを必要としません - 元の phpMyAdmin アップストリーム tarball から取得 # Order Deny,Allow Deny from All Allow from None Order Deny,Allow Deny from All Allow from None # この設定は、phpMyAdmin ディレクトリで mod_security が SQL などをフィルタリングするのを防ぎます。 これにより、mod_security の実装が壊れる可能性があります。 # # # # SecRuleInheritance Off # # |

次に、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

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

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