Le serveur HTTP Apache (Apache) est l'un des logiciels de serveur Web multiplateforme gratuits et open source les plus populaires, publié sous les termes de la licence Apache 2.0. Apache est populaire dans le cadre de la configuration LAMP, étant le A dans l'acronyme. La fonctionnalité du serveur apache peut être étendue avec les nombreux modules disponibles.
PHP est un langage de script à usage général orienté vers le développement Web. C'est l'un des langages de programmation populaires pour le Web. Les outils populaires tels que WordPress sont codés en php. Les grandes entreprises comme Facebook utilisent également fortement php.
Contenu connexe
- Comment installer et configurer PHP et Apache (pile LAMP) sur Ubuntu 20.04
- Comment installer Apache et PHP (pile LAMP) sur Rocky Linux/Centos 8
- Comment installer et configurer PHP et Nginx (LEMP) sur Debian 11
Prérequis
Pour suivre ce guide, assurez-vous d'avoir les éléments suivants :
- Un serveur Debian 11 mis à jour
- Accès racine au serveur ou utilisateur avec accès sudo
- Accès Internet
Table des matières
- S'assurer que le serveur est à jour
- Installer PHP sur Debian 11
- Installer Apache sur Debian 11
- Configuration de l'hôte virtuel
1. S'assurer que le serveur est à jour
Avant de continuer, il est toujours recommandé de s'assurer que le serveur est à jour. Utilisez ces commandes pour y parvenir
sudo apt update
sudo apt upgrade -y
2. Installer PHP sur Debian 11
PHP est disponible dans les dépôts Debian 11 par défaut. La dernière version de PHP au moment de la rédaction de ce blog est PHP 7.4.
Installez PHP et certains packages courants à l'aide de cette commande :
sudo apt install -y \
php \
php-common \
php-cli
Vérifiez la version installée de PHP
$ apt-cache policy php
php:
Installed: 2:7.4+76
Candidate: 2:7.4+76
Version table:
*** 2:7.4+76 500
500 http://cdn-aws.deb.debian.org/debian bullseye/main amd64 Packages
100 /var/lib/dpkg/status
Vérifiez la version php installée à l'aide de cette commande :
$ php -v
PHP 7.4.25 (cli) (built: Oct 23 2021 21:53:50) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.25, Copyright (c), by Zend Technologies
3. Installer apache sur Debian 11
Les packages Apache sont disponibles dans les référentiels par défaut de Debian 11 en tant que apache2
. Installez-le à l'aide de cette commande :
sudo apt install -y apache2
Confirmez les packages installés à l'aide de cette commande :
$ apt-cache policy apache2
apache2:
Installed: 2.4.51-1~deb11u1
Candidate: 2.4.51-1~deb11u1
Version table:
*** 2.4.51-1~deb11u1 500
500 http://security.debian.org/debian-security bullseye-security/main amd64 Packages
100 /var/lib/dpkg/status
2.4.48-3.1+deb11u1 500
500 http://cdn-aws.deb.debian.org/debian bullseye/main amd64 Packages
Le service sera démarré par défaut. Vérifiez l'état à l'aide de cette commande :
$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-12-14 03:01:04 UTC; 5min ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 19103 (apache2)
Tasks: 6 (limit: 4626)
Memory: 12.8M
CPU: 59ms
CGroup: /system.slice/apache2.service
├─19103 /usr/sbin/apache2 -k start
├─19105 /usr/sbin/apache2 -k start
├─19106 /usr/sbin/apache2 -k start
├─19107 /usr/sbin/apache2 -k start
├─19108 /usr/sbin/apache2 -k start
└─19109 /usr/sbin/apache2 -k start
Dec 14 03:01:04 ip-10-2-40-188 systemd[1]: Starting The Apache HTTP Server...
Dec 14 03:01:04 ip-10-2-40-188 systemd[1]: Started The Apache HTTP Server.
Pour activer le service au démarrage, utilisez cette commande
sudo systemctl enable apache2
Pour confirmer qu'Apache est installé et fonctionne correctement, veuillez visiter l'adresse IP du serveur dans le navigateur (http://server_ip). Si vous ne connaissez pas l'adresse IP du serveur, obtenez-la en utilisant cette commande dans votre terminal :
curl -4 icanhazip.com
Si tout va bien, vous devriez voir la page par défaut Apache2 Debian .
4. Configuration des hôtes virtuels
Avec Apache, il est possible d'héberger plusieurs sites sur le même serveur sur lequel Apache s'exécute. Ceci peut toujours être réalisé en utilisant plusieurs domaines représentant chacun un site hébergé par le serveur.
Les hôtes virtuels Apache sont similaires aux blocs de serveur Nginx. Chaque hôte virtuel aura des détails de configuration pour un seul hôte. Vous pouvez avoir autant d'hôtes virtuels que vous le souhaitez.
Dans cet exemple, nous utiliserons le domaine site1.citizix.com
pour l'hôte virtuel mais soyez libre d'utiliser le domaine de votre choix. Veuillez noter que le DNS du domaine à utiliser doit déjà être configuré pour pointer vers l'adresse IP du serveur.
Confirmez cela avec :
dig -t A site1.citizix.com
Création d'un répertoire et d'exemples de contenu
La page par défaut d'Apache est configurée comme un hôte virtuel par défaut servant le contenu de /var/www/html
. Il est recommandé de créer le répertoire de votre site dans le /var/www
car c'est une bonne pratique de servir à partir de là.
Créons un répertoire pour notre site avec la commande suivante :
sudo mkdir /var/www/site1.citizix.com
Créons un simple index.php
page à servir à partir de notre site. Vous aurez besoin de vim pour que cela fonctionne, sinon utilisez cette commande :
sudo apt install -y vim
Modifier le fichier :
sudo vim /var/www/site1.citizix.com/index.php
Ajouter du contenu au fichier :
<?php phpinfo(); ?>
Enfin, assurons-nous que le $USER
l'utilisateur est propriétaire du répertoire du site :
sudo chown -R $USER:$GROUP /var/www/site1.citizix.com
Création d'un hôte virtuel
Les fichiers d'hôte virtuel Apache spécifient la configuration de chaque site et indiquent au serveur Web Apache comment répondre aux différentes demandes de domaine.
Les configurations Apache seront stockées dans le répertoire /etc/httpd/conf.d/
. Créons une configuration pour notre site :
sudo vim /etc/apache2/sites-available/site1.citizix.com.conf
Ajoutez le contenu suivant :
<VirtualHost *:80>
ServerName site1.citizix.com
ServerAlias site1.citizix.com
DocumentRoot /var/www/site1.citizix.com
DirectoryIndex index.php
ErrorLog /var/log/apache2/site1.citizix.com.error.log
CustomLog /var/log/apache2/site1.citizix.com.requests.log combined
</VirtualHost>
Cela indiquera à Apache ce qui suit :
ServerName
etServerAlias
– nom de l'hôte à servirDocumentRoot
– où trouver directement la racine qui contient les documents Web accessibles au publicDirectoryIndex
– Le fichier qu'apache servira lors de l'accès au siteErrorLog
– où stocker les journaux d'erreurs pour ce siteCustomLog
– où stocker les journaux de requêtes pour ce site particulier
Enregistrez et fermez le fichier lorsque vous avez terminé
Activer le site
$ sudo a2ensite site1.citizix.com
Enabling site site1.citizix.com.
To activate the new configuration, you need to run:
systemctl reload apache2
Rechargez ensuite la configuration apache2
sudo systemctl reload apache2
Tester l'hôte virtuel
Maintenant que la configuration est en place, nous devons tester que tout fonctionne comme prévu. Depuis que nous avons créé le index.php
fichier ci-dessus, laissez-nous y accéder en accédant à http://server_url/
. Dans mon cas, c'est http://site1.citizix.com/
. Vous devriez voir la page d'informations php.
Conclusion
Dans ce guide, nous avons réussi à configurer Apache pour servir le site PHP sur un serveur Debian 11.