FredVoyage

Installation d'un serveur web avec Debian 12

Jusqu'à maintenant, j'utilisais Plesk pour créer un serveur Web fonctionnel facilement. Toutefois, avec l'augmentation du prix des licences Plesk qui atteint des sommets, pour un outil qui est très modulaire, et peut servir pour des milliers de sites, et parfois juste pour un seul, j'ai décidé de ne plus utiliser Plesk pour mes serveurs perso et pro.

Aussi, à la place de Plesk qui était installé sur CentOS, depuis que cet OS n'est plus disponible en version stable comme avant, j'ai décidé de basculer sur Debian, qui est, à mon avis, le meilleur OS actuellement disponible. Au début, quand j'ai commencé à installer des serveurs, j'avais besoin d'un outil simple, d'utilisation instinctive pour mes clients, et Plesk était parfait pour ça, mais surtout, il fonctionnait sur RedHat et ses dérivés uniquement (Fedora puis CentOS). Aussi, autour de 2004, j'ai installé Plesk sur Fedora, puis au fur et à mesure, les versions n'étaient plus compatibles avec Fedora mais avec CentOS. J'avais alors une configuration avec Fedora sur mon ordinateur et CentOS sur les serveurs, avec Plesk.

A la suite des changements de licence de RedHat qui a décidé de ne plus fournir les sources distribuables aux équipes de CentOS, j'ai basculé à l'été 2023, mon ordinateur personnel sur Debian 12, à sa sortie, puis pareil pour mon serveur, et d'autres ont suivi ensuite. Personnellement, sur mon ordinateur, j'ai la version unstable, qui est la future Debian 13 (Trixie), tandis que sur les serveurs, j'utilise la version stable de Debian 12 (Bookworm).

Voici un tutoriel pour installer Debian 12 avec tous les services, ce qui comprend :

  • le serveur de base avec la configuration réseau (IPv4 et  IPv6), l'accès SSH et le firewall
  • le serveur web Apache avec PHP
  • le serveur de bases de données MariaDB
  • le serveur DNS BIND avec la configuration des zones
  • le serveur de mail, SMTP entrant, boîtes IMAP/POP3, redirections et gestion avec MariaDB

Installation de Debian 12

Avant tout, il faut installer Debian 12 sur le serveur. Cela peut facilement se faire à partir d'une clé USB, d'un CD-ROM ou directement avec un PXE sur le réseau. Vous pouvez trouver l'ensemble des images sur la page de téléchargement de Debian.

L'installation prend quelques minutes. Il suffit de faire l'installation de base, tous les packets seront installés au fur et à mesure de ce tutoriel pour la suite.

Une fois l'installation terminée, il suffit de redémarrer Debian tout en conservant un écran, un clavier et une souris pour pouvoir effectuer la configuration de base, ensuite il sera possible de continuer en ligne de commande avec SSH.

J'aime bien faire quelques ajustements, notamment installer vim :

# apt install vim

Une fois vim installé, on modifie (ou on crée s'il n'existe pas) le fichier /etc/vim/vimrc et on y met ces 2 lignes :

set mouse=
set ttymouse=

Puis dans le fichier ~/.vimrc :

source $VIMRUNTIME/defaults.vim
set mouse=

On peut alors ajouter ces lignes dans .bashrc, pour rendre la navigation dans les dossiers plus simples et les suppression plus sûres :

alias rm="rm -i"
alias ll="ls -l"

Avant d'aller plus loin, il faut configurer l'accès SSH. Pour cela, il faut mettre votre clé SSH dans le fichier .ssh/authorized_keys, si vous en avez créé une sur votre ordinateur, ce qui permet de se connecter sans mot de passe. Ensuite, on modifie le fichier /etc/ssh/sshd_config pour qu'il contienne ces lignes non commentées :

Port 2244
PermitRootLogin prohibit-password
PasswordAuthentication no

