PostfixAdmin je bezplatné, open-source a webové rozhraní používané pro správu poštovního serveru Postfix z webového prohlížeče. Umožňuje přidávat uživatele, aliasy, nastavovat diskovou kvótu, přidávat a odebírat domény z webového rozhraní. Podporuje několik databázových backendů včetně PostgreSQL, MySQL, MariaDB a SQLite. Může být integrován se Squirrelmail a Roundcube pomocí pluginů.
V tomto článku vysvětlím, jak nainstalovat PostfixAdmin na Debian 11.
Předpoklady
- Server se systémem Debian 11 s nainstalovaným postfixem.
- Platný název domény ukazuje IP adresa vašeho serveru.
- Platný záznam MX ukazuje na IP adresu vašeho serveru.
Začínáme
Nejprve aktualizujte své systémové balíčky nejnovější verzí pomocí následujícího příkazu:
apt-get update -y
Jakmile bude váš systém aktualizován, nastavte plně kvalifikovaný název hostitele vašeho serveru.
hostnamectl set-hostname mail.domain.com
Poté spusťte následující příkaz a použijte změny.
hostname -f
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalovat Nginx, MariaDB a PHP
Dále budete muset na svůj server nainstalovat webový server Nginx, MariaDB, PHP a další požadovaná rozšíření PHP. Všechny je můžete nainstalovat pomocí následujícího příkazu:
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
Jakmile jsou všechny balíčky nainstalovány, můžete přejít k dalšímu kroku.
Vytvoření databáze PostfixAdmin
Dále budete muset vytvořit databázi a uživatele pro PostfixAdmin. Nejprve se přihlaste do konzoly MariaDB pomocí následujícího příkazu:
mysql
Jakmile se připojíte, vytvořte databázi a uživatele pomocí následujícího příkazu:
MariaDB [(none)]> CREATE DATABASE postfixadmin;
MariaDB [(none)]> GRANT ALL ON postfixadmin.* TO 'postfixadmin'@'localhost' IDENTIFIED BY 'securepassword';
Dále vyprázdněte oprávnění a ukončete prostředí MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
V tomto okamžiku je vytvořena databáze MariaDB pro PostfixAdmin. Nyní můžete přejít k dalšímu kroku.
Instalovat PostfixAdmin
Nejprve si budete muset stáhnout nejnovější verzi PostfixAdmin z webu Sourceforge. Můžete si jej stáhnout pomocí následujícího příkazu:
wget https://webwerks.dl.sourceforge.net/project/postfixadmin/postfixadmin-3.3.8/PostfixAdmin%203.3.8.tar.gz
Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:
tar -xvzf PostfixAdmin\ 3.3.8.tar.gz
Dále přesuňte extrahovaný adresář do kořenového webového adresáře Nginx:
mv postfixadmin-postfixadmin-7d04685 /var/www/html/postfixadmin
Dále vytvořte adresář potřebný k instalaci PostfixAdmin:
mkdir /var/www/html/postfixadmin/templates_c
Dále nastavte správné vlastnictví adresáře PostfixAdmin:
chown -R www-data: /var/www/html/postfixadmin/
Dále vytvořte soubor config.local.php:
nano /var/www/html/postfixadmin/config.local.php
Přidejte následující řádky:
<?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' => '[email protected]', 'hostmaster' => '[email protected]', 'postmaster' => '[email protected]', 'webmaster' => '[email protected]' ); $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'; ?>
Uložte a zavřete soubor a poté vytvořte schéma pro databázi PostfixAdmin pomocí následujícího příkazu:
sudo -u www-data php /var/www/html/postfixadmin/public/upgrade.php
Dále budete muset vytvořit účet superadmin pro PostfixAdmin. Můžete jej vytvořit pomocí následujícího příkazu:
bash /var/www/html/postfixadmin/scripts/postfixadmin-cli admin add
Zadejte své uživatelské jméno, heslo a doménu správce, jak je uvedeno níže:
Welcome to Postfixadmin-CLI v0.3 --------------------------------------------------------------- Admin: > [email protected] Password: > [email protected] Password (again): > [email protected] 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 [email protected] has been added! ---------------------------------------------------------------
Konfigurace Nginx pro PostfixAdmin
Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Nginx pro PostfixAdmin. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/nginx/conf.d/domain.com.conf
Přidejte následující řádky:
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; } }
Uložte a zavřete soubor a poté restartujte službu Nginx, aby se změny projevily:
systemctl restart nginx
Stav Nginx můžete také zkontrolovat pomocí následujícího příkazu:
systemctl status nginx
Měli byste získat následující výstup:
? 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.
Přístup k PostfixAdmin
V tomto okamžiku je PostfixAdmin nainstalován a nakonfigurován. Nyní k němu můžete přistupovat pomocí adresy URL http://mail.domain.com . Budete přesměrováni na přihlašovací stránku PostfixAdmin:
Zadejte svůj administrátorský e-mail, heslo a klikněte na Přihlásit se knoflík. Na následující obrazovce byste měli vidět řídicí panel PostfixAdmin:
Závěr
Gratulujeme! úspěšně jste nainstalovali PostfixAdmin na Debian 11. Nyní můžete svůj poštovní server Postfix snadno spravovat z webového prohlížeče. Neváhejte se mě zeptat, pokud máte nějaké otázky.