Установка и настройка PostfixAdmin на CentOS 7
Тематические термины: PostfixAdmin, Postfix, CentOS.
Инструкция рассчитана на тех, у кого уже есть настроенный почтовый сервер и необходимо отдельно установить систему управления для него. Если настроенного почтового сервера нет, лучше перейти к инструкции Настройка полноценного почтового сервера на Postfix, которая уже включает подраздел с установкой и PostfixAdmin, и Dovecot, и систем безопасности.
Настройка веб-сервера и сервера баз данных
PostfixAdmin работает как веб-приложение на веб-сервере. В качестве последнего в данной инструкции будет использоваться httpd (apache) + PHP. Если есть желание настроить систему управления Postfix на NGINX, читайте инструкцию Установка NGINX на CentOS.
В качестве СУБД будем использовать MariaDB.
Httpd + PHP
Для установки httpd на CentOS выполняем следующую команду:
yum install httpd
Разрешаем http-порт в брандмауэре:
firewall-cmd --permanent --add-port=80/tcp
Разрешаем автозапуск и запускаем сервис httpd:
systemctl enable httpd
systemctl start httpd
Открываем браузер и проверяем работоспособность веб-сервера. Мы должны увидеть что-то подобное:
PHP и дополнительные компоненты
Вводим команду:
yum install php php-mysql php-mbstring php-imap
* php-mysql — компонент для подключения к базе MySQL (MariaDB), php-mbstring — расширение для работы со строковыми данными; php-imap необходим для взаимодействия с почтовой системой по IMAP.
Для применения настроек перезагружаем httpd:
systemctl restart httpd
MariaDB
Устанавливаем СУБД:
yum install mariadb mariadb-server
Включаем автозапуск и запускаем сервис:
systemctl enable mariadb
systemctl start mariadb
Задаем пароль для суперпользователя mariadb:
mysqladmin -u root password
Установка и настройка PostfixAdmin
Сначала скачиваем последнюю версию postfixadmin:
wget https://sourceforge.net/projects/postfixadmin/files/latest/download -O postfixadmin.tar.gz
* если система вернет ошибку, установите wget — yum install wget.
Распаковываем скачанный архив в директорию с порталом:
tar -C /var/www/html -xvf postfixadmin.tar.gz
* где /var/www/html — каталог по умолчанию для хранения сайтов в Apache.
Переименовываем распакованную папку (убираем указание на версию), чтобы было удобнее вводить URL-адрес:
mv /var/www/html/postfixadmin-3.0.2 /var/www/html/postfixadmin
Задаем права на каталог:
chown -R apache:apache /var/www/html/postfixadmin
* в данном примере, в качестве веб-сервера используется Apache, который по умолчанию запускается от пользователя apache, поэтому мы и задаем его в качестве владельца.
Создаем базу данных postfix и учетную запись в mariadb:
mysql -u root -p
CREATE DATABASE postfix DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
* где postfix — имя базы.
GRANT ALL ON postfix.* TO 'postfix'@'localhost' IDENTIFIED BY 'postfix123';
* где postfix — имя учетной записи; postfix123 — пароль; localhost разрешает подключение только с локального сервера.
Выходим из командной оболочки MariaDB:
\q
Открываем конфигурационный файл postfixadmin:
vi /var/www/html/postfixadmin/config.inc.php
И редактируем следующее:
$CONF['configured'] = true;
$CONF['default_language'] = 'ru';
$CONF['database_password'] = 'postfix123';
$CONF['emailcheck_resolve_domain']='NO';
Запускаем браузер и вводим адрес http://<IP-адрес сервера>/postfixadmin/setup.php
Начнется процесс проверки конфигурации и установки портала PostfixAdmin. После ее окончания вводим дважды пароль и генерируем хэш:
После перезагрузки страницы копируем хэш:
Открываем конфигурационный файл и редактируем следующее:
vi /var/www/html/postfixadmin/config.inc.php
$CONF['setup_password'] = '7a8e14...c26';
После, на той же странице, где показан хэш, добавляем суперпользователя PostfixAdmin:
В итоге мы увидим следующее:
И переходим в браузере на страницу http://<IP-адрес сервера>/postfixadmin/
Вводим логин и пароль для созданного пользователя.
Готово.