Vous pouvez choisir le port SSH que vous voulez, du moment qu'il a 4 ou 5 chiffres, cela ne posera pas de problème, sinon attention aux conflits (voir le fichier /etc/services).

Une fois la configuration de SSH en place, il faut redémarrer le service avec la commande :

# systemctl restart sshd

Ensuite, on configure le réseau pour avoir une IP fixe, en modifiant le fichier /etc/network/interfaces. Il faut remplacer la ligne suivante (le nom de l'interface peut être différent :

iface enp1s0 inet dhcp

par

iface enp1s0 inet static
address 10.33.45.16/24
gateway 10.33.45.254
dns-nameservers 8.8.8.8

Pour ce qui est de l'IPv6, la configuration se fait tout aussi simplement en ajoutant ces lignes dans le même fichier (il faut bien vérifier les informations à indiquer pour l'IPv6 auprès de votre fournisseur) :

iface enp1s0 inet6 static
address ff00:abab:1221:3000::190
netmask 48
gateway fc00:abab:1221::1

Ensuite, on passe à la configuration de iptables, que l'on aura installé avec la commande suivante :

# apt install iptables iptables-persistent

On modifie ensuite le fichier /etc/iptables/rules.v4 avec les règles que l'on veut utiliser, à adapter selon la configuration :

*filter
:INPUT ACCEPT [52:2781]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 25 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 43 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 43 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
-A INPUT -p udp -m udp --dport 123 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 465 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 465 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 587 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 587 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 993 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 993 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 995 -j ACCEPT
-A INPUT -p tcp -j DROP
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --sport 53 -j ACCEPT
-A OUTPUT -p udp -j DROP
-A OUTPUT -j ACCEPT
COMMIT

On va alors charger ce fichier dans le système avec la commande :

# iptables-restore < /etc/iptables/rules.v4

On peut charger les mêmes règles pour l'IPv6 (ou bien l'adapter si besoin) dans le fichier /etc/iptables/rules.v6 :

# ip6tables-restore < /etc/iptables/rules.v6

Avant de terminer cette première étape, pour être sûr que tout est bien à jour, je vous recommande de mettre à jour le système avec les commandes suivantes, l'une après l'autre :

# apt update
# apt upgrade

Maintenant, on redémarre le serveur avec la commande reboot, et on va alors se retrouver avec un système de base propre et à jour.

Installation du serveur web Apache

Tout d'abord, la partie simple, l'installation avec apt, et on va inclure directement les modules qui vont service avec PHP :

# apt install apache2 php8.2 php8.2-mbstring php-pear libapache2-mod-php php-mysqli

Ensuite, une fois ces modules installés, il faut les activer, une ligne à la fois :

# a2enmod ssl
# a2enmod rewrite
# a2enmod proxy_fcgi setenvif

On va configurer plusieurs fichiers pour s'assurer de la sécurité d'Apache et du bon fonctionnement des sites web.

On commence avec le fichier /etc/apache2/conf-enabled/security.conf, et on va activer la ligne suivante :

ServerTokens Prod

Puis on va modifier la configuration du dossier par défaut dans /etc/apache2/mods-enabled/dir.conf :

DirectoryIndex index.html index.htm index.php

Et, le plus important, on va créer un fichier de configuration pour un site internet, en créant un fichier avec le nom du site, par exemple fredvoyage.conf, dans le dossier /etc/apache2/sites-enabled.

On va mettre les fichiers log dans le dossier log standard /var/log/apache2, avec le nom du site web, et les fichiers du site, dans /var/www/vhosts/mondomaine.com/httpdocs.

Voici le fichier de configuration :

<VirtualHost *:80 >
    ServerName "mondomaine.com"
    ServerAlias "www.mondomaine.com"
    UseCanonicalName On
    CustomLog "/var/log/apache2/mondomaine_log" common
    ErrorLog "/var/log/apache2/mondomaine_log"
    DocumentRoot "/var/www/vhosts/mondomaine.com/httpdocs"
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{HTTP_HOST} ^mondomaine.com$ [NC]
        RewriteRule ^(.*)$ http://www.mondomaine.com$1 [L,R=301]
    </IfModule>
    <Directory /var/www/vhosts/mondomaine.com>
        AllowOverride AuthConfig FileInfo Indexes Limit
