GNU/Linux >> Tutoriels Linux >  >> Debian

Installer le client de messagerie Web WebMail Lite basé sur PHP sur Debian 9.1

Dans ce guide, nous allons vous montrer comment installer la dernière version de WebMail Lite PHP dans Debian 9.1 et vous montrer comment configurer l'application pour récupérer les e-mails d'un service de messagerie populaire Yahoo! Poster. Nous utiliserons Yahoo! Services de messagerie uniquement à des fins de démonstration, mais n'hésitez pas à utiliser votre propre domaine pour la gestion du courrier avec WebMail Lite, car la procédure d'ajout des paramètres de domaine est essentiellement la même que pour la configuration de Yahoo! Services de messagerie. Nous utiliserons le client WebMail Lite comme interface avec les services IMAP et SMTP fournis par Yahoo! compte et tous les e-mails seront traités localement sur notre propre serveur Web privé.

WebMail Lite est un agent utilisateur de messagerie open source gratuit ou un client Web écrit en PHP et déployé sur Linux sous les composants Apache/Nginx, PHP et MySQL/MariaDB qui composent la pile LEMP/LAMP. WebMail Lite peut être utilisé pour accéder à la messagerie via les protocoles IMAP/S et/ou SMTP/S afin de synchroniser les fichiers de messagerie et/ou d'envoyer des messages électroniques.

Exigences

  • Installation minimale de Debian 9 sur une machine sans système d'exploitation ou sur un serveur privé virtuel.
  • Une adresse IP statique configurée pour l'une des cartes d'interface réseau de votre système.
  • Privilèges sudo root pour un compte local ou distant ou accès direct au compte root.
  • Un nom de domaine, privé ou public, selon votre déploiement, avec les enregistrements DNS appropriés configurés.
  • Un service de messagerie correctement configuré dans vos locaux avec un accès à distance à ses services IMAP et SMTP.

Configuration initiale

Avant de commencer à installer et à configurer WebMail Lite à partir de la source sur votre propre serveur, assurez-vous d'abord que le système répond à toutes les exigences logicielles pour compiler et installer l'application. Dans un premier temps, mettez à jour vos référentiels système et vos progiciels en exécutant la commande ci-dessous.

apt update
apt upgrade

À l'étape suivante, exécutez la commande suivante afin d'installer certains utilitaires qui seront utilisés pour gérer davantage votre système à partir de la ligne de commande.

apt install wget bash-completion unzip

Ensuite, configurez le nom de votre système en exécutant la commande suivante. Remplacez votre variable de nom d'hôte en conséquence.

hostnamectl set-hostname mail

Vérifiez le nom d'hôte de la machine et le fichier d'hôtes en exécutant les commandes ci-dessous.

hostnamectl
cat /etc/hostname
hostname –s
hostname –f

Enfin, redémarrez le serveur Debian afin d'appliquer les mises à jour du noyau et les changements de nom d'hôte correctement.

systemctl reboot

WebMail Lite est un client de messagerie Web écrit principalement en langage de programmation côté serveur PHP. Afin d'exécuter les scripts de fichiers PHP WebMail Lite, un serveur Web, tel qu'un serveur HTTP Apache, et une passerelle de traitement PHP doivent être installés et opérationnels dans le système. Afin d'installer le serveur Web Apache et l'interpréteur PHP ainsi que tous les modules PHP nécessaires au bon fonctionnement de l'application, exécutez la commande suivante dans la console de votre serveur.

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-xml php7.0-mcrypt php7.0-opcache php7.0-mbstring php7.0-curl

Une fois Apache et PHP installés, testez si le serveur Web est opérationnel et écoute les connexions réseau sur le port 80 en exécutant la commande suivante avec les privilèges root.

netstat –tlpn

Si l'utilitaire réseau netstat n'est pas installé par défaut sur votre système Debian, exécutez la commande ci-dessous pour l'installer.

apt install net-tools

En inspectant la sortie de la commande netstat, vous pouvez voir que le serveur Web Apache écoute les connexions réseau entrantes sur le port 80. Pour la même tâche, vous pouvez également utiliser le ss commande, qui est automatiquement installée par défaut dans Debian 9.

ss- tlpn

Si un pare-feu est activé sur votre système, tel qu'une application de pare-feu UFW, vous devez ajouter une nouvelle règle pour autoriser le trafic HTTP à traverser le pare-feu en exécutant la commande suivante.

ufw allow WWW

ou

ufw allow 80/tcp

