Поиск по сайту:

Как настроить почтовый сервер с помощью PostfixAdmin в Debian 11


На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установите Nginx, MariaDB и PHP.
  4. Создание базы данных PostfixAdmin
  5. Установить PostfixAdmin
  6. Настройка Nginx для PostfixAdmin
  7. Доступ к администратору Postfix
  8. Заключение

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 из веб-браузера. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.