Установка серверов · 4 min read · Nov 09, 2025

Идеальный сервер - CentOS 5.2 [ISPConfig 3] - Страница 4

10 Установите Courier-IMAP, Courier-Authlib и Maildrop

К сожалению, нет rpm-пакетов для Courier-IMAP, Courier-Authlib и Maildrop, поэтому нам нужно собрать их самостоятельно.

RPM-пакеты не должны собираться от имени root; courier-imap даже откажется компилироваться, если обнаружит, что компиляция выполняется от имени пользователя root. Поэтому мы создадим обычную учетную запись пользователя (compileuser в этом примере) и зададим ему пароль:

useradd -m -s /bin/bash compileuser  
passwd compileuser

Нам понадобится команда sudo позже, чтобы пользователь compileuser мог компилировать и устанавливать rpm-пакеты. Но сначала мы должны разрешить compileuser выполнять все команды с помощью sudo:

Запустите

visudo

В открывшемся файле есть строка root ALL=(ALL) ALL. Добавьте аналогичную строку для compileuser сразу под этой строкой:

| [...] root ALL=(ALL) ALL compileuser ALL=(ALL) ALL [...] |

Теперь мы готовы собрать наш rpm-пакет. Сначала станьте пользователем compileuser:

su compileuser

Затем создадим нашу среду сборки:

mkdir $HOME/rpm  
mkdir $HOME/rpm/SOURCES  
mkdir $HOME/rpm/SPECS  
mkdir $HOME/rpm/BUILD  
mkdir $HOME/rpm/SRPMS  
mkdir $HOME/rpm/RPMS  
mkdir $HOME/rpm/RPMS/i386
echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros

Теперь мы загружаем исходные файлы с http://www.courier-mta.org/download.php:

cd /tmp  
wget http://prdownloads.sourceforge.net/courier/courier-authlib-0.62.1.tar.bz2  
wget http://prdownloads.sourceforge.net/courier/courier-imap-4.4.1.tar.bz2  
wget http://prdownloads.sourceforge.net/courier/maildrop-2.0.4.tar.bz2

Теперь (все еще в /tmp) мы можем собрать courier-authlib:

sudo rpmbuild -ta courier-authlib-0.62.1.tar.bz2

После процесса сборки rpm-пакеты можно найти в $HOME/rpm/RPMS/i386 ( $HOME/rpm/RPMS/x86_64, если вы находитесь на системе x86_64):

cd $HOME/rpm/RPMS/i386

Команда

ls -l

показывает доступные rpm-пакеты:

[compileuser@server1 i386]$ ls -l
total 584
-rw-r–r– 1 root root 140978 Feb 26 03:00 courier-authlib-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 309196 Feb 26 03:00 courier-authlib-debuginfo-0.62.1-1.i386.rpm
-rw-r–r– 1 root root  34672 Feb 26 03:00 courier-authlib-devel-0.62.1-1.i386.rpm
-rw-r–r– 1 root root  17855 Feb 26 03:00 courier-authlib-ldap-0.62.1-1.i386.rpm
-rw-r–r– 1 root root  14048 Feb 26 03:00 courier-authlib-mysql-0.62.1-1.i386.rpm
-rw-r–r– 1 root root  13214 Feb 26 03:00 courier-authlib-pgsql-0.62.1-1.i386.rpm
-rw-r–r– 1 root root   8175 Feb 26 03:00 courier-authlib-pipe-0.62.1-1.i386.rpm
-rw-r–r– 1 root root  35927 Feb 26 03:00 courier-authlib-userdb-0.62.1-1.i386.rpm
[compileuser@server1 i386]$

Выберите те, которые хотите установить, и установите их так:

sudo rpm -ivh courier-authlib-0.62.1-1.i386.rpm courier-authlib-mysql-0.62.1-1.i386.rpm courier-authlib-devel-0.62.1-1.i386.rpm 

Теперь мы возвращаемся в директорию /tmp и снова запускаем rpmbuild, на этот раз без sudo, иначе компиляция завершится неудачей, потому что она была запущена от имени root:

cd /tmp  
rpmbuild -ta courier-imap-4.4.1.tar.bz2

