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

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

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

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

Сначала удалите Dovecot (CentOS 6.0 поставляется с 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.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 (/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 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 ($HOME/rpm/RPMS/i686, если вы на системе 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

и снова запускаем 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 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

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

mysql_secure_installation

[root@server1 tmp]# 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 tmp]#

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

vi /etc/httpd/conf.d/phpmyadmin.conf

| # # Веб-приложение для управления MySQL # # # 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 и запускаем его:

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.