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
» <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> «