Installation d'un serveur web avec php

Il existe plusieurs serveurs web instalables dont Nginx et Apache. Nginx est rapide et léger, idéal pour servir du contenu statique. Apache est quand à lui beaucoup plus flexible pour du contenu dynamique. Pour une comparaison plus complète : https://www.supinfo.com/articles/single/5509-apache-vs-nginx. Ici, le choix s'est porté sur Apache.

Un serveur à besoin d'une adresse IP fixe pour être facilement accessible. Si vous êtes derrière une box qui vous fournis l'IP via DHCP, l'adresse attribué à votre serveur ne devrait guère changer tant qu'il est allumé. Il est cependant mieux de restreindre la plage d'adresse qui puisse être utilisée pour le DHCP. Dans la box (ici une freebox révolution), la plage pour le DHCP va de 192.168.010 à 192.168.0.50. L'adresse du serveur omega est fixée à 192.168.0.126.

Plage DHCP Adresses IP fixes

Installation d'apache et de php :

Le serveur Xu4 s'appelle omega. Le serveur web s'appellera zwiicms.

root@omega:~# apt install apache2 libapache2-mod-php php7.3-mbstring php7.3-xml php7.3-zip
Reading package lists... Done
...
After this operation, 24.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
...
root@omega:~#

Depuis votre portable, ouvrez un navigateur à l'adresse http://192.168.0.126 (Remplacez par votre adresse). Serveur Web apache2 installé !

Installation d'un site web (ZwiiCMS)

Ajouter des modules et redémarez apache :

root@omega:~# a2enmod rewrite
root@omega:~# a2enmod headers
root@omega:~# a2enmod expires
root@omega:~# systemctl restart apache2

La racine par défaut est /var/www/html. On voudra peut être un jour plusieurs sites dont les racines seront /var/www/html/site1, /var/www/html/site2, ... Créez un répertoire zwiicms dans /var/www/html et installez Zwiicms dedans.

root@omega:~# cd /var/www/html
root@omega:/var/www/html# mkdir zwiicms
root@omega:/var/www/html# cd zwiicms/
root@omega:/var/www/html/zwiicms# wget zwiicms.com/site/file/source/telechargement/ZwiiCMS-10092.zip
--2020-05-14 09:13:11-- http://zwiicms.com/site/file/source/telechargement/ZwiiCMS-10092.zip
Resolving zwiicms.com (zwiicms.com)... 213.186.33.87
Connecting to zwiicms.com (zwiicms.com)|213.186.33.87|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3897159 (3.7M) [application/zip]
Saving to: ‘ZwiiCMS-10092.zip’
ZwiiCMS-10092.zip 100%[==================================================================================>] 3.72M 21.6MB/s in 0.2s
2020-05-14 09:13:11 (21.6 MB/s) - ‘ZwiiCMS-10092.zip’ saved [3897159/3897159]
root@omega:/var/www/html/zwiicms# unzip ZwiiCMS-10092.zip 
Archive: ZwiiCMS-10092.zip
inflating: .htaccess 
inflating: CHANGES.md 
...
extracting: site/file/thumb/screenshot.png 
creating: site/tmp/
extracting: site/tmp/.htaccess
root@omega:/var/www/html/zwiicms# cd ~
root@omega:~# chown -R www-data:www-data /var/www/html/zwiicms
root@omega:~# ls -l /var/www/html
total 24
-rw-r--r-- 1 root root 10701 May 13 18:58 index.html
drwxr-xr-x 6 www-data www-data 4096 May 14 08:03 zwiicms

Depuis votre portable, ouvrez un navigateur à l'adresse http://192.168.0.126/zwiicms (Remplacez par votre adresse). Cela doit ouvrir la page d'installation de ZwiiCMS. Vous pouvez remplir les informations pour ZwiiCMS ou attendre pour plus tard.

Le site marche et est online sur votre réseau local. Il va falloir penser à lui donner un nom qui puisse remplacer 192.168.0.126.

  • Si le site est destiné à rester en local, vous pouver choisir ce que vous voulez. Pour utiliser son nom, vous devez trouver un mécanisme pour faire pointer le/les noms avec l'adresse ipv4 192.168.1.126. Vous pouvez :
    • installer un serveur de noms (dnsmasq est très simple - Vous modifier le fichier /etc/host de l'Xu4 et vous indiquez 192.168.0.126 comme premier DNS)
    • ou modifier le fichier host des machines qui auront accès au serveur Xu4 (Ajouter/modifier la ligne 192.168.0.126 nom1 nom2 nom3 ...).
  • Si vous souhaitez que votre site soit visible sur internet et votre fournisseur d'accès vous donne une ip variable, vous aurez besoin d'un service comme noip. Vous devez louer un nom de domaine payant ou gratuit (OVH - Gandi - Freenom ou peut être même votre fournisseur d'accès). Si vous avez déjà un nom de domaine, choissisez un nom de machine à ajouter à votre domaine. Il faut faire pointer ce nom de domain ou le nom complets de vos machines vers l'adresse IP de la box. (exemple avec OVH) : Console OVH Quelque soit votre choix vous devez pouvoir maintenant accèder à la page par défaut d'apache via http://VotreNom.

Ce nom (zwiicms ou zwiicms.local ou www.local ou www.domain.tld) est a renseigner à ServerName, votre adresse mail à ServerAdmin, le root du site zwiicms à /var/www/html/zwiicms.

Par exemple, pour le nom zwiicms.ducouet.fr, créez un fichier /etc/apache2/sites-available/020-zwiicms.conf qui contiendra :

<VirtualHost *:80>
    ServerName zwiicms.ducouet.fr
    ServerAdmin bruno@ducouet.fr
    DocumentRoot /var/www/html/zwiicms
    <Location />
            <LimitExcept GET POST>
                Order allow,deny
                Deny from all
            </LimitExcept>
    </Location>
    <Directory /var/www/html/zwiicms>
            AllowOverride All
            Require all granted
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Activez le site avec la commande a2ensite 020-zwiicms

root@omega:~# a2ensite 020-zwiicms

Et redémarrer le serveur

root@omega:~# systemctl restart apache2

De votre ordinateur portable, ouvrez votre navigateur à l'adresse http://VotreNom . Si vous êtes sensé être visible depuis internet, vous pouvez tester depuis un téléphone portable après avoir coupé le wifi du téléphone.