Si vous utilisez iptables règles brutes pour gérer les règles du pare-feu sur votre serveur Debian, ajoutez la règle suivante pour autoriser le trafic entrant du port 80 sur le pare-feu afin que les visiteurs puissent parcourir l'application en ligne.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Ensuite, activez les modules Apache suivants qui seront utilisés pour sécuriser certaines parties de l'application WebMail Lite, en lançant la commande ci-dessous.

a2enmod rewrite
systemctl restart apache2

Enfin, testez si la page Web par défaut du serveur Web Apache peut être affichée dans les navigateurs de vos clients en visitant l'adresse IP de votre machine Debian ou votre nom de domaine ou FQDN de serveur via le protocole HTTP. Si vous ne connaissez pas l'adresse IP de votre machine, exécutez ifconfig ou ip a commandes pour révéler l'adresse IP de votre serveur. La page Apache par défaut pour Debian sera affichée dans votre navigateur.

http://votre_domaine.tld

Afin d'installer et d'accéder à l'application WebMail Lite via le protocole HTTPS qui sécurisera le trafic pour vos clients, lancez la commande suivante pour activer le module SSL du serveur Web Apache et le fichier de configuration du site SSL.

a2enmod ssl
a2ensite default-ssl.conf

Ensuite, ouvrez le fichier de configuration du site SSL par défaut d'Apache avec un éditeur de texte et activez les règles de réécriture d'URL en ajoutant les lignes de code suivantes après DocumentRoot directive, comme illustré dans l'exemple ci-dessous :

nano /etc/apache2/sites-enabled/default-ssl.conf

Extrait du fichier de configuration du site SSL :

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Apportez également la modification suivante à la ligne VirtualHost pour qu'elle ressemble à celle illustrée dans l'extrait ci-dessous :

        <VirtualHost *:443>

Fermez le fichier SSL Apache et ouvrez /etc/apache2/sites-enabled/000-default.conf fichier à modifier et ajoutez les mêmes règles de réécriture d'URL que pour le fichier de configuration SSL. Insérez les lignes de code après DocumentRoot déclaration comme indiqué dans l'exemple ci-dessous.

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Enfin, redémarrez le démon Apache pour appliquer toutes les règles configurées jusqu'à présent et visitez votre domaine via le protocole HTTP. Étant donné que vous utilisez les paires de certificats auto-signés automatiquement émis par Apache lors de l'installation, un avertissement d'erreur doit s'afficher dans le navigateur, comme indiqué dans la capture d'écran ci-dessous.

systemctl restart apache2

https://votredomaine.tld

Acceptez l'avertissement pour continuer et être redirigé vers la page Web par défaut d'Apache via HTTPS.

Si l'application de pare-feu UFW bloque les connexions réseau entrantes au port HTTPS, vous devez ajouter une nouvelle règle pour autoriser le trafic HTTPS à traverser le pare-feu en exécutant la commande suivante.

ufw allow 'WWW Full'

ou

ufw allow 443/tcp

Si iptables est l'application pare-feu par défaut installée pour protéger votre système Debian au niveau du réseau. Ajoutez la règle suivante pour autoriser le trafic entrant du port 443 dans le pare-feu afin que les visiteurs puissent parcourir votre nom de domaine.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Dans l'étape suivante, nous devons apporter d'autres modifications au fichier de configuration PHP par défaut afin de nous assurer que les variables PHP suivantes sont activées et que le fuseau horaire PHP est correctement configuré et correspond à l'emplacement géographique de votre système. Ouvrez /etc/php/7.0/apache2/php.ini fichier à éditer et assurez-vous que les lignes suivantes sont configurées comme suit. Aussi, dans un premier temps, faites une sauvegarde du fichier de configuration PHP.

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

Recherchez, modifiez et modifiez les variables suivantes dans php.ini fichier de configuration :

file_uploads = On
allow_url_fopen = On
memory_limit = 128 M
upload_max_file_size = 64M
date.timezone = Europe/London

Augmenter memory_limit variable appropriée pour prendre en charge les pièces jointes volumineuses et remplacer le time.zone variable en fonction de votre heure physique en consultant la liste des fuseaux horaires fournie par les docs PHP au lien suivant http://php.net/manual/en/timezones.php

Si vous souhaitez augmenter la vitesse de chargement des pages de votre site Web via le plug-in OPCache disponible pour PHP7, ajoutez les paramètres OPCache suivants au bas du fichier de configuration de l'interpréteur PHP, comme indiqué ci-dessous :

