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 associé :
- Comment installer et configurer PHP et Apache (pile LAMP) sur OpenSUSE Leap 15.3
- Comment installer la pile Apache PHP 7.4 (LAMP) sur Rocky Linux/Centos 8
- Comment installer et configurer PHP et Nginx (LEMP) sur OpenSUSE Leap 15.3
- Comment installer et configurer PHP et Nginx (LEMP) sur Ubuntu 20.04
- Comment installer et configurer PHP et Apache (pile LAMP) sur Debian 11
- Comment installer et configurer PHP et Nginx (LEMP) sur Debian 11
- Comment installer et configurer PHP et Nginx (LEMP) sur Rocky Linux/Alma Linux 8
Prérequis
Pour suivre ce guide, assurez-vous d'avoir les éléments suivants :
- Un serveur Ubuntu 20.04 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 Ubuntu 20.04
- Installer Apache sur Ubuntu 20.04
- 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 Ubuntu 20.04
PHP est disponible dans les repos Ubuntu 20.04 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+75
Candidate: 2:7.4+75
Version table:
*** 2:7.4+75 500
500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu focal/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.3 (cli) (built: Nov 25 2021 23:16:22) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
3. Installer apache sur Ubuntu 20.04
Les packages Apache sont disponibles dans les dépôts par défaut d'Ubuntu 20.04 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.41-4ubuntu3.8
Candidate: 2.4.41-4ubuntu3.8
Version table:
*** 2.4.41-4ubuntu3.8 500
500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
100 /var/lib/dpkg/status
2.4.41-4ubuntu3.6 500
500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
2.4.41-4ubuntu3 500
500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu focal/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 Thu 2021-12-16 18:36:59 UTC; 1min 8s ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 33818 (apache2)
Tasks: 6 (limit: 4631)
Memory: 10.3M
CGroup: /system.slice/apache2.service
├─33818 /usr/sbin/apache2 -k start
├─33821 /usr/sbin/apache2 -k start
├─33822 /usr/sbin/apache2 -k start
├─33823 /usr/sbin/apache2 -k start
├─33824 /usr/sbin/apache2 -k start
└─33825 /usr/sbin/apache2 -k start
Dec 16 18:36:59 ip-10-2-40-129 systemd[1]: Starting The Apache HTTP Server...
Dec 16 18:36:59 ip-10-2-40-129 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 d'Apache2 Ubuntu .
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 /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 Ubuntu 20.04.