Установка сервера · 6 min read · Feb 12, 2026

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

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

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

Сначала удалите Dovecot (Fedora 15 поставляется с Dovecot 2.x; к сожалению, ISPConfig 3 поддерживает Dovecot 1.2.x, но не 2.x):

yum remove dovecot dovecot-mysql 

Затем установите необходимые пакеты, которые нам нужны для сборки rpm-пакетов Courier:

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

Нам понадобится команда sudo позже, чтобы пользователь falko мог компилировать и устанавливать rpm-пакеты. Но сначала мы должны разрешить 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.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 (/root/rpmbuild/RPMS/i686, если вы на системе 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

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

rpmbuild -ta courier-imap-4.8.1.tar.bz2

После процесса сборки rpm-пакеты можно найти в $HOME/rpm/RPMS/x86_64 ($HOME/rpm/RPMS/i686, если вы на системе 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

и снова запускаем rpmbuild, на этот раз для сборки пакета maildrop:

sudo rpmbuild -ta maildrop-2.5.4.tar.bz2

После процесса сборки rpm-пакеты можно найти в /root/rpmbuild/RPMS/x86_64 (/root/rpmbuild/RPMS/i686, если вы на системе 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

Установите пароли для учетной записи root MySQL:

 mysql_secure_installation 

[root@server1 ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

Для того чтобы войти в MySQL и обеспечить его безопасность, нам
понадобится текущий пароль для пользователя root. Если вы только что
установили MySQL и еще не установили пароль root,
пароль будет пустым, поэтому вам просто нужно нажать enter здесь.

Введите текущий пароль для root (введите для отсутствия): <– ENTER
OK, успешно использован пароль, продолжаем…

Установка пароля root гарантирует, что никто не сможет войти в
учетную запись root MySQL без соответствующей авторизации.

Установить пароль root? [Y/n] <– ENTER
Новый пароль: <– вашпарольrootsql
Повторите новый пароль: <– вашпарольrootsql
Пароль успешно обновлен!
Перезагрузка таблиц привилегий..
… Успех!

По умолчанию установка MySQL имеет анонимного пользователя,
позволяющего любому войти в MySQL без необходимости создания
учетной записи пользователя для них. Это предназначено только
для тестирования и для того, чтобы установка прошла немного
гладче. Вы должны удалить их перед переходом в
производственную среду.

Удалить анонимных пользователей? [Y/n] <– ENTER
… Успех!

Обычно root должен иметь возможность подключаться только
с ‘localhost’. Это гарантирует, что кто-то не сможет
угадать пароль root из сети.

Запретить удаленный вход root? [Y/n] <– ENTER
… Успех!

По умолчанию MySQL поставляется с базой данных с именем
‘test’, к которой может получить доступ любой. Это также
предназначено только для тестирования и должно быть удалено
перед переходом в производственную среду.

Удалить тестовую базу данных и доступ к ней? [Y/n] <– ENTER

  • Удаление тестовой базы данных…
    … Успех!
  • Удаление привилегий на тестовую базу данных…
    … Успех!

Перезагрузка таблиц привилегий гарантирует, что все
изменения, сделанные до сих пор, вступят в силу немедленно.

Перезагрузить таблицы привилегий сейчас? [Y/n] <– ENTER
… Успех!

Очистка…

Все готово! Если вы завершили все вышеперечисленные шаги,
ваша установка MySQL теперь должна быть безопасной.

Спасибо за использование MySQL!

[root@server1 ~]#

Теперь мы настраиваем phpMyAdmin. Мы изменяем конфигурацию Apache, чтобы phpMyAdmin разрешал подключения не только с localhost (закомментировав блок ):

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

| # phpMyAdmin - Веб-браузер MySQL на основе php # По умолчанию разрешает только localhost # Но разрешение phpMyAdmin для всех, кроме localhost, следует считать # опасным, если не защищено должным образом с помощью 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 - взято из оригинального # tarball phpMyAdmin # Order Deny,Allow Deny from All Allow from None Order Deny,Allow Deny from All Allow from None # Эта конфигурация предотвращает фильтрацию SQL и т.д. # модулем mod_security в директориях phpMyAdmin. # Это может сломать вашу реализацию 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

Get new posts in your inbox

No spam. Unsubscribe anytime.