Installer LAMP sur le serveur applicatif

Pour faire ce que nous allons décrire ci-dessous, ouvrez « putty » sur votre PC (ou votre Mac) et connectez vous au serveur applicatif (192.168.0.5)

Nous allons installer LAMP, qui signifie « Linux, Apache, Mysql, PHP », c’est à dire les composants de base d’un serveur WEB

Mise à jour de Linux

Il est souhaitable de le faire périodiquement, et en tout cas avant une installation importante

apt update

apt upgrade

Installation d’APACHE (le moniteur transactionnel)

C’est assez simple ; il suffit de taper la commande ci-contre

apt install apache2

Installation de MYSQL (la base de données relationnelle)

ce n’est pas beaucoup plus compliqué

les commandes ont pour objet de définir un compte qui s’identifiera de la façon suivante :

      • localisation : localhost
      • identifiant : root
      • mot de passe : blabla (vous pouvvez évidemment changer le mot de passe)

apt install mysql-server

mysql

(puis les commandes suivantes, ligne à ligne)

SELECT user,authentication_string,plugin,host FROM mysql.user;

ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY    ’blabla‘;

FLUSH PRIVILEGES;

exit

Installation de PHP (le langage de programmation)

et voilà le travail

apt install php libapache2-mod-php php-mysql

a2enmod rewrite

Installation de PHPMYADMIN (l’application de gestion de la base de données)

apt install phpmyadmin

(entrer 2 fois le mot de passe de mysql)

Toutes ces installations étant faites, je vous recommande de modifier le fichier de configuration d’APACHE, afin que toutes les données volumineuses soient placées dans le répertoire /home/

Ceci vous permettra le cas échéant de placer /home/ sur un HDD séparé – et puis, ça sera beaucoup plus clair à maintenir

nano /etc/apache2/apache2.conf

recherchez le mot clef « www » par ctrl-w

changer /var/www/  par  /home/

préciser « AllowOverride All »

ctrl-o pour sauver    et    ctrl-x pour sortir

Redémarrage d’apache pour prendre en compte la modification 

/etc/init.d/apache2 restart

Bon ! Passons maintenant au paramétrage d’APACHE pour gérer plusieurs applications différentes (dont le WEBmail, dont je vous rappelle qu’il est sur le serveur de mails).

Tout va se passer dans le répertoire /etc/apache2/sites-enabled/

Je vous recommande de créer autant de fichiers .conf que de sous-domaine (ca sera beaucoup plus simple pour les sécuriser par la suite)

Prenons par exemple le sous domaine blog.mafamille.fr ; vous allez créer le fichier 001-blog.conf par la commande « nano »

Une fois le fichier .conf créé, créez le répertoire « blog » dans /home/ où sera placé l’application blog.

 et faites ceci pour toutes les applications.

cd /etc/apache2/sites-enabled/

nano 001-site.conf

entrez le contenu suivant :

   » <VirtualHost *:80>
      ServerName blog.mafamille.fr
      DocumentRoot /home/blog
    </VirtualHost> « 

ctrl-o pour sauver    et    ctrl-x pour sortir

mkdir /home/blog

Il ne faut pas oublier de programmer un « reverse proxy » pour renvoyer le trafic destiné au webmail vers le serveur de mails (192.168.0.4).
 
Le contenu du fichier 004-mail.conf sera le suivant

 

 » <VirtualHost *:80>
    ServerName mail.gruson.net

    ProxyPreserveHost On
    ProxyPass / http://192.168.0.4/
    ProxyPassReverse / http://192.168.0.4/
    ProxyRequests Off

    RewriteEngine on
    RewriteCond %{SERVER_NAME} =mail.gruson.net
    RewriteRule ^ https://%{SERVER_NAME}% (suite)
            
{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost> « 

Enfin, si par extraordinaire, une requête WEB arrivait sur le serveur sans être reliée à un sous-domaine, il faut une application par défaut.

NB: je vous rappelle que les serveurs « letsencrypt » envoient les certificats par adressage direct à l’adresse IP de la box, dans préciser de nom de  domaine.

Cette application par défaut sera donc le serveur de mails ; le routage se fait à travers le fichier 000-default.conf.

Il faut vérifier que ce fichier contient a minima les lignes ci-contre, et si non, le modifier en conséquence.

 

cd /etc/apache2/sites-enabled/

nano 000-default.conf

Vérifiez que le contenu utile est le suivant :

 » <VirtualHost *:80>
    ProxyPreserveHost On
    ProxyPass / http://192.168.0.4/
    ProxyRequests Off
  </VirtualHost> «