Как настроить почтовый сервер с помощью PostfixAdmin в Debian 11
На этой странице
- Предпосылки
- Начало работы
- Установите Nginx, MariaDB и PHP.
- Создание базы данных PostfixAdmin
- Установить PostfixAdmin
- Настройка Nginx для PostfixAdmin
- Доступ к администратору Postfix
- Заключение
PostfixAdmin — это бесплатный веб-интерфейс с открытым исходным кодом, используемый для управления почтовым сервером Postfix из веб-браузера. Он позволяет добавлять пользователей, псевдонимы, устанавливать дисковую квоту, добавлять и удалять домены из веб-интерфейса. Он поддерживает несколько серверных баз данных, включая PostgreSQL, MySQL, MariaDB и SQLite. Его можно интегрировать со Squirrelmail и Roundcube через плагины.
В этой статье я объясню, как установить PostfixAdmin на Debian 11.
Предпосылки
- Сервер под управлением Debian 11 с установленным постфиксом.
- Действительное доменное имя указано вместе с IP-адресом вашего сервера.
- Действительная запись MX указывает на IP-адрес вашего сервера.
Начиная
Сначала обновите системные пакеты до последней версии, используя следующую команду:
apt-get update -y
Как только ваша система будет обновлена, установите полное имя хоста вашего сервера.
hostnamectl set-hostname mail.domain.com
Затем выполните следующую команду, чтобы применить изменения.
hostname -f
Как только вы закончите, вы можете перейти к следующему шагу.
Установите Nginx, MariaDB и PHP
Далее вам нужно будет установить веб-сервер Nginx, MariaDB, PHP и другие необходимые расширения PHP на ваш сервер. Вы можете установить их все с помощью следующей команды:
apt-get install nginx mariadb-server php-fpm php-cli php-imap php-json php-mysql php-opcache php-mbstring php-readline unzip sudo -y
После установки всех пакетов можно переходить к следующему шагу.
Создайте базу данных PostfixAdmin
Далее вам нужно будет создать базу данных и пользователя для PostfixAdmin. Сначала войдите в консоль MariaDB с помощью следующей команды:
mysql
После подключения создайте базу данных и пользователя с помощью следующей команды:
MariaDB [(none)]> CREATE DATABASE postfixadmin;
MariaDB [(none)]> GRANT ALL ON postfixadmin.* TO 'postfixadmin'@'localhost' IDENTIFIED BY 'securepassword';
Затем сбросьте привилегии и выйдите из оболочки MariaDB с помощью следующей команды:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
На этом этапе создается база данных MariaDB для PostfixAdmin. Теперь вы можете перейти к следующему шагу.
Установить PostfixAdmin
Во-первых, вам необходимо загрузить последнюю версию PostfixAdmin с веб-сайта Sourceforge. Вы можете скачать его с помощью следующей команды:
wget https://webwerks.dl.sourceforge.net/project/postfixadmin/postfixadmin-3.3.8/PostfixAdmin%203.3.8.tar.gz
После завершения загрузки извлеките загруженный файл с помощью следующей команды:
tar -xvzf PostfixAdmin\ 3.3.8.tar.gz
Затем переместите извлеченный каталог в корневой веб-каталог Nginx:
mv postfixadmin-postfixadmin-7d04685 /var/www/html/postfixadmin
Затем создайте каталог, необходимый для установки PostfixAdmin:
mkdir /var/www/html/postfixadmin/templates_c
Затем установите правильное право собственности на каталог PostfixAdmin:
chown -R www-data: /var/www/html/postfixadmin/
Затем создайте файл config.local.php:
nano /var/www/html/postfixadmin/config.local.php
Добавьте следующие строки:
<?php $CONF['configured'] = true; $CONF['database_type'] = 'mysqli'; $CONF['database_host'] = 'localhost'; $CONF['database_user'] = 'postfixadmin'; $CONF['database_password'] = 'securepassword'; $CONF['database_name'] = 'postfixadmin'; $CONF['default_aliases'] = array ( 'abuse' => '', 'hostmaster' => '', 'postmaster' => '', 'webmaster' => '' ); $CONF['fetchmail'] = 'NO'; $CONF['show_footer_text'] = 'NO'; $CONF['quota'] = 'YES'; $CONF['domain_quota'] = 'YES'; $CONF['quota_multiplier'] = '1024000'; $CONF['used_quotas'] = 'YES'; $CONF['new_quota_table'] = 'YES'; $CONF['aliases'] = '0'; $CONF['mailboxes'] = '0'; $CONF['maxquota'] = '0'; $CONF['domain_quota_default'] = '0'; ?>
Сохраните и закройте файл, затем создайте схему для базы данных PostfixAdmin с помощью следующей команды:
sudo -u www-data php /var/www/html/postfixadmin/public/upgrade.php
Далее вам нужно будет создать учетную запись суперадминистратора для PostfixAdmin. Вы можете создать его с помощью следующей команды:
bash /var/www/html/postfixadmin/scripts/postfixadmin-cli admin add
Укажите имя пользователя, пароль и домен администратора, как показано ниже:
Welcome to Postfixadmin-CLI v0.3 --------------------------------------------------------------- Admin: > Password: > Password (again): > Super admin: (Super admins have access to all domains, can manage domains and admin accounts.) (y/n) > y Domain: > domain.com Active: (y/n) > y The admin has been added! ---------------------------------------------------------------
Настроить Nginx для PostfixAdmin
Далее вам нужно будет создать файл конфигурации виртуального хоста Nginx для PostfixAdmin. Вы можете создать его с помощью следующей команды:
nano /etc/nginx/conf.d/domain.com.conf
Добавьте следующие строки:
server { listen 80; root /var/www/html/postfixadmin/public; index index.html index.htm index.php; server_name mail.domain.com; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors off; fastcgi_buffer_size 16k; fastcgi_buffers 4 16k; fastcgi_connect_timeout 600; fastcgi_send_timeout 600; fastcgi_read_timeout 600; } location / { try_files $uri $uri/ =404; } }
Сохраните и закройте файл, затем перезапустите службу Nginx, чтобы применить изменения:
systemctl restart nginx
Вы также можете проверить статус Nginx с помощью следующей команды:
systemctl status nginx
Вы должны получить следующий результат:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-08-28 08:13:22 UTC; 7s ago Docs: man:nginx(8) Process: 74644 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 74645 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 74646 (nginx) Tasks: 2 (limit: 2341) Memory: 3.2M CPU: 57ms CGroup: /system.slice/nginx.service ??74646 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ??74647 nginx: worker process Aug 28 08:13:22 mail.domain.com systemd[1]: Starting A high performance web server and a reverse proxy server... Aug 28 08:13:22 mail.domain.com systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument Aug 28 08:13:22 mail.domain.com systemd[1]: Started A high performance web server and a reverse proxy server.
Доступ к PostfixAdmin
На этом этапе PostfixAdmin установлен и настроен. Теперь вы можете получить к нему доступ, используя URL-адрес http://mail.domain.com. Вы будете перенаправлены на страницу авторизации PostfixAdmin:
Введите адрес электронной почты администратора, пароль и нажмите кнопку «Войти». Вы должны увидеть панель управления PostfixAdmin на следующем экране:
Заключение
Поздравляем! вы успешно установили PostfixAdmin в Debian 11. Теперь вы можете легко управлять своим почтовым сервером Postfix из веб-браузера. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.