Création du serveur web - NicolasGlassey/PROJWEB_WEBELWEISS GitHub Wiki
Création du serveur web
Introduction
Pour crée le serveur web, il est nécessaire d'installer plusieurs éléments différents.
Premièrement il est indispensable d'avoir une machine sur la quel installer le serveur (Debian 10), en second il est important de mettre é jour le Firewall et installer apache2.
En troisième il est possible d'installer une base de donnée (MariaDB) or dans le projet de webelweiss il n'est pas utile, donc pas expliquer ci-dessous ample information sur https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mariadb-php-lamp-stack-on-debian-10.
En quatrième il faut installer PHP8, afin de pouvoir lire correctement les fichiers.
En cinquième point il faut installer un Virtual Host pour notre serveur.
En dernier point il faut effectuer les tests.
Liens utiles
Installation de Apache et autres installation: https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mariadb-php-lamp-stack-on-debian-10
Mise à jour du Firewall : https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-10#step-4-%E2%80%94-setting-up-a-basic-firewall
Installation de PHP8 : https://www.itzgeek.com/post/how-to-install-php-8-0-on-debian-10-debian-9.html
Installation de Debian 10
Pour installer de Debian 10 il nous faut aller chercher le fichier iso sur le site de Debian.
Une fois le fichier télécharger, il faut aller VMware Workstation et installer Debian 10, garder les installation par défaut et installer les option nécessaire au serveur.
Mettre a jour le Firewall et installer apache2
Apache est un logiciel de server HTTP, utiliser principalement sur linux.
- Installez Apache à l'aide du gestionnaire de paquets Debian, APT:
$ sudo apt update
$ sudo apt install apache2
- Mettre à jour le Firewall
Vous retrouvez toutes les commande utiliser ici pour le Firewall: https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-10#step-4-%E2%80%94-setting-up-a-basic-firewall
$ sudo apt update
$ sudo apt install ufw
Il est possible de voir la liste des élément télécharger avec cette commande:
$ sudo ufw app list
Vous devriez voir : OpenSSH, WWW, WWW Cache, WWW Full, WWW Secure
Il est important de s'assurer que le pare-feu autorise les connexions SSH afin que nous puissions nous reconnecter la prochaine fois.
$ sudo ufw allow OpenSSH
Ensuite il faut activer le Firewall.
$ sudo ufw enable
Il est possible de vérifier que les connexions SSH sont toujours autorisées en tapant:
$ sudo ufw status
- Suite Apache2
Inspectez le profil WWW Full, il montre qu'il autorise le trafic vers les ports 80 et 443:
$ sudo ufw app info "WWW Full"
Autoriser le trafic HTTP et HTTPS entrant pour ce profil:
$ sudo ufw allow in "WWW Full"
Tester si votre installation est correct en vous connectant sur le navigateur, dans la barre de navigation taper votre adresse IP vous dévrillez voir la page par défaut de Apache.
Installation de PHP8
Vous retrouvez toutes les commande utiliser ici pour PHP8: https://www.itzgeek.com/post/how-to-install-php-8-0-on-debian-10-debian-9.html
$ sudo apt update
Installez les packages
$ sudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https
$ sudo wget https://packages.sury.org/php/apt.gpg
$ sudo apt-key add apt.gpg
Ajoutez le référentiel SURY à votre système.
$ echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php8.list
$ sudo apt update
Installez PHP8.
$ sudo apt install -y php8.0 php8.0-cli php8.0-common
Vérifiez la version de PHP.
$ php -v
Installez le package ci-dessous avec le serveur Web Apache pour prendre en charge PHP.
$ sudo apt install -y apache2 libapache2-mod-php8.0
Création d'un Virtual Host
Créez le répertoire Web racine de votre_domaine comme suit.
$ sudo mkdir /var/www/your_domain
Ensuite, attribuez la propriété du répertoire avec la variable d'environnement $ USER, qui doit référencer votre utilisateur système actuel.
$ sudo chown -R $USER:$USER /var/www/your_domain
Ensuite, ouvrez un nouveau fichier de configuration dans le répertoire disponible sur les sites d’Apache à l’aide de votre éditeur de ligne de commande préféré.
$ sudo nano /etc/apache2/sites-available/your_domain.conf
<VirtualHost *:80>
ServerName your_domain
ServerAlias www.your_domain
ServerAdmin webmaster@localhost
DocumentRoot /var/www/your_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Avec cette configuration VirtualHost, nous demandons à Apache de servir votre_domaine en utilisant / var / www / votre_domaine comme répertoire racine Web. Si vous souhaitez tester Apache sans nom de domaine, vous pouvez supprimer ou commenter les options ServerName et ServerAlias en ajoutant un caractère # au début des lignes de chaque option.
Activer l'hôte virtuel.
$ sudo a2ensite your_domain
Désactiver le site web installer par défaut par apache.
$ sudo a2dissite 000-default
Faire un config test afin d'être sur que il n'y aie aucune erreur.
$ sudo apache2ctl configtest
Finalement redémarrer apache.
$ sudo systemctl reload apache2
Installation de git
$ sudo apt-get install git
Test
Test de la configuration de php.
$ nano /var/www/your_domain/info.php
http://your_domain/info.php
Vous devriez tomber sur une page similaire. https://assets.digitalocean.com/articles/lamp_debian10/phpinfo_debian10_lamp.png
Clonage du projet et pull du site
- se positionner dans le dossier
- faire un git clone du projet
- avec un sous dossier contenant le code vous devrez changer dans les paramètre apache le chemin de fichier
$ sudo nano /etc/apache2/sites-available/webelweiss.diduno.education.conf
changer en DocumentRoot /var/www/your_domain/dossier
- Pour pull le site vous devez vous positionner dans le dossier et faire un git pull
Commandes utiles
Pour trouver la configuration de apache:
$ sudo nano /etc/apache2/sites-available/webelweiss.diduno.education.conf
Trouver les erreurs apache :
$ tail -f /var/log/apache2/error.log