serveur_hebergement:serveur_mail:partie_3_postfixadmin

Ceci est une ancienne révision du document !


Partie 3 : Postfixadmin

Postfixadmin va nous servir à créer des adresses email virtuelles, comprenez par là des adresses mails non liées à un utilisateur local du serveur comme root ou fate.

Vous avez besoin d'avoir une base de donnée Mysql/MariaDB.

Allez dans le répertoire /var/www et lancez la commande

sudo -u www-data wget https://github.com/postfixadmin/postfixadmin/archive/postfixadmin-3.3.11.tar.gz

pour télécharger Postfixadmin puis sudo -u www-data tar xzfv postfixadmin-3.3.11.tar.gz pour l'extraire. Enfin, renommez le répertoire postfixadmin-postfixadmin-3.3.11 en postfixadmin :

sudo -u www-data mv postfixadmin-postfixadmin-3.3.11/ postfixadmin

.

Créez le répertoire /var/www/postfixadmin/templates_c avec l'utilisateur www-data :

sudo -u www-data mkdir /var/www/postfixadmin/templates_c

Créez la base de donnée pour postfix (remplacez le mot de passe):

sudo mysql -u root
 
CREATE DATABASE postfixadmin;
 
GRANT ALL privileges ON postfixadmin.* TO 'postfixadmin'@'localhost' IDENTIFIED BY 'motdepasse';
 
FLUSH privileges;
 
exit;

Créez le fichier /var/www/postfixadmin/config.local.php et ajoutez les lignes suivantes (remplacez le mot de passe) :

<?php
$CONF['configured'] = true;
$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_port'] = '3306';
$CONF['database_user'] = 'postfixadmin';
$CONF['database_password'] = 'motdepasse';
$CONF['database_name'] = 'postfixadmin';
$CONF['encrypt'] = 'dovecot:ARGON2I';
$CONF['dovecotpw'] = "/usr/bin/doveadm pw -r 5";
if(@file_exists('/usr/bin/doveadm')) { // @ to silence openbase_dir stuff; see https://github.com/postfixadmin/postfixadmin/issues/171
    $CONF['dovecotpw'] = "/usr/bin/doveadm pw -r 5"; # debian
}

Créez le fichier /etc/apache2/sites-available/postfixadmin.domaine.fr.conf et ajoutez les lignes suivantes afin de pouvoir accéder à l'interface web de Postfixadmin (remplacez domaine.fr par votre domaine) :

<VirtualHost *:80>  
 
        DocumentRoot /var/www/postfixadmin/public
 
        ServerName postfixadmin.domaine.fr
 
        Redirect / https://postfix.domaine.fr/
 
</VirtualHost>
 
 
<VirtualHost *:443>
 
        DocumentRoot /var/www/postfixadmin/public
 
        ServerName postfixadmin.domaine.fr
        ServerAdmin webmaster@domaine.fr
 
        CustomLog ${APACHE_LOG_DIR}/postfixadmin.access.log combined
        ErrorLog ${APACHE_LOG_DIR}/postfixadmin.error.log
        LogLevel warn
 
        <IfModule mod_ssl.c>
                SSLEngine on
                SSLCertificateFile /etc/letsencrypt/live/domaine.fr/fullchain.pem
                SSLCertificateKeyFile /etc/letsencrypt/live/domaine.fr/privkey.pem
 
                Header set Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wp.com; style-src 'self' 'unsafe-inline'; connect-src 'self'; media-src 'self';  child-src 'self'; object src 'self'; form-action 'self'; img-src 'self' *.gravatar.com *.wp.com data:"
 
                # Modern configuration, tweak to your needs 
                SSLProtocol         all -SSLv3 -TLSv1 -TLSv1.1
                SSLCipherSuite          ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
                SSLHonorCipherOrder     on
                SSLCompression          off
                SSLSessionTickets       off
        </IfModule>
 
        <Directory /var/www/postfixadmin/>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>                             
 
<IfModule mod_ssl.c>
        SSLStaplingCache shmcb:/var/run/ocsp(128000)
</IfModule>

Activez le fichier de configuration :

sudo a2ensite postfix.domaine.fr

Installez les modules PHP :

sudo aptitude install php7.4-fpm php7.4-imap php7.4-mbstring php7.4-mysql php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-bz2 php7.4-intl php7.4-gmp

Redémarrer Apache2 :

sudo systemctl restart apache2.service

Ajouter l'utilisateur www-data au groupe dovecot :

sudo adduser www-data dovecot

Afin que l'utilisateur www-data est accès aux stats de Dovecot lancez le commandes suivantes :

sudo chown root:dovecot /var/run/dovecot/stats-*
sudo chmod 660 /var/run/dovecot/stats-*

Allez à l'adresse https://postfixadmin.mondomaine.fr/setup.php afin de lancer l'installation de Postfixadmin

Générer le setup_password et rajoutez la ligne $CONF['setup_password'] au fichier de config de Postfixadmin comme indiqué puis rafraîchissez la page. Rentrez le setup_password que vous avez utilisez précédemment puis créez l'utilisateur admin. Dans le champ Administrateur il faut entrer une adresse mail et non un nom d'utilisateur.

Vous pourriez laisser un commentaire si vous étiez connecté.
  • serveur_hebergement/serveur_mail/partie_3_postfixadmin.1661973699.txt.gz
  • Dernière modification : 2023/08/08 14:01
  • (modification externe)