Options=Indexes,SymLinksIfOwnerMatch,MultiViews,
FollowSymLinks,ExecCGI,Includes,IncludesNOEXEC
    </Directory>
</VirtualHost>

Évidemment, il est possible de personnaliser le fichier ci-dessus, avec l'adresse IP, un port spécifique si besoin, ou d'autres paramètres.

Ensuite, on redémarre Apache avec la commande :

# systemctl restart apache2

Les erreurs qui pourraient avoir lieu se trouvent dans les fichiers de log dans le dossier /var/log/apache2.

Installation de MariaDB

Pour installer et configurer le serveur de base de données MariaDB, il suffit d'exécuter ces 2 commandes l'une après l'autre :

# apt install mariadb-server
# mysql_secure_installation

Une fois l'installation terminée, on peut se connecter en tant que root, sans mot de passe. On peut alors se connecter et créer un mot de passe root avec ces commandes :

# mysql -u root
> ALTER USER root@localhost IDENTIFIED VIA mysql_native_password;
> SET PASSWORD = PASSWORD('nouveaumotdepasse');
> FLUSH PRIVILEGES;

Il suffit de tenter à nouveau de se connecter sans mot de passe pour bien vérifier que ces commandes ont été efficaces.

Voici quelques commandes utiles pour gérer les accès et les bases de données dans MariaDB.

Tout d'abord, pour créer un utilisateur SQL :

> CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

Pour créer un base de données, simplement :

> CREATE DATABASE "dbname";

Pour donner accès à toutes les tables d'une base à l'utilisateur créé plus haut :

> GRANT ALL PRIVILEGES ON 'databasename'.* TO 'username'@'localhost';

Ou bien pour donner uniquement l'accès à une table, avec certaines actions possibles :

> GRANT SELECT, INSERT, UPDATE, DELETE ON 'databasename'.'matable' TO 'username'@'localhost';

Après toute modification liée aux droits utilisateurs, il faut terminer par :

> FLUSH PRIVILEGES;

Ne pas oublier d'ajouter un ";" à la fin de chaque requête pour confirmer que c'est bien la fin de la requête, sinon elle peut continuer sur la ligne suivante.

Pour pouvoir utiliser les timezones dans MariaDB, il faut charger le fichier des timezones distribué avec MariaDB, avec la commande suivante :

# mariadb-tzinfo-to-sql /usr/share/zoneinfo | mysql -u root -p mysql

Installation du serveur DNS

Pour installer le serveur DNS (Bind9), il suffit d'utiliser cette commande :

# apt install bind9 bind9utils

Ensuite, pour configurer ce service pour des requêtes externes uniquement, il faut ajouter ces lignes dans le fichier de configuration /etc/bind/named.conf.options.

Dans la section options du fichier :

allow-query { any; };
recursion no;