После процесса сборки rpm-пакеты можно найти в $HOME/rpm/RPMS/i386 ( $HOME/rpm/RPMS/x86_64, если вы находитесь на системе x86_64):

cd $HOME/rpm/RPMS/i386

Команда

ls -l

показывает доступные rpm-пакеты:

[compileuser@server1 i386]$ ls -l
total 1868
-rw-r–r– 1 root        root        140978 Feb 26 03:00 courier-authlib-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root        309196 Feb 26 03:00 courier-authlib-debuginfo-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         34672 Feb 26 03:00 courier-authlib-devel-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         17855 Feb 26 03:00 courier-authlib-ldap-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         14048 Feb 26 03:00 courier-authlib-mysql-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         13214 Feb 26 03:00 courier-authlib-pgsql-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root          8175 Feb 26 03:00 courier-authlib-pipe-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         35927 Feb 26 03:00 courier-authlib-userdb-0.62.1-1.i386.rpm
-rw-rw-r– 1 compileuser compileuser 395137 Feb 26 03:13 courier-imap-4.4.1-1.i386.rpm
-rw-rw-r– 1 compileuser compileuser 906775 Feb 26 03:13 courier-imap-debuginfo-4.4.1-1.i386.rpm
[compileuser@server1 i386]$

Вы можете установить courier-imap так:

sudo rpm -ivh courier-imap-4.4.1-1.i386.rpm

Теперь мы возвращаемся в директорию /tmp и снова запускаем rpmbuild, на этот раз для сборки пакета maildrop:

cd /tmp  
sudo rpmbuild -ta maildrop-2.0.4.tar.bz2

После процесса сборки rpm-пакеты можно найти в $HOME/rpm/RPMS/i386 ( $HOME/rpm/RPMS/x86_64, если вы находитесь на системе x86_64):

cd $HOME/rpm/RPMS/i386

Команда

ls -l

показывает доступные rpm-пакеты:

[compileuser@server1 i386]$ ls -l
total 3096
-rw-r–r– 1 root        root        140978 Feb 26 03:00 courier-authlib-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root        309196 Feb 26 03:00 courier-authlib-debuginfo-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         34672 Feb 26 03:00 courier-authlib-devel-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         17855 Feb 26 03:00 courier-authlib-ldap-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         14048 Feb 26 03:00 courier-authlib-mysql-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         13214 Feb 26 03:00 courier-authlib-pgsql-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root          8175 Feb 26 03:00 courier-authlib-pipe-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         35927 Feb 26 03:00 courier-authlib-userdb-0.62.1-1.i386.rpm
-rw-rw-r– 1 compileuser compileuser 395137 Feb 26 03:13 courier-imap-4.4.1-1.i386.rpm
-rw-rw-r– 1 compileuser compileuser 906775 Feb 26 03:13 courier-imap-debuginfo-4.4.1-1.i386.rpm
-rw-r–r– 1 root        root        303104 Feb 26 03:25 maildrop-2.0.4-1.i386.rpm
-rw-r–r– 1 root        root        739326 Feb 26 03:25 maildrop-debuginfo-2.0.4-1.i386.rpm
-rw-r–r– 1 root        root        134387 Feb 26 03:25 maildrop-devel-2.0.4-1.i386.rpm
-rw-r–r– 1 root        root         58837 Feb 26 03:25 maildrop-man-2.0.4-1.i386.rpm
[compileuser@server1 i386]$

Теперь вы можете установить maildrop так:

sudo rpm -ivh maildrop-2.0.4-1.i386.rpm

После того как вы скомпилировали и установили все необходимые пакеты, вы можете снова стать root, набрав

exit

11 Примените патч квоты к Postfix

Нам нужно получить исходный rpm Postfix, применить к нему патч квоты, собрать новый rpm-пакет Postfix и установить его.

cd /usr/src  
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5.2/os/SRPMS/postfix-2.3.3-2.src.rpm  
rpm -ivh postfix-2.3.3-2.src.rpm

Последняя команда покажет некоторые предупреждения, которые вы можете игнорировать:

warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root