opcache.enable=1 
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Fermez le fichier de configuration php.ini et vérifiez si la vérification de la fin du fichier de configuration PHP pour vérifier si les variables ont été correctement ajoutées en exécutant la commande ci-dessous.

tail /etc/php/7.0/apache2/php.ini

Après avoir apporté toutes les modifications expliquées ci-dessus, redémarrez le démon apache pour appliquer les nouvelles modifications en exécutant la commande suivante.

systemctl restart apache2

Enfin, créez un fichier d'informations PHP en exécutant la commande suivante et vérifiez si le fuseau horaire PHP a été correctement configuré en visitant le fichier de script d'informations PHP à partir d'un navigateur à l'URL suivante, comme illustré dans l'image ci-dessous. Faites défiler jusqu'à date paramètre pour vérifier la configuration du fuseau horaire php.

echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php

https://domain.tld/info.php

Le client de messagerie Web WebMail Lite stocke différentes configurations, telles que les utilisateurs, les sessions, les contacts et autres, dans une base de données RDBMS. Dans ce guide, nous allons configurer WebMail Lite pour utiliser la base de données MariaDB comme backend. Exécutez la commande ci-dessous pour installer la base de données MariaDB et le module PHP nécessaire pour accéder à la base de données mysql.

apt install mariadb-server php7.0-mysql

Après avoir installé MariaDB, vérifiez que le démon est en cours d'exécution et écoute les connexions sur localhost, port 3306, en exécutant netstat ou ss commande.

netstat –tlpn | grep mysql

Ensuite, connectez-vous à la console MySQL et sécurisez le compte racine MariaDB en exécutant les commandes suivantes.

mysql -h localhost
use mysql;
update user set plugin='' where user='root';
flush privileges;
exit

À l'étape suivante, sécurisez MariaDB en exécutant le script mysql_secure_installation . Lors de l'exécution, le script posera une série de questions conçues pour sécuriser la base de données MariaDB, telles que :changer le mot de passe root MySQL, supprimer les utilisateurs anonymes, désactiver les connexions root à distance et supprimer la base de données de test. Exécutez le script en exécutant la commande ci-dessous et assurez-vous de taper oui à toutes les questions posées afin de sécuriser complètement le démon MySQL. Utilisez la sortie de script ci-dessous, sauf comme guide.

sudo mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
 
Enter current password for root (enter for none):
OK, successfully used password, moving on...
 
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
 
You already have a root password set, so you can safely answer 'n'.
 
Change the root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
 
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
 
Remove anonymous users? [Y/n] y
 ... Success!
 
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
 
Disallow root login remotely? [Y/n] y
 ... Success!
 
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
 
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
 
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
 
Reload privilege tables now? [Y/n] y
 ... Success!
 
Cleaning up...
 
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
 
Thanks for using MariaDB!

Afin de tester la sécurité de MariaDB, essayez de vous connecter à la base de données depuis la console sans mot de passe root. L'accès à la base de données doit être refusé si aucun mot de passe n'est fourni pour le compte root. Si le mot de passe est fourni, le processus de connexion doit être accordé à la console MySQL, comme indiqué dans la capture d'écran ci-dessous.

mysql -h localhost -u root
mysql -h localhost -u root –p

Ensuite, connectez-vous à la console de base de données MariaDB, créez une base de données à utiliser pour WebMail Lite et un utilisateur avec un mot de passe qui sera utilisé pour gérer cette base de données, en exécutant les commandes suivantes. Remplacez le nom, l'utilisateur et le mot de passe de la base de données WebMail Lite en conséquence.

mysql –u root -p
create database webmaillite;
grant all privileges on webmaillite.* to 'webmail_user'@'localhost' identified by 'webmail_pass';
flush privileges;
exit

Afin d'appliquer toutes les modifications apportées jusqu'à présent, redémarrez les démons MySQL et Apache et vérifiez si les démons sont en cours d'exécution en exécutant les commandes suivantes.

systemctl restart mysql apache2
systemctl status mysql apache2

Installer WebMail Lite

Une fois que toutes les exigences du système sont remplies, visitez la page Web WebMail Lite à l'adresse https://afterlogic.org/download/webmail-lite-php et téléchargez la dernière archive compressée du package zip en exécutant l'utilitaire wget, comme illustré dans l'exemple suivant.

wget https://afterlogic.org/download/webmail_php.zip

Une fois le téléchargement de l'archive zip terminé, extrayez l'archive compressée WebMail Lite zip et répertoriez les fichiers extraits en exécutant les commandes ci-dessous. Supprimez également le fichier index.html par défaut installé par le serveur Web Apache sur le chemin Webroot et supprimez également le fichier info.php créé précédemment.

