PostfixAdmin è un'interfaccia gratuita, open source e basata sul Web utilizzata per la gestione del server di posta Postfix dal browser Web. Ti consente di aggiungere utenti, alias, impostare una quota del disco, aggiungere e rimuovere domini dall'interfaccia basata sul web. Supporta diversi backend di database tra cui PostgreSQL, MySQL, MariaDB e SQLite. Può essere integrato con Squirrelmail e Roundcube tramite plugin.
In questo articolo spiegherò come installare PostfixAdmin su Debian 11.
Prerequisiti
- Un server che esegue Debian 11 con postfix installato.
- Un nome di dominio valido è puntato all'indirizzo IP del tuo server.
- Un record MX valido è puntato all'indirizzo IP del tuo server.
Per iniziare
Innanzitutto, aggiorna i pacchetti di sistema con l'ultima versione utilizzando il seguente comando:
apt-get update -y
Una volta che il tuo sistema è stato aggiornato, imposta il nome host completo del tuo server.
hostnamectl set-hostname mail.domain.com
Quindi, esegui il comando seguente per applicare le modifiche.
hostname -f
Una volta terminato, puoi procedere al passaggio successivo.
Installa Nginx, MariaDB e PHP
Successivamente, dovrai installare il server web Nginx, MariaDB, PHP e altre estensioni PHP richieste sul tuo server. Puoi installarli tutti con il seguente comando:
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
Una volta installati tutti i pacchetti, puoi procedere al passaggio successivo.
Crea un database PostfixAdmin
Successivamente, dovrai creare un database e un utente per PostfixAdmin. Innanzitutto, accedi alla console MariaDB con il seguente comando:
mysql
Una volta connesso, crea un database e un utente con il seguente comando:
MariaDB [(none)]> CREATE DATABASE postfixadmin;
MariaDB [(none)]> GRANT ALL ON postfixadmin.* TO 'postfixadmin'@'localhost' IDENTIFIED BY 'securepassword';
Quindi, svuota i privilegi ed esci dalla shell MariaDB con il seguente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
A questo punto viene creato il database MariaDB per PostfixAdmin. Ora puoi procedere al passaggio successivo.
Installa PostfixAdmin
Innanzitutto, dovrai scaricare l'ultima versione di PostfixAdmin dal sito web di Sourceforge. Puoi scaricarlo con il seguente comando:
wget https://webwerks.dl.sourceforge.net/project/postfixadmin/postfixadmin-3.3.8/PostfixAdmin%203.3.8.tar.gz
Una volta completato il download, estrai il file scaricato con il seguente comando:
tar -xvzf PostfixAdmin\ 3.3.8.tar.gz
Quindi, sposta la directory estratta nella directory principale web di Nginx:
mv postfixadmin-postfixadmin-7d04685 /var/www/html/postfixadmin
Quindi, crea una directory richiesta per installare PostfixAdmin:
mkdir /var/www/html/postfixadmin/templates_c
Quindi, imposta la proprietà corretta sulla directory PostfixAdmin:
chown -R www-data: /var/www/html/postfixadmin/
Quindi, crea un file config.local.php:
nano /var/www/html/postfixadmin/config.local.php
Aggiungi le seguenti righe:
<?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'; ?>
Salva e chiudi il file, quindi crea lo schema per il database PostfixAdmin con il seguente comando:
sudo -u www-data php /var/www/html/postfixadmin/public/upgrade.php
Successivamente, dovrai creare un account super amministratore per PostfixAdmin. Puoi crearlo con il seguente comando:
bash /var/www/html/postfixadmin/scripts/postfixadmin-cli admin add
Fornisci il nome utente, la password e il dominio dell'amministratore come mostrato di seguito:
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! ---------------------------------------------------------------
Configura Nginx per PostfixAdmin
Successivamente, dovrai creare un file di configurazione dell'host virtuale Nginx per PostfixAdmin. Puoi crearlo con il seguente comando:
nano /etc/nginx/conf.d/domain.com.conf
Aggiungi le seguenti righe:
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; } }
Salva e chiudi il file, quindi riavvia il servizio Nginx per applicare le modifiche:
systemctl restart nginx
Puoi anche controllare lo stato di Nginx con il seguente comando:
systemctl status nginx
Dovresti ottenere il seguente output:
? 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.
Accedi a PostfixAdmin
A questo punto PostfixAdmin è installato e configurato. Ora puoi accedervi utilizzando l'URL http://mail.domain.com . Verrai reindirizzato alla pagina di accesso di PostfixAdmin:
Fornisci l'e-mail di amministratore, la password e fai clic su Accedi pulsante. Dovresti vedere la dashboard di PostfixAdmin nella schermata seguente:
Conclusione
Congratulazioni! hai installato correttamente PostfixAdmin su Debian 11. Ora puoi gestire facilmente il tuo server di posta Postfix dal browser web. Sentiti libero di chiedermi se hai domande.