cd /usr/src/redhat/SOURCES  
wget http://vda.sourceforge.net/VDA/postfix-2.3.3-vda.patch.gz  
gunzip postfix-2.3.3-vda.patch.gz  
cd /usr/src/redhat/SPECS/

Теперь мы должны отредактировать файл postfix.spec:

vi postfix.spec

Измените %define MYSQL 0 на %define MYSQL 1, добавьте Patch0: postfix-2.3.3-vda.patch в раздел # Patches и, наконец, добавьте %patch0 -p1 -b .vda в раздел %setup -q:

| [...] %define MYSQL 1 [...] # Patches Patch0: postfix-2.3.3-vda.patch Patch1: postfix-2.1.1-config.patch Patch3: postfix-alternatives.patch Patch6: postfix-2.1.1-obsolete.patch Patch7: postfix-2.1.5-aliases.patch Patch8: postfix-large-fs.patch Patch9: postfix-2.2.5-cyrus.patch [...] %setup -q # Применить обязательные патчи %patch0 -p1 -b .vda %patch1 -p1 -b .config %patch3 -p1 -b .alternatives %patch6 -p1 -b .obsolete %patch7 -p1 -b .aliases %patch8 -p1 -b .large-fs %patch9 -p1 -b .cyrus [...] |

Затем мы собираем наш новый rpm-пакет Postfix с поддержкой квоты и MySQL:

rpmbuild -ba postfix.spec

Наш rpm-пакет Postfix создается в /usr/src/redhat/RPMS/i386 ( /usr/src/redhat/RPMS/x86_64, если вы находитесь на системе x86_64), поэтому мы переходим туда:

cd /usr/src/redhat/RPMS/i386

Команда

ls -l

показывает доступные пакеты:

[root@server1 i386]# ls -l
total 11292
-rw-r–r– 1 root root 3820393 Feb 27 18:16 postfix-2.3.3-2.i386.rpm
-rw-r–r– 1 root root 7666204 Feb 27 18:16 postfix-debuginfo-2.3.3-2.i386.rpm
-rw-r–r– 1 root root   50539 Feb 27 18:16 postfix-pflogsumm-2.3.3-2.i386.rpm
[root@server1 i386]#

Выберите пакет Postfix и установите его так:

rpm -ivh postfix-2.3.3-2.i386.rpm

Затем отключите Sendmail и запустите Postfix, saslauthd и courier-authlib:

chkconfig --levels 235 courier-authlib on  
/etc/init.d/courier-authlib start

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

12 Настройка Courier

Теперь мы создаем системные ссылки для запуска courier-imap:

chkconfig --levels 235 courier-imap on  
/etc/init.d/courier-authlib restart  
/etc/init.d/courier-imap restart

Когда courier-imap запускается в первый раз, он автоматически создает файлы сертификатов /usr/lib/courier-imap/share/imapd.pem и /usr/lib/courier-imap/share/pop3d.pem из файлов /usr/lib/courier-imap/etc/imapd.cnf и /usr/lib/courier-imap/etc/pop3d.cnf. Поскольку файлы .cnf содержат строку CN=localhost, но наш сервер называется server1.example.com, сертификаты могут вызвать проблемы при использовании TLS-соединений. Чтобы решить эту проблему, мы удаляем оба сертификата…

cd /usr/lib/courier-imap/share/  
rm -f imapd.pem  
rm -f pop3d.pem

… и заменяем строки CN=localhost в /usr/lib/courier-imap/etc/imapd.cnf и /usr/lib/courier-imap/etc/pop3d.cnf на CN=server1.example.com:

vi /usr/lib/courier-imap/etc/imapd.cnf

| [...] CN=server1.example.com [...] |

vi /usr/lib/courier-imap/etc/pop3d.cnf

| [...] CN=server1.example.com [...] |

Затем мы воссоздаем оба сертификата…

./mkimapdcert  
./mkpop3dcert

… и перезапускаем courier-authlib и courier-imap:

/etc/init.d/courier-authlib restart  
/etc/init.d/courier-imap restart

13 Установите Getmail

Getmail можно установить следующим образом:

yum install getmail
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.