rm /var/www/html/index.html
rm /var/www/html/info.php
unzip webmail_php.zip
ls

Ensuite, copiez récursivement les fichiers extraits du webmail répertoire vers le chemin webroot de votre domaine en exécutant la commande ci-dessous. En outre, vous pouvez répertorier le chemin Webroot pour voir si tous les fichiers du répertoire Webmail sont complètement transférés vers Webroot.

ls webmail
cp -rf webmail/* /var/www/html/
ls -l /var/www/html/

Ensuite, exécutez les commandes ci-dessous afin d'accorder à l'utilisateur d'exécution Apache des autorisations d'écriture complètes sur le chemin racine Web. Utilisez ls commande pour répertorier les autorisations pour les fichiers d'installation de Prestashop situés dans le répertoire /var/www/html/.

chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/

Procédez au processus d'installation de WebMail Lite en ouvrant un navigateur et accédez à l'adresse IP ou au nom de domaine de votre serveur via le protocole HTTPS vers /install annuaire. Sur le premier écran d'installation, le script d'installation de WebMail Lite effectuera une série de vérifications du système afin de déterminer si toutes les extensions et tous les modules PHP requis sont installés sur votre serveur et si l'utilisateur apache a des autorisations d'écriture sur les données. répertoire et au fichier de configuration, comme indiqué dans l'image ci-dessous. Si toutes les exigences du serveur sont satisfaites, appuyez sur le bouton Suivant pour passer à l'écran d'installation suivant.

https://votredomaine.tld/install

Sur l'écran d'installation suivant, lisez et acceptez les termes du contrat de licence et cliquez sur J'accepte bouton pour continuer, comme illustré dans l'image ci-dessous.

Sur l'écran d'installation suivant, choisissez le type de base de données MySQL et spécifiez l'adresse hôte de la base de données MySQL, le nom de la base de données et les informations d'identification créées précédemment pour accéder à la base de données WebMail Lite. Testez votre connexion à la base de données en cliquant sur Tester la base de données et si la connexion à la base de données MySQL est réussie, cochez Créer des tables de base de données pour que le programme d'installation crée les tables requises et appuyez sur le bouton Suivant pour passer à l'écran d'installation suivant.

Sur l'écran d'installation suivant, fournissez un mot de passe fort pour mailadm utilisateur et appuyez sur le bouton suivant pour continuer. Cet utilisateur sera utilisé pour gérer différents aspects de WebMail Lite via le panneau d'administration.

Nous allons maintenant vérifier si la connexion à un serveur de messagerie fonctionne comme prévu via les protocoles IMAP et SMP. À des fins de démonstration, nous configurerons et testerons la connexion aux services de messagerie fournis par Yahoo! Poster. Vous pouvez modifier le domaine des services de messagerie en conséquence. Pour tester la connexion SMTP de Yahoo! Serveurs de messagerie, écrivez l'adresse suivante dans le champ Hôte du serveur de messagerie, smtp.mail.yahoo.com , cochez la case SMTP et appuyez sur le bouton de test de connexion. Si la connexion à Yahoo! Le serveur SMTP est établi avec succès, un message vert vous informera que vous pouvez envoyer des e-mails sortants via SMTP depuis Yahoo! Courrier.

Pour tester si les connexions IMAP cryptées sont autorisées pour Yahoo! Serveur de messagerie, saisissez imap.mail.yahoo.com:993 dans le champ Hôte du serveur de messagerie, cochez la case IMAP4 et appuyez sur le bouton Tester la connexion. Si la connexion à Yahoo! Le serveur IMAP est établi avec succès, un message vert vous informera que vous pouvez vérifier et télécharger les e-mails entrants via IMAPS depuis Yahoo! Poster. Lorsque vous avez terminé, appuyez sur le bouton suivant pour passer à la dernière étape d'installation.

Une fois le processus d'installation terminé, le programme d'installation vous informera que l'application Web WebMail Lite a été installée avec succès et que vous devez supprimer le répertoire du programme d'installation de la racine Web de votre domaine. Appuyez sur le bouton Quitter pour quitter l'écran et accéder au panneau d'administration de WebMail Lite.

Accédez à l'adresse suivante pour accéder au panneau d'administration WebMail Lite. Remplacez le nom de domaine ou l'adresse IP en conséquence.

https://votredomaine.tld/adminpanel

Connectez-vous au panneau d'administration avec le mailadm le nom d'utilisateur et le mot de passe configurés pour cet utilisateur pendant le processus d'installation, comme illustré dans la capture d'écran ci-dessous.

Afin de configurer les services de messagerie de votre domaine pour WebMail Lite, accédez à Domaines -> Paramètres par défaut . À des fins de démonstration, dans ce guide, nous configurerons WebMail Lite pour gérer les e-mails d'un Yahoo! Compte de messagerie, mais n'hésitez pas à configurer votre propre domaine en ajoutant les paramètres requis.

Dans le champ Courrier entrant, ajoutez l'adresse IMAP de Yahoo! Serveur de messagerie :  imap.mail.yahoo.com et le port 993 . Cochez également Utiliser SSL case à cocher pour récupérer les e-mails via une connexion sécurisée.

Dans le champ Courrier sortant, ajoutez l'adresse SMTP de Yahoo! Serveur de messagerie :smtp.mail.yahoo.com et le port 465. Cochez également Utiliser SSL case à cocher pour envoyer des e-mails via une connexion sécurisée.

Dans Authentification SMTP, cochez 'Utiliser le login/mot de passe du courrier entrant de l'utilisateur' afin de s'authentifier auprès de Yahoo! Serveurs de messagerie SMTP.

Enfin, vous pouvez également avoir les options pour ajouter un nom à votre site, changer le thème de l'application WebMail Lite et permettre aux utilisateurs d'accéder aux paramètres de l'interface. Vous pouvez également modifier les paramètres régionaux de votre application, comme illustré dans la capture d'écran ci-dessous. Pour enregistrer et appliquer les paramètres, appuyez sur le bouton Enregistrer.

Le panneau d'administration WebMail Lite offre d'autres options qui peuvent être utilisées pour modifier les paramètres de votre application, telles que l'activation de la journalisation, la modification de mailadm nom de compte et mot de passe ou intégrer l'interface webmail avec d'autres services externes. Lorsque vous avez terminé la configuration de vos paramètres personnalisés, appuyez sur le bouton Déconnexion.

Pour vous connecter à l'application WebMail Lite avec un compte Yahoo! compte de messagerie, accédez à votre nom de domaine via le protocole HTTP et fournissez votre compte Yahoo! Identifiants de messagerie comme indiqué dans l'image ci-dessous. Les e-mails de votre compte Yahoo! compte sera listé dans l'interface WebMail Lite.

Afin d'obliger les visiteurs à parcourir l'interface WebMail Lite via le protocole HTTPS et de protéger le répertoire d'installation et le fichier de version, rendez-vous sur votre console serveur et créez un nouveau .htaccess fichier dans le chemin racine du document de votre serveur Web avec le contenu suivant.

nano /var/www/html/.htaccess

.htaccess extrait de fichier :

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

RewriteEngine on
Options -Indexes
# return a 403 forbidden error for install dir and version file
RewriteRule ^install/?$ - [F,L]
RewriteRule ^VERSION/?$ - [F,L]

Créez un nouveau .haccess fichier dans le répertoire d'installation avec le contenu ci-dessous :

nano /var/www/html/install/.htaccess

.htaccess extrait de fichier :

RewriteEngine on
Options -Indexes
Require all denied

C'est tout! Vous avez installé et configuré avec succès WebMail Lite dans Debian 9.1. Cependant, comme votre serveur Apache HTTP utilise des certificats auto-signés pour crypter le trafic entre le serveur et les navigateurs des visiteurs, un message d'avertissement sera toujours généré et affiché dans votre navigateur. Dans ce cas, vous devez acheter un certificat émis par une autorité de certification de confiance ou obtenir une paire de certificats gratuite auprès de Let's Encrypt CA. Pour d'autres configurations personnalisées concernant WebMail Lite, visitez la page de documentation à l'adresse suivante :https://afterlogic.com/docs/webmail-lite


Debian
  1. Installer le serveur LAMP sur Debian 11

  2. Comment installer PHP 8 sur Debian 10

  3. Comment installer PHP sur Debian 11

  4. Comment installer RoundCube Webmail sur Debian 9

  5. Comment installer RainLoop Webmail sur Debian 9

Comment installer PyroCMS basé sur Laravel sur Debian 9

Comment installer le serveur LAMP sur Debian 9

Étapes pour installer PHP 8 sur Debian Server 10 | 9

Comment installer ImageMagick et son module PHP sur le serveur Debian 11

Installer le client Nextcloud sur Debian 11 Bullseye Linux

Comment installer le serveur et le client Telnet sur Debian 11 Bullseye Linux