{{tag>Logiciel}}
====== Apache 2 : un serveur web HTTP ======
Le serveur web Apache permet de desservir les sites web sur Internet.
===== Pré-requis =====
* Disposer d'un utilisateur non root
* Quelques connaissances de base des protocoles HTTP, DNS et TCP/IP (adressage, sous-réseaux, etc.) ;
* Un réseau local en état de marche (IP attribuées, connexion à internet) ;
* Un serveur DNS configuré (pour le domaine).
L'arborescence du site se présente comme suit :
RACINE
|
#--www
|
#--html
|
+--site 1
+--site 2
#-- ...
===== Installation =====
**Mise à jour de la version 2.2 vers la version 2.4**
- **Paramètres de compilation** : les modules suivants ont été supprimés :
* **mod_authn_default**
* **mod_authz_default**
* **mod_mem_cache** remplacé par **mod_cache_disk**
- **Configuration à l'exécution**
- **Autorisation** :
* Les directives AuthzLDAPAuthoritative, AuthzDBDAuthoritative, AuthzDBMAuthoritative, AuthzGroupFileAuthoritative, AuthzUserAuthoritative et AuthzOwnerAuthoritative ont été remplacées par les directives **RequireAny**, **RequireNone**, et **RequireAll**.
* Si vous utilisez **mod_authz_dbm**, remplacez les directives du style Require group ... par des directives du style **Require dbm-group ....**
^ Remplacez ^ Par ^ Explications ^
| Order deny,allow\\ Deny from all | **Require all denied** | pas d'authentification\\ toutes les requêtes sont rejetées |
| Order allow,deny\\ Allow from all | **Require all granted** | pas d'authentification\\ toutes les requêtes sont acceptées |
| Order Deny,Allow\\ Deny from all\\ Allow from example.org | **Require host example.org** | pas d'authentification\\ tous les hôtes du domaine example.org ont l'autorisation d'accès\\ tous les autres sont rejetés |
| MaxRequestsPerChild | **MaxConnectionsPerChild** | |
| MaxClients | **MaxRequestWorkers** | |
| DefaultType | | |
===== Configuration =====
Apache2 se fonde sur les hôtes virtuels qui sont indispensables.
Il faut créer un hôte virtuel (//VirtualHost//) pour chaque projet.
Il ne faut pas lancer les sites locaux par %%http://localhost/projet1/%% ou %%http://localhost/projet2/%% mais par un hôte virtuel pour chacun : **%%http://projet1/%%** ou **%%http://projet2/%%**
- **[[logiciel:reseau:http:serveur:apache:vhost:start]]**
- **Modules**
- **[[logiciel:reseau:http:serveur:apache:vhostalias:start]]**
===== Utilisation =====
===== Désinstallation =====
===== Problèmes connus =====
??? Augmenter la taille d'upload d'un virtualhost sans modifier php.ini
!!! **Voici une méthode que l'on pourra appliquer à chaque site indépendamment**.
Éditez avec les droits d'administration le fichier **/etc/apache2/site-available/monsite.tld.conf** pour y ajouter ceci :
php_admin_value upload_max_filesize 128M
php_admin_value post_max_size 128M
php_admin_value max_execution_time 360
php_admin_value max_input_time 360
Le résultat :
ServerAdmin admin@mon-domaine.com
ServerName monserveur.mon-domaine.com
DocumentRoot /usr/share/phpmyadmin
php_admin_value upload_max_filesize 128M
php_admin_value post_max_size 128M
php_admin_value max_execution_time 360
php_admin_value max_input_time 360
??? Augmenter la taille d'upload en modifiant php.ini
!!! Éditez avec les droits d'administration le fichier **/etc/php/8.1/fpm/pool.d/www.conf** pour ajouter ceci à la fin :
...
php_admin_value[upload_max_filesize] = 1000M
php_admin_value[memory_limit] = 10000M ;128M
php_admin_value[post_max_size] = 1000M
**redémarrez le service PHP8.0**
???
===== Voir aussi =====
* **(fr)** [[http://httpd.apache.org/docs/2.4/|Documentation du Serveur HTTP Apache Version 2.4]]
* **(fr)** [[https://www.vincentliefooghe.net/content/configuration-apache-24-php-fpm|Configuration Apache 2.4 / PHP-FPM]] (très clair, à jour)
* **(fr)** [[https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-18-04|How To Install the Apache Web Server on Ubuntu 18.04]]
* **(fr)** [[https://httpd.apache.org/docs/trunk/fr/upgrading.html|Mise à jour de la version 2.2 vers la version 2.4]]
* **(fr)** [[https://httpd.apache.org/docs/trunk/fr/new_features_2_4.html|Vue d'ensemble des nouvelles fonctionnalités de la version 2.4 du serveur HTTP Apache]]
----
//Basé sur << [[http://Article|Article]] >> par Auteur.//