Puis, après la section option, à la fin du même fichier (en replaçant xx.xx.xx.xx par l'adresse IP du serveur DNS secondaire) :

acl common-allow-transfer {
     xx.xx.xx.xx;
};

L'ensemble des fichiers de zone doivent être créés dans le dossier /var/lib/bind/zones, chaque zone doit correspondre à un fichier qui a pour nom le nom de la zone, par exemple, pour fredvoyage.fr, le nom du fichier sera /var/lib/bind/zones/fredvoyage.fr.

Voici le code à ajouter dans le fichier /etc/bind/named.conf pour ajouter une zone pour mondomaine.com :

    zone "mnodomaine.com" {
            type master;
            file "/var/lib/bind/zones/mondomaine.com";
            allow-transfer {
                    common-allow-transfer;
            };
    };

Et le contenu du fichier contenant la zone DNS :

$TTL    3600

@    IN    SOA    dns1.mondomaine.com. monadresse.email.com. (
            2024010602   ; Serial
            10800        ; Refresh
            3600         ; Retry
            604800       ; Expire
            10800 )      ; Minimum

mondomaine.com.         IN NS      dns1.mondomaine.com.
mondomaine.com.         IN NS      dns2.mondomaine.com.
mondomaine.com.         IN MX     mail.mondomaine.com.
mail.mondomaine.com.    IN A      123.45.67.89
mondomaine.com.         IN A      123.45.67.89
mondomaine.com.         IN AAAA  2a01:abce:defa::1
www.mondomaine.com.     IN CNAME fredvoyage.fr.

Le TTL est la durée de vie des informations et permet aux serveurs DNS intermédiaires, de votre fournisseur d'accès internet par exemple, de conserver les données en cache, pendant cette durée, ce qui explique, si vous utilisez cette valeur de 3600s que tout changement dans le contenu des zones DNS peut mettre une heure pour être visible par tous sur internet.

Pour toutes les autres lignes, reportez-vous à d'autres tutoriels concernant les DNS spécifiquement.

Pour appliquer toutes les modifications, n'oubliez pas de redémarrer le service avec cette commande :

# systemctl restart named

Installation du serveur mail (postfix)

L'installation de la partie gestion des emails est la partie la plus longue de ce tutoriel, c'est le plus compliqué aussi car il n'y a pas qu'un seul outil qui gère les emails, mais de multiples, que nous devrons installer et configurer en même temps pour que tout fonctionne.

Une fois cette partie terminée, le serveur pourra recevoir, envoyer et répartir les messages dans des boîtes créées et répertoriées dans une base de données qui permet d'en ajouter ou d'en supprimer facilement.

Pour commencer, on va installer tous les paquets liés aux serveurs de mail postfix, qui va permettre l'envoi et la réception des messages :

# apt install postfix postfix-sql

Une fois les paquets installés, il faut créer une base de données et 3 tables qui vont servir à gérer les boîtes mails et à indiquer à postfix ce qui est considéré comme local, donc il faut se connecter à mySQL et exécuter ces requêtes :

CREATE DATABASE serverdb;

CREATE USER 'mailserver'@'localhost' IDENTIFIED BY 'password';

GRANT SELECT, INSERT, UPDATE, DELETE ON 'serverdb'.* TO 'mailserver'@'localhost';

CREATE TABLE `serverdb`.`domains_table` (`DomainId` INT NOT NULL AUTO_INCREMENT ,`DomainName` VARCHAR(99) NOT NULL , PRIMARY KEY (`DomainId`)) ENGINE = MyISAM;

CREATE TABLE `serverdb`.`accounts_table` (`AccountId` INT NOT NULL AUTO_INCREMENT, `DomainId` INT NOT NULL, `password` VARCHAR(300) NOT NULL, `Email` VARCHAR(100) NOT NULL, PRIMARY KEY (`AccountId`), UNIQUE KEY `Email` (`Email`), FOREIGN KEY (DomainId) REFERENCES domains_table(DomainId) ON DELETE CASCADE) ENGINE = MyISAM;

CREATE TABLE `serverdb`.`alias_table` (`AliasId` INT NOT NULL AUTO_INCREMENT, `DomainId` INT NOT NULL, `Source` varchar(100) NOT NULL, `Destination` varchar(100) NOT NULL, PRIMARY KEY (`AliasId`), FOREIGN KEY (DomainId) REFERENCES domains_table(DomainId) ON DELETE CASCADE) ENGINE = MyISAM;

On peut donc remplir la table avec un nom de domaine dans domains_table et une adresse email dans accounts_table, en mettant le mot de passe en clair pour le moment, c'est plus simple pour les tests :

INSERT INTO `serverdb`.`domains_table` (`DomainName`) VALUES ('mondomaine.com');

INSERT INTO `serverdb`.`accounts_table` (`DomainId`, `password`, `Email`) VALUES (1, 'password123', 'test@mondomaine.com');

Dans le fichier /etc/postfix/master.cf, il faut décommenter :

submission inet n       -       n       -       -       smtpd
 -o syslog_name=postfix/submission
 -o smtpd_tls_security_level=encrypt  ## Comment these if you have
 -o smtpd_tls_auth_only=yes           ## no SSL(not recommended)
 -o smtpd_sasl_auth_enable=yes
 -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
 -o milter_macro_daemon_name=ORIGINATING
 -o smtpd_reject_unlisted_recipient=no

Puis ajouter ces lignes à la fin :

dovecot   unix  -       n       n       -       -       pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}

