====== Apache2 ====== * Objet : Présentation du serveur web Apache2 * Niveau requis : {{tag>avisé}} * Commentaires : //Une présentation rapide d'Apache2 avec des liens vers des tutos et de la documentation pour en apprendre plus.// * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) * Suivi : {{tag>}} * Création par [[user>captnfab]] 01/10/2023 * Testé par <...> le <...> * Commentaires sur le forum : ===== Introduction ===== Apache2 est un serveur web, c'est à dire un logiciel qui répond aux requêtes [[https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol|HTTP]] et [[https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol_Secure|HTTPS]] qui lui sont posées par un client HTTP, par exemple un navigateur comme [[:doc:reseau:firefox|Firefox]], ou un outil tel [[:doc:reseau:wget|wget]]. Il possède plusieurs fonctionnalités intéressantes. * Il peut tout simplement servir des fichiers statiques (HTML, CSS, JPEG, etc.) stockés dans un dossier. C'est le comportement par défaut après une installation propre. * Il peut s'occuper de recevoir toutes les requêtes venant d'une interface publique, comme ''https://debian-facile.org/'' et les retransmettre vers des serveurs spécialisés pour telle ou telle tâche (collab, forum, wiki, etc.). On parle alors de //reverse proxy//, et en particulier de //point de terminaison SSL// si les requêtes arrivent et partent en HTTPS de l'extérieur, mais que les échanges à l'intérieur se font simplement en HTTP. * Il peut s'occuper d'exécuter du code source (ex. PHP) ou des binaires pour que ces applications génèrent dynamiquement du HTML ou d'autres formats de fichiers à renvoyer à l'utilisateur. * Il peut servir plusieurs sites web en parallèle, en se fiant au nom d'hôte demandé. Et bien sûr, toutes ces fonctionnalités peuvent être utilisées en parallèle, via l'activation ou l'activation de modules. ===== Installation ===== apt install apache2 ===== Utilisation ===== L'utilisation étant complexe, elle fera l'objet de tutoriels dédiés. Ne sont présentés ici que les commandes de base. ==== Le service apache2 ==== Par défaut après l'installation, //apache2// se lance automatiquement à chaque démarrage. Comme pour tous les services, on peut l'activer, désactiver, redémarrer, recharger via //systemctl//. Exemple: pour recharger la configuration sans redémarrer le serveur: systemctl reload apache2 On note que lorsque l'on active ou désactive des modules, un redémarrage (''restart'') est nécessaire plutôt qu'un simple rechargement (''reload''). Les logs du serveur sont accessibles via journalctl -xeu apache2 et les logs des différents sites sont en principe accessibles dans ''/var/log/apache2/''. ==== Commandes d'administration ==== Les différents sites (//VirtualHost//s) sont à configurer dans ''/etc/apache2/sites-available/'', et on active/désactive le fichier ''/etc/apache2/sites-available/debian.conf'' via les commandes a2ensite debian a2dissite debian De même, les différents modules et configurations sont dans ''/etc/apache2/mods-available/'' et ''/etc/apache2/conf-available/'' et s'activent/désactive via a2enmod nom_du_module a2dismod nom_du_module a2enconf nom_de_la_conf a2disconf nom_de_la_conf ===== Tutoriels ===== Les tutoriels suivants sont probablement obsolètes. * [[:doc:reseau:apache2:multisite|Configuration multi-site]] * [[:doc:reseau:apache2:tp01|Un TP]] * [[:doc:reseau:apache2:redirection|Configuration d'une redirection]] * [[:doc:reseau:apache2:apache2.4|Configuration Apache 2.4]]