Инструкция по установке и настройке PostfixAdmin на CentOS 7

Мы предоставляем услуги удаленного администрирования серверов

Инструкция по установке и настройке PostfixAdmin на CentOS 7

FacebookTwitterVK
Обновлено Обновлено: Опубликовано Опубликовано:

Описание


Тематические термины: 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

Открываем браузер и проверяем работоспособность веб-сервера. Мы должны увидеть что-то подобное:

Проверка работоспособности Apache в CentOS

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:

Открываем конфигурационный файл 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. После ее окончания вводим дважды пароль и генерируем хэш:

Вводим дважды пароль после установки PostfixAdmin

После перезагрузки страницы копируем хэш:

Так выглядит хэш PostfixAdmin

Открываем конфигурационный файл и редактируем следующее:

vi /var/www/html/postfixadmin/config.inc.php

$CONF[‘setup_password’] = ‘7a8e14…c26’;

После, на той же странице, где показан хэш, добавляем суперпользователя PostfixAdmin:

Создаем суперпользователя PostfixAdmin

В итоге мы увидим следующее:

Мы создали суперпользователя для управления Postfix

И переходим в браузере на страницу http://<IP-адрес сервера>/postfixadmin/

Вводим логин и пароль для созданного пользователя.

Готово.


Warning: file_exists(): open_basedir restriction in effect. File(/home/rsa/sites/admins24.com/.maintenance) is not within the allowed path(s): (/home/rsa/sites/dev.admins24.com:.) in /home/rsa/sites/admins24.com/wp-includes/load.php on line 306

Warning: file_exists(): open_basedir restriction in effect. File(/home/rsa/sites/admins24.com/wp-content/plugins/amp/assets/css/amp-default.css) is not within the allowed path(s): (/home/rsa/sites/dev.admins24.com:.) in /home/rsa/sites/admins24.com/wp-content/plugins/amp/includes/sanitizers/class-amp-style-sanitizer.php on line 1282

Warning: file_exists(): open_basedir restriction in effect. File(/home/rsa/sites/admins24.com/wp-includes/Requests/Cookie/Jar.php) is not within the allowed path(s): (/home/rsa/sites/dev.admins24.com:.) in /home/rsa/sites/admins24.com/wp-includes/class-requests.php on line 145

Warning: file_exists(): open_basedir restriction in effect. File(/home/rsa/sites/admins24.com/wp-content/plugins/folders/includes/tree.class.php) is not within the allowed path(s): (/home/rsa/sites/dev.admins24.com:.) in /home/rsa/sites/admins24.com/wp-content/plugins/folders/includes/folders.class.php on line 2669

Warning: file_exists(): open_basedir restriction in effect. File(/home/rsa/sites/admins24.com/wp-content/plugins/folders/includes/form.class.php) is not within the allowed path(s): (/home/rsa/sites/dev.admins24.com:.) in /home/rsa/sites/admins24.com/wp-content/plugins/folders/includes/folders.class.php on line 2669

Warning: file_exists(): open_basedir restriction in effect. File(/home/rsa/sites/admins24.com/wp-content/plugins/folders/includes/class-wpml.php) is not within the allowed path(s): (/home/rsa/sites/dev.admins24.com:.) in /home/rsa/sites/admins24.com/wp-content/plugins/folders/includes/folders.class.php on line 2669

Warning: file_exists(): open_basedir restriction in effect. File(/home/rsa/sites/admins24.com/wp-content/plugins/folders/includes/class-polylang.php) is not within the allowed path(s): (/home/rsa/sites/dev.admins24.com:.) in /home/rsa/sites/admins24.com/wp-content/plugins/folders/includes/folders.class.php on line 2669

Fatal error: Uncaught Error: Class 'Requests_Cookie_Jar' not found in /home/rsa/sites/admins24.com/wp-includes/class-requests.php:591 Stack trace: #0 /home/rsa/sites/admins24.com/wp-includes/class-requests.php(365): Requests::set_defaults('https://admins2...', Array, NULL, 'GET', Array) #1 /home/rsa/sites/admins24.com/wp-includes/class-http.php(394): Requests::request('https://admins2...', Array, NULL, 'GET', Array) #2 /home/rsa/sites/admins24.com/wp-includes/class-http.php(626): WP_Http->request('https://admins2...', Array) #3 /home/rsa/sites/admins24.com/wp-includes/http.php(162): WP_Http->get('https://admins2...', Array) #4 /home/rsa/sites/admins24.com/wp-content/plugins/amp/src/RemoteRequest/WpHttpRemoteGetRequest.php(114): wp_remote_get('https://admins2...', Array) #5 /home/rsa/sites/admins24.com/wp-content/plugins/amp/src/RemoteRequest/CachedRemoteGetRequest.php(125): AmpProject\AmpWP\RemoteRequest\WpHttpRemoteGetRequest->get('https://admins2...') #6 /home/rsa/sites/admins24.com/wp-content/plugins/amp/includes/sanit in /home/rsa/sites/admins24.com/wp-includes/class-requests.php on line 591