Ensuite, dans le fichier /etc/postfix/main.cf, il faut indiquer le nom du serveur sur la ligne myhostname :

myhostname = mondomaine.com

Puis commenter cette ligne :

#setgid_group =

Puis décommenter ces lignes :

myorigin = $myhostname
inet_interfaces = all
inet_protocols = all
mydestination = $myhostname, localhost
smtpd_recipient_restrictions = permit_mynetworks
home_mailbox = Maildir/

Et ajotuer cela à la fin du fichier :

mail_spool_directory = /var/mail
config_directory = /etc/postfix
dovecot_destination_recipient_limit = 1
message_size_limit = 4194304
smtpd_tls_cert_file = /etc/postfix/ssl/fullchain.pem    ##SSL Cert
smtpd_tls_key_file = /etc/postfix/ssl/privkey.pem       ##SSL Key
smtpd_use_tls=yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
virtual_transport = dovecot
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
virtual_mailbox_domains = mysql:/etc/postfix/database-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/database-users.cf
virtual_alias_maps = mysql:/etc/postfix/database-alias.cf
smtpd_port = 25
maillog_file = /var/log/postfix.log
smtpd_client_message_rate_limit = 60
anvil_rate_time_unit = 60s

Ensuite, il faut indiquer à postfix comment accéder aux tables de la base de données créées plus haut. Pour cela, on modifie 3 fichier, le user et password correspondent à l'utilisateur mySQL qui a les droits pour accéder aux tables indiquées.

/etc/postfix/database-domains.cf :

user = mailserver
password = StrongPassw0rd
hosts = 127.0.0.1
dbname = serverdb
query = SELECT 1 FROM domains_table WHERE DomainName='%s'

/etc/postfix/database-users.cf :

user = mailserver
password = StrongPassw0rd
hosts = 127.0.0.1
dbname = serverdb
query = SELECT 1 FROM accounts_table WHERE Email='%s'

/etc/postfix/database-alias.cf :

user = mailserver
password = StrongPassw0rd
hosts = 127.0.0.1
dbname = serverdb
query = SELECT Destination FROM alias_table WHERE Source='%s'

Ensuite, il faut mettre les permissions suivantes :

# chmod 640 /etc/postfix/database-*
# chown root:postfix /etc/postfix/database-*

On va initialiser la base de données des alias avec cette commande, qui crée le fichier /etc/aliases.db :

# newaliases

Pour que Postfix fonctionne bien, il faut configurer correctement les fichiers et n'avoir aucune erreur sinon le serveur se met en place mais il arrête de lire le fichier de configuration, donc il n'y a juste qu'un warning et c'est tout. Le Warning est en fait une Fatal Error.

Installation du serveur mail (dovecot)

Une fois l'installation de Postfix terminé, le serveur peut recevoir et envoyer des emails, mais il ne permet pas à l'utilisateur d'accéder à sa boîte. Docevot est là pour gérer les accès IMAP/POP et toute la partie authentification et sécurisation qui va avec.

On va donc installer les paquets avec cette commande :

# apt install dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-mysql

On va ajouter un utilisateur qui va s'occuper de gérer les emails et le dossier /var/mail :

