diff --git a/README.md b/README.md index a51a095..1c20f81 100644 --- a/README.md +++ b/README.md @@ -646,4 +646,174 @@ https://petermolnar.net/article/howto-spf-dkim-dmarc-postfix/#postfix https://words.bombast.net/postfix-with-spf-dkim-and-dmarc/ -https://datacadamia.com/marketing/email/postfix/opendkim \ No newline at end of file +https://datacadamia.com/marketing/email/postfix/opendkim + + +## Configuration Roundcube (Nouvelle option) + +### Installation Apache PHP MySQL + +Installer Apache et ses modules + +``` +sudo apt install apache2 +sudo apt install php libapache2-mod-php php-mysql +sudo apt install mariadb-server +``` + +Configuration de mariadb + +``` +sudo mysql_secure_installation +``` + +Si un mot de passe est demandé pour l'installation, comme il n'y en a pas pour le moment, il faut simplement faire `Enter` + +Puis definir un mot de passe et continuer la configuration. + +### Installation des modules necessaires à Roundcube + +``` +sudo apt install php7.4 libapache2-mod-php php7.4-gd php7.4-common php7.4-json php7.4-json php-imagick php7.4-imap php7.4-xml php7.4-opcache php7.4-mbstring php7.4-curl php7.4-zip php7.4-bz2 php7.4-intl php7.4-intl +``` + +### Creation de la base de données Roundcube + +Cette base de données est necessaire au fonctionnement de Roundcube. +Mais contrairement à l'ancienne methode que j'utilisais, on ne va pas utiliser cette base de données pour se s'identifier sur la Webmail. Cette base de données va servir à Roundcube pour se souvenir des emails etc. + +``` +sudo mysql -u root -p +``` + +Attention sur les instruction suivantes à bien modifier le mot de passe `password` de la requète SQL. +Et attention à bien se souvenir de ce mot de passe, on va en avoir besoin pour la suite ! + +``` +CREATE DATABASE roundcubedb DEFAULT CHARACTER SET utf8; +GRANT ALL PRIVILEGES ON roundcubedb.* TO 'rounduser'@'localhost' IDENTIFIED BY 'password'; +FLUSH PRIVILEGES; +exit; +``` + + +### Télécharger et installer Roundcube + +Verifier sur le site de Roundcube où se trouve la dernière version: +https://roundcube.net/download/ + +Liste de étapes suivantes: + +* Téléchargement de RoundCube +* Extraction de l'archive +* Création du dossier `romanet.fr` dans le répertoire de apache +* Déplacement du dossier RoundCube vers le dossier apache +* Modification du propriétaire (apache) +* Modification des permissions sur le dossier + + +``` +wget https://github.com/roundcube/roundcubemail/releases/download/1.4.11/roundcubemail-1.4.11-complete.tar.gz +tar xvf roundcubemail-1.4.11-complete.tar.gz +sudo mkdir /var/www/romanet.fr/ +sudo mv roundcubemail-1.4.11 /var/www/romanet.fr/roundcube +sudo chown -R www-data:www-data /var/www/romanet.fr/roundcube +sudo chmod 755 -R /var/www/romanet.fr/roundcube +``` + +Puis, il faut créer le necessaire dans notre base de données RoundCube grâce à un fichier de configuration présent dans le dossier d'installation RoundCube: + +``` +mysql -u rounduser -p roundcubedb < /var/www/romanet.fr/roundcube/SQL/mysql.initial.sql +``` + +Création d'un VirtualHost: + +``` + + ServerName new-mail.romanet.fr + DocumentRoot /var/www/romanet.fr/roundcube/ + + + Options FollowSymLinks + AllowOverride All + + + + Options FollowSymLinks MultiViews + AllowOverride All + Order allow,deny + allow from all + + + ErrorLog ${APACHE_LOG_DIR}/new-mail.romanet.fr_error.log + CustomLog ${APACHE_LOG_DIR}/new-mail.romanet.fr_access.log combined + + + +``` + +On oublie pas d'activer le site et eventuellement de désactiver le site par defaut +Puis on redémarre apache + +On peut également ajouter un VirtualHost sur le reverse proxy si on en utilise un, et lui ajouter un certificat SSL avec `certbot` + +Bien entendu, il faudra ajouter un enregistrement DNS pour ce site si ce n'est pas déjà fait. + +### Configuration initiale de Roundcube + +Lorsque tout cela est fait, on se rend sur la page de notre webmail en visitant par exemple: + +https://mail.romanet.fr/installer + +Sur cette page on va renseigner toutes les informations qui sont nécessaires à RoundCube pour communiquer avec nos serveurs IMAP et SMTP. + +Si la connexion au serveur SMTP ne fonctionne pas en STARTTLS (587) ce n'est pas grave on vera cela après. + +On termine la config et on passe à la suite. + +### Configuration plus avancée de RoundCube + +#### Modofication du fichier `config/config.inc.php` + +On peut ajouter ces lignes: + +``` +$config['mail_domain'] = '%t'; +$config['useragent'] = ''; + +``` + + +#### Modofication du fichier `config/defaults.inc.php` + +Pour faire fonctionner RoundCube avec le serveur SMTP en STARTTLS il faut ajouter le préfix `tls://` devant l'adresse du serveur SMTP. Cela doit resembler à la ligne suivante: + +`$config['smtp_server'] = 'tls://localhost';` + +Si même après avoir ajouté le préfix `tls://` RoundCube envoie une erreur du type: +``` +Erreur SMTP (220) : échec d’authentification. +``` +et que les logs de postfix `/var/log/mail.log` nous renvoient: +``` +connect from localhost[127.0.0.1] +lost connection after STARTTLS from localhost[127.0.0.1] +disconnect from localhost[127.0.0.1] ehlo=1 starttls=1 commands=2 +``` +Alors on va ajouter une information dans la configuration pour dire à RoundCube de passer la vérification du certificat (il me semble): + +``` +$config['imap_conn_options'] = array( +'ssl' => array( +'verify_peer' => false, +'verfify_peer_name' => false, +), +); +$config['smtp_conn_options'] = array( +'ssl' => array( +'verify_peer' => false, +'verify_peer_name' => false, +), +); +``` \ No newline at end of file