Mise à jour de 'README.md'

This commit is contained in:
valentin 2021-11-04 18:48:22 +01:00
parent 867d9375af
commit 9b047746b9

172
README.md
View File

@ -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
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:
```
<VirtualHost *:80>
ServerName new-mail.romanet.fr
DocumentRoot /var/www/romanet.fr/roundcube/
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/romanet.fr/roundcube/>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/new-mail.romanet.fr_error.log
CustomLog ${APACHE_LOG_DIR}/new-mail.romanet.fr_access.log combined
</VirtualHost>
```
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 dauthentification.
```
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,
),
);
```