Установка сервера · 4 min read · Jan 17, 2026
Идеальный сервер - Fedora 10 [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/BUILDROOT
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:
mkdir $HOME/downloads
cd $HOME/downloads
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
Теперь (все еще в $HOME/downloads) мы можем собрать 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 588
-rw-r–r– 1 root root 139439 2009-03-03 00:43 courier-authlib-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 311720 2009-03-03 00:43 courier-authlib-debuginfo-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 34714 2009-03-03 00:43 courier-authlib-devel-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 17779 2009-03-03 00:43 courier-authlib-ldap-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 14088 2009-03-03 00:43 courier-authlib-mysql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 13344 2009-03-03 00:43 courier-authlib-pgsql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 8144 2009-03-03 00:43 courier-authlib-pipe-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 34973 2009-03-03 00:43 courier-authlib-userdb-0.62.1-1.fc10.i386.rpm
[compileuser@server1 i386]$
Выберите те, которые хотите установить, и установите их следующим образом:
sudo rpm -ivh courier-authlib-0.62.1-1.fc10.i386.rpm courier-authlib-mysql-0.62.1-1.fc10.i386.rpm courier-authlib-devel-0.62.1-1.fc10.i386.rpm Теперь мы возвращаемся в директорию $HOME/downloads и снова запускаем rpmbuild, на этот раз без sudo, иначе компиляция завершится неудачей, потому что она была запущена от имени root:
cd $HOME/downloads
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 1864
-rw-r–r– 1 root root 139439 2009-03-03 00:43 courier-authlib-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 311720 2009-03-03 00:43 courier-authlib-debuginfo-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 34714 2009-03-03 00:43 courier-authlib-devel-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 17779 2009-03-03 00:43 courier-authlib-ldap-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 14088 2009-03-03 00:43 courier-authlib-mysql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 13344 2009-03-03 00:43 courier-authlib-pgsql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 8144 2009-03-03 00:43 courier-authlib-pipe-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 34973 2009-03-03 00:43 courier-authlib-userdb-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 compileuser compileuser 397991 2009-03-03 00:52 courier-imap-4.4.1-1.10.i386.rpm
-rw-r–r– 1 compileuser compileuser 895065 2009-03-03 00:52 courier-imap-debuginfo-4.4.1-1.10.i386.rpm
[compileuser@server1 i386]$
Вы можете установить courier-imap следующим образом:
sudo rpm -ivh courier-imap-4.4.1-1.10.i386.rpmТеперь мы возвращаемся в директорию $HOME/downloads и снова запускаем rpmbuild, на этот раз для сборки пакета maildrop:
cd $HOME/downloads
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 3076
-rw-r–r– 1 root root 139439 2009-03-03 00:43 courier-authlib-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 311720 2009-03-03 00:43 courier-authlib-debuginfo-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 34714 2009-03-03 00:43 courier-authlib-devel-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 17779 2009-03-03 00:43 courier-authlib-ldap-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 14088 2009-03-03 00:43 courier-authlib-mysql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 13344 2009-03-03 00:43 courier-authlib-pgsql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 8144 2009-03-03 00:43 courier-authlib-pipe-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 34973 2009-03-03 00:43 courier-authlib-userdb-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 compileuser compileuser 397991 2009-03-03 00:52 courier-imap-4.4.1-1.10.i386.rpm
-rw-r–r– 1 compileuser compileuser 895065 2009-03-03 00:52 courier-imap-debuginfo-4.4.1-1.10.i386.rpm
-rw-r–r– 1 root root 300664 2009-03-03 00:59 maildrop-2.0.4-1.10.i386.rpm
-rw-r–r– 1 root root 723181 2009-03-03 00:59 maildrop-debuginfo-2.0.4-1.10.i386.rpm
-rw-r–r– 1 root root 132551 2009-03-03 00:59 maildrop-devel-2.0.4-1.10.i386.rpm
-rw-r–r– 1 root root 58083 2009-03-03 00:59 maildrop-man-2.0.4-1.10.i386.rpm
[compileuser@server1 i386]$
Теперь вы можете установить maildrop следующим образом:
sudo rpm -ivh maildrop-2.0.4-1.10.i386.rpmПосле того как вы скомпилировали и установили все необходимые пакеты, вы можете снова стать root, набрав
exit11 Применение патча квоты к Postfix
Нам нужно получить исходный rpm Postfix, применить к нему патч квоты, собрать новый rpm-пакет Postfix и установить его.
cd /usr/src
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/fedora/linux/releases/10/Fedora/source/SRPMS/postfix-2.5.5-1.fc10.src.rpm
rpm -ivh postfix-2.5.5-1.fc10.src.rpm
Последняя команда покажет некоторые предупреждения, которые вы можете игнорировать:
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
cd /root/rpmbuild/SOURCES
wget http://vda.sourceforge.net/VDA/postfix-2.5.5-vda-ng.patch.gz
gunzip postfix-2.5.5-vda-ng.patch.gz
cd /root/rpmbuild/SPECS/
Теперь мы должны отредактировать файл postfix.spec:
vi postfix.specДобавьте Patch0: postfix-2.5.5-vda-ng.patch в раздел # Patches и %patch0 -p1 -b .vda-ng в раздел %setup -q:
| [...] # Patches Patch0: postfix-2.5.5-vda-ng.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.4.0-cyrus.patch Patch10: postfix-2.4.5-open_define.patch [...] %prep %setup -q # Применить обязательные патчи %patch0 -p1 -b .vda-ng %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 %patch10 -p1 -b .open_define [...] |
Затем мы собираем наш новый rpm-пакет Postfix с поддержкой квот и MySQL:
rpmbuild -ba postfix.specНаш rpm-пакет Postfix создается в /root/rpmbuild/RPMS/i386 ( /root/rpmbuild/RPMS/x86_64, если вы находитесь на системе x86_64), поэтому мы переходим туда:
cd /root/rpmbuild/RPMS/i386Команда
ls -lпоказывает доступные пакеты:
[root@server1 i386]# ls -l
total 11828
-rw-r–r– 1 root root 4006804 2009-03-03 01:06 postfix-2.5.5-1.fc10.i386.rpm
-rw-r–r– 1 root root 8027876 2009-03-03 01:06 postfix-debuginfo-2.5.5-1.fc10.i386.rpm
-rw-r–r– 1 root root 51904 2009-03-03 01:06 postfix-pflogsumm-2.5.5-1.fc10.i386.rpm
[root@server1 i386]#
Выберите пакет Postfix и установите его следующим образом:
rpm -ivh postfix-2.5.5-1.fc10.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 getmailGet new posts in your inbox
No spam. Unsubscribe anytime.