https://github.com/camara94/metterenplaceapache2
Dans ce projet, je vais illustrer l'installation d'apache sur notre serveur **VPS**, Apache est un logiciel de serveur web gratuit et open-source qui alimente environ 46% des sites web à travers le monde. Le nom officiel est Serveur Apache HTTP et il est maintenu et développé par Apache Software Foundation
https://github.com/camara94/metterenplaceapache2
apache2 debian linux ubuntu
Last synced: 2 months ago
JSON representation
Dans ce projet, je vais illustrer l'installation d'apache sur notre serveur **VPS**, Apache est un logiciel de serveur web gratuit et open-source qui alimente environ 46% des sites web à travers le monde. Le nom officiel est Serveur Apache HTTP et il est maintenu et développé par Apache Software Foundation
- Host: GitHub
- URL: https://github.com/camara94/metterenplaceapache2
- Owner: camara94
- License: mit
- Created: 2021-04-27T04:04:28.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2021-05-01T20:00:54.000Z (about 5 years ago)
- Last Synced: 2025-04-09T14:46:15.436Z (about 1 year ago)
- Topics: apache2, debian, linux, ubuntu
- Homepage:
- Size: 1.84 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Mettre en place apache2
Dans ce projet, je vais illustrer l'installation d'apache sur notre serveur **VPS**,
## INSTALLATION D’APACHE 2
nous en profitons pour installer aussi le langage PHP et le module Apache associé :
sudo apt-get install apache2
sudo apt-get install php
sudo apt-get install libapache2-mod-php
Après avoir installé apache2 et PHP, nous allons dans le dossier **var** puis dans le dossier **www** qui va servir de container pour nos site web
cd /var/www
Attribuez à cet utilisateur les droits sur le dossier **/var/www**
sudo chown -R www-data:www-data /var/www
Pour vérifier le statut de notre serveur, lançons la commande suivante :
sudo service apache2 status
oubien
sudo systemctl status apache2
Résultat:

qui montre que apache2 est installé et est lancé également, après cela nous pouvons vérifier notre **adress ip** dans le navigateur
http://152.228.217.119/
Aperçu:

Nous voyons ici que notre serveur Apache2 est bien démarré et, par défaut, il se relancera automatiquement à chaque démarrage de notre VPS.
Pour avoir la doc, il faut l'installer l'utilitaire:
sudo apt-get install apache2-doc
## Quelques commandes utiles
* Pour vérifier la version de votre serveur Web, tapez :
sudo apache2ctl -v

* Pour obtenir un statut détaillé du serveur :
sudo apachectl status
* Pour arrêter, lancer ou relancer votre serveur:
sudo service apache2 stop
sudo service apache2 start
sudo systemctl reload apache2
* Pour vérifier les modules chargés d’Apache2 :
sudo apache2ctl -M

