Ricerca nel sito web

Come configurare un server di posta con PostfixAdmin su Debian 11


Su questa pagina

  1. Prerequisiti
  2. Per iniziare
  3. Installa Nginx, MariaDB e PHP
  4. Crea un database PostfixAdmin
  5. Installa PostfixAdmin
  6. Configura Nginx per PostfixAdmin
  7. Accedi a PostfixAdmin
  8. Conclusione

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 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 viene indicato con l'indirizzo IP del tuo server.
  • Un record MX valido viene indicato con l'indirizzo IP del tuo server.

Iniziare

Innanzitutto, aggiorna i pacchetti di sistema con l'ultima versione utilizzando il seguente comando:

apt-get update -y

Una volta aggiornato il sistema, imposta il nome host completo del tuo server.

hostnamectl set-hostname mail.domain.com

Successivamente, esegui il seguente comando per applicare le modifiche.

hostname -f

Al termine, 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';

Successivamente, 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

Successivamente, sposta la directory estratta nella directory root 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

Successivamente, imposta la proprietà corretta sulla directory PostfixAdmin:

chown -R www-data: /var/www/html/postfixadmin/

Successivamente, 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' => '',
 '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';
?>

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:  
> 

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!

---------------------------------------------------------------

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'email e la password dell'amministratore e fai clic sul pulsante Accedi. Dovresti vedere la dashboard di PostfixAdmin nella seguente schermata:

Conclusione

Congratulazioni! hai installato con successo PostfixAdmin su Debian 11. Ora puoi gestire facilmente il tuo server di posta Postfix dal browser web. Non esitate a chiedermi se avete domande.