# groupadd -g 6000 vmail
# useradd -g vmail -u 6000 vmail -d /var/mail -m

On va créer la configuration initiale dans le fichier /etc/dovecot/dovecot.conf :

protocols = imap pop3 lmtp
listen = *, ::
log_path = /var/log/dovecot.log

On crée le fichier log :

# touch /var/log/dovecot.log

On active l'authentification et l'accès SQL dans le fichier /etc/dovecot/conf.d/10-auth.conf :

disable_plaintext_auth = yes
auth_mechanisms = plain login
#!include auth-system.conf.ext
!include auth-sql.conf.ext

Puis on crée comme avec postfix, un fichier qui permet d'accéder à la base de données, que l'on indique dans /etc/dovecot/conf.d/auth-sql.conf.ext :

passdb {
  driver = sql
  args = /etc/dovecot/dovecot-sql.conf.ext
}
#userdb {
#  driver = sql
#  args = /etc/dovecot/dovecot-sql.conf.ext
#}

userdb {
  driver = static
  args = uid=vmail gid=vmail home=/var/mail/%d/%n/Maildir
}

Il faut ensuite créer un dossier par domaine dans /var/mail, donc ici :

# mkdir /var/mail/mondomaine.com

On crée ensutie la configuration SQL dans le fichier /etc/dovecot/dovecot-sql.conf.ext :

driver = mysql
connect = "host=127.0.0.1 dbname=serverdb user=mailserver password=StgPass"
default_pass_scheme = SHA512-CRYPT
password_query = SELECT Email as User, password FROM accounts_table WHERE Email='%u';

Pour créer des mots de passe à utiliser dans SQL, il faut utiliser l'utilitaire suivant :

doveadm pw -s SHA512-CRYPT

Ensuite, on définit l'arborescence des fichiers dans /etc/dovecot/conf.d/10-mail.conf :

mail_location = maildir:/var/mail/%d/%n/Maildir/
namespace inbox {
  inbox = yes
}
mail_privileged_group = mail

Puis on complète le fichier de configuration principal pour définir les services qui seront accessibles dans /etc/dovecot/conf.d/10-master.conf :

service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}
service submission-login {
  inet_listener submission {
    #port = 587
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    mode = 0600
    user = postfix
    group = postfix
  }
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }
  unix_listener auth-userdb {
    mode = 0600
    user = vmail
  }
  user = dovecot
}
service auth-worker {
  user = vmail
}
service dict {
  unix_listener dict {
  }
}
service stats {
  unix_listener stats-reader {
    user = vmail
    group = vmail
    mode = 0660
  }
  unix_listener stats-writer {
    user = vmail
    group = vmail
    mode = 0660
  }
}

Il ne reste plus qu'à configurer les droits sur les fichiers :

chown -R vmail:vmail /var/mail
chmod -R 775 /var/mail
chown -R vmail:dovecot /etc/dovecot
chmod -R o-rwx /etc/dovecot

Ensuite, il faudra prendre un moment pour configurer le SSL dans le fichier /etc/dovecot/conf.d/10-ssl.conf en indiquant les bonnes informations et en vérifiant les permissions des fichiers et les messages d'erreur si nécessaire.

N'oubliez pas de redémarrer postfix et dovecot ou bien tout le serveur, c'est parfois utile pour s'assurer que la configuration permet un redémarrage sans problème du serveur en cas de besoin.

Conclusion

Après cette configuration de base, le serveur est prêt à gérer un ou plusieurs sites internet, avec les DNS, le web et les emails. Pour aller encore plus loin, il peut être intéressant de configurer le DNSSEC, l'IPv6 et le SSL avec Let's Encrypt pour une configuration automatique et permanente.

Pour l'achat de vos besoins en serveur cloud ou en noms de domaine, adresse email, connexion internet, vous pouvez regarder nos offres sur le site de HaiSoft, la société d'informatique que je dirige à Orléans et qui est disponible pour tous les projets informations dans la région ou dans toute la France et la Belgique.