* Enfin si nous ne souhaitons pas redémarrer Apache2 au démarrage de votre VPS :
sudo systemctl disable apache2
* A l’inverse pour réactiver le service :
sudo systemctl enable apache2
## LA CONFIGURATION
Les fichiers de configuration de notre serveur se situent dans le répertoire **/etc/apache2**:
/etc/apache2/
|-- mods-enabled
|-- conf-enabled
|-- sites-enabled
* Trois dossiers sont disponibles:
1. **mods-enabled** : pour les fichiers de configuration des **modules** d’Apache
2. **conf-enabled** : pour fichiers de configuration des **services** disponibles
3. **sites-enabled** : pour les fichiers de configuration des **sites** disponibles
>**Note** : ces répertoires sont en fait des liens symboliques vers ->les répertoires physiques **mods-available**, **conf-available** >et **sites-available**.
Il y aura au minimum autant de fichiers de configuration dans **sites-enabled** que de sites proposés.
* Au départ il y a un seul site avec les fichiers suivants :
/etc/apache2/
|-- sites-enabled
|-- 000-default.conf
|-- default-ssl.conf
1. **000-default.conf** : configuration utilisée par le mode HTTP (port 80)
2. **default-ssl.conf** : configuration utilisée par le mode HTTPS (port 443)
* Le contenu de la configuration HTTP est la suivante :
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
1. La balise VirtualHost permet de définir un hôte virtuel qui écoutera sur le port **80 (HTTP)**.
2. DocumentRoot indique le chemin des pages web qui seront accessibles sur le serveur : **/var/www/html**
* Apache recommande de créer un fichier de configuration pour chaque hôte virtuel ou application web dans le répertoire **/etc/apache2/sites-available/**
* correspondant à **«000-default.conf»** via les commandes, nous pouvons l'activer et le desactiver **a2ensite (enable site)** et **a2dissite (disable site)**:
sudo a2ensite 000-default
sudo a2dissite 000-default
* De même nous pouvons **activer / désactiver** la configuration correspondant par exemple à **charset.conf** en tapant :
sudo a2enconf charset
sudo a2disconf charset
* Et enfin, nous pouvons **activer / désactiver** le module correspondant par exemple à **alias.load**
sudo a2enmod alias
sudo a2dismod alias
* Chaque modification nécessitera une prise en compte des changements via la commande suivante :
sudo systemctl reload apache2
Notons enfin les deux fichiers de configuration ci-dessous :
/etc/apache2/
|-- apache2.conf
|-- ports.conf
1. **apache2.conf** : configuration générale du serveur (timeout du serveur, utilisateur www-data, niveau de log, …)
2. **ports.conf** : configuration de la liste des ports en écoute (80 et 443 par défaut)
## MODULE PHP
Par défaut ubuntu 18.04 TLS propose PHP 7.2.24 qui est une version assez ancienne. Voici comment faire pour avoir une version récente (la 7.4).
* Pour vérifier la version
php -v

* Enfin installons les modules pour **Apache / MariaDB :**
sudo apt install -y apache2 libapache2-mod-php
sudo apt install -y php7.4-mysql
* Vérifions que le module PHP est bien activé :
sudo apache2ctl -M | grep php
* Relançons notre serveur Apache pour prendre en compte ces modifications
sudo systemctl restart apache2
* Nous pouvons vérifier par une simple page PHP, les informations relatives à votre serveur.
Editez la page PHP suivante :
cd /var/www/html/
sudo vi getinfo.php
* Et indiquez la commande :
<?php phpinfo(); ?>
* Vérifier avec http://152.228.217.119/getinfo.php

## Configuration de nom de domaine
Je vais d'abord dans notre serveur **OVH** dans la section **Zone DNS**

puis je clique sur le bouton **Ajouter une entrée**, je choisie champs de pointage **A** pour pouvoir ajouter l'adresse **IP4** de notre **VPS** dans sous-domaine je sais **www**

Et en je confirme

après cette étape, nous pouvons voir que notre site **stardevcgroup.com** pointe maintenant vers **152.228.217.119** pour vérifier il nous sufit de tester ces deux urls suivante
* http://152.228.217.119
* http://stardevcgroup.com
nous constatons directement que ces deux urls affiche le même résultat au navigateur
## Création d'un hôte virtuel
Pour cela nous allons maintenant acceder à notre **VPS** en **SSH**
dans cet article j'ai choisir l'outil **MobaXterm** qui a une version gratuite qui fait notre affaire mais on pouvait choisir **Putty** qui est aussi intéressant.

Pour ajouter session il suffit de cliquer sur **session** il nous sera demandé votre nom **d'hôte** et **username** puis lorsque nous cliquons sur **OK** il nous demande votre **mot de passe** enfin et lors de prochaine connexion nous n'aurons plus besoin de les retaper.

Aperçu de **MobaXterm** une fois logged dans notre **VPS**

Après quelques manup j'obtiens ça qui n'est pas si mal

* On créer le dossier **stardevcgroup.com** qui va héberger les fichier de notre site
cd /var/ww
mkdir stardevcgroup.com
cd stardevcgroup.com
touch index.html
nano index.html
et puis je vais ajouter **Bienvenue sur Star Dev Cloud Group**

Pour activer notre site vers ce dossier, nous allons dans **/etc/apache2/sites-enabled** et l'interieur de ce dossier on créer un fichier **startdevcgroup.com.conf**
cd /etc/apache2/sites-enable
nano stardevcgroup.com

Dans ce fichier les deux qui sont essentielles sont:
* **ServerName** qui indique l'URL du site ou le nom de domaine
* **DocumentRoot** indique le dossier qui héberge notre site ou tout simplement la racine de notre site
si vous voulez en savoir plus [Cliquez ici](https://github.com/camara94/AdministrationdunserveurLAMP#pour-la-cr%C3%A9ation-dun-h%C3%B4te-virtuel)
* Pour activer cette configuration ap