le Service Apache2
| Configuration | ||||
|---|---|---|---|---|
| sudo apt-get install apache2 | installer apache2 | |||
| Options | [+|-] FollowSymLinks | active ou désactive les liens symboliques | ||
| AllowOverride | None | |||
| Require | [ all denied | all granted ] | choisi le partage par default, soit c'est par restriction ou par autorisations | ||
| Options | [+|-] Indexes | autorise ou interdit l'indexation des dossier (lister les fichiers) | ||
| Options | [+|-] Indexes | autorise ou interdit l'indexation des dossier (lister les fichiers) | ||
| AccessFileName | .htaccess | Le nom du fichier à rechercher dans chaque répertoire# pour des directives de configuration supplémentaires. Voir aussi le AllowOverride# directive. | ||
| Timeout | 300 | Le nombre de secondes avant la réception et l'envoi du délai. | ||
| KeepAlive | On | autorise ou non les connexions persistantes (plus de une demande par connexion). Réglez sur «Off» pour désactiver. | ||
| MaxKeepAliveRequests | 100 | Le nombre maximum de requêtes à autoriser lors d'une connexion persistante. Réglez sur 0 pour autoriser un montant illimité. | ||
| KeepAliveTimeout | 5 | nombre de secondes à attendre la prochaine requête du # même client sur la même connexion. | ||
| ErrorLog | ${APACHE_LOG_DIR}/error.log | emplacement du fichier journal des erreurs. | ||
| LogLevel | warn | contrôle la gravité des messages consignés dans le journal des erreurs. Valeurs disponibles: trace8, ..., trace1, debug, info, notice, warn, erreur, critique, alerte, émergence. Il est également possible de configurer le niveau de journalisation pour des modules particuliers, par ex. "Informations de niveau journal ssl: avertir" | ||
| controler un dossier |
<Directory /WEB> Options -Indexes -FollowSymLinks AllowOverride None Require all granted </Directory> | permet de gérer un dossier indépendamment de l'architecture générale | ||
| Droits système | ||||
|---|---|---|---|---|
| sudo chown -R www-data:www-data Vers_votre_racine (/var/www/monsite) | donne les droits à www-data et au groupe | |||
| sudo find Vers_votre_racine -type d -exec chmod 755 {} \; | Donne les droits 755 à tout les repertoires | |||
| sudo find Vers_votre_racine -type f -exec chmod 644 {} \; | Donne les droits 644 à tout les fichiers | |||
| Redirection d'une erreur | ErrorDocument | Type | Code | explication | ErrorDocument 500 /error/404.html |
|---|---|---|---|---|
| Information | 100 | Continue | ||
| 101 | Switching protocols | |||
| 102 | Processing | |||
| 103 | Early hints | |||
| Success | 200 | OK | ||
| 201 | Created | |||
| 202 | Accepted | |||
| 204 | No content | |||
| 206 | Partial Content | |||
| Redirect | 300 | Multiple choices | ||
| 301 | Moved Permanently | |||
| 304 | Not Modified | |||
| 307 | Temporary Redirect | |||
| 308 | Permanent Redirect | |||
| Client Error | 400 | Bad Request | ||
| 401 | Unauthorized | |||
| 403 | Forbiden | |||
| 404 | Not Found | |||
| 409 | Conflict | |||
| Server Error | 500 | Internal Server Error | ||
| 501 | Not Implemented | |||
| 502 | Bad Gateway | |||
| 503 | Service Unevalable | |||
| 504 | Gateway Timeout | |||
| Les log Apache | ||||
|---|---|---|---|---|
| Spécification du format des entrées du journal des erreurs | ErrorLogFormat [connection|request] format | Niveau de log | Description | |
| emerg | Urgences - le système est inutilisable. | |||
| alert | Des mesures doivent être prises immédiatement. | |||
| crit | Conditions critiques. | |||
| error | Erreurs. | |||
| warn | Avertissements. | |||
| notice | Evènement important mais normal. | |||
| info | Informations. | |||
| debug | Messages de débogage. | Chaîne de format | Description | |
| %% | Le signe pourcentage | |||
| %a | Adresse IP et port clients | |||
| %{c}a | Port et adresse IP sous-jacents du correspondant pour la connexion (voir le module mod_remoteip) | |||
| %A | Adresse IP et port locaux | |||
| %{name}e | Variable d'environnement de requête name | |||
| %E | Etat d'erreur APR/OS et chaîne | |||
| %F | Nom du fichier source et numéro de ligne de l'appel du journal | |||
| %{name}i | En-tête de requête name | |||
| %k | Nombre de requêtes persistantes pour cette connexion | |||
| %l | Sévérité du message | |||
| %L | Identifiant journal de la requête | |||
| %{c}L | Identifiant journal de la connexion | |||
| %{C}L | Identifiant journal de la connexion si utilisé dans la portée de la connexion, vide sinon | |||
| %m | Nom du module qui effectue la journalisation du message | |||
| %M | Le message effectif | |||
| %{name}n | Note de requête name | |||
| %P | Identifiant du processus courant | |||
| %T | Identifiant du thread courant | |||
| %{g}T | Identifiant unique de thread système du thread courant (l'identifiant affiché par la commande top par exemple ; seulement sous Linux pour l'instant) | |||
| %t | L'heure courante | |||
| %{u}t | L'heure courante avec les microsecondes | |||
| %{cu}t | L'heure courante au format compact ISO 8601, avec les microsecondes | |||
| %v | Le nom de serveur canonique ServerName du serveur courant. | |||
| %V | Le nom de serveur du serveur qui sert la requête en accord avec la définition de la directive UseCanonicalName. | |||
| \ (anti-slash espace) | Espace non délimiteur | |||
| % (pourcentage espace) | Délimiteur de champ (aucune sortie) | |||
| LogFormat "%h %l %u %t \"%r\" %>s %b" common | Le nom de connexion distante, L'utilisateur distant, Date à laquelle la requête a été reçue, La première ligne de la requête , Le status de la dernière requête, La taille de la réponse en octets | |||
| configuration générale des écoutes | ||||
|---|---|---|---|---|
| /etc/apache2/sites-available/000-default.conf OU /etc/apache2/sites-enable/000-default.conf | ||||
| <VirtualHost *:80> </VirtualHost> | defini une écoute type sur un port | |||
| ServerName | www.domotrix.fr | Nom d'hôte et port que le serveur utilise pour s'authentifier lui-même | ||
| ServerAdmin | n0_reply@live.fr | L'adresse électronique que le serveur inclut dans les messages d'erreur envoyés au client | ||
| DocumentRoot | /WEB | le chemin root du mappage d'apache | ||
| exemple | conf du port 80 |
<VirtualHost *:80> (le port sur lequel s'applique les directives) <Directory /> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ServerName www.domotrix.fr Redirect permanent "/" "https://www.domotrix.fr" ServerAdmin schnellbach.tanguy@ac-amiens.fr DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
||
| demenagement de la racine (changer le repertoire racine d'apache2) | ||||
|---|---|---|---|---|
| fichier de configuration des variables de apache2 | ||||
| mkdir /home/hostname/websites | création d'un repertoire | |||
| chown www-data /home/hostname/websites -Rf | on donne les droit en récursif à l'user www-data | |||
| sudo chmod 700 -R /home/hostname/websites | on change les droit des fichiers | |||
| sudo nano /etc/apache2/sites-available/000-default.conf | Documentroot « /home/hostname/websites » | |||
| sudo nano /etc/apache2/apache2.conf | Directory /home/hostname/websites | |||
| RewriteEngine On RewriteCond %{HTTP_HOST} ^domotrix\.fr [NC] RewriteRule ^(.*)$ https://www.domotrix.fr/$1 [L,R=301 | rediriger le sans www vers le www | |||
| Troubleshooting | ||||
|---|---|---|---|---|
| apachectl configtest | vérifier la bonne configuration des fichier de configuration apache | |||
| /etc/apache2/envvars | ||||
|---|---|---|---|---|
| fichier de configuration des variables de apache2 | ||||
| le module status | ||||
|---|---|---|---|---|
| pour connaitre l'etat de votre apache2 | ||||
| apache2ctl -M | grep status | pour connaitre l'etat du module status | |||
| <Location "/mes_super_mesures"> SetHandler server-status</Location> | pour connaitre l'etat du module status il faut ajouter ces lignes dans la configuration d'apache2 (/etc/apache/apache2.conf ou http.conf selon les versionsensuite pour acceder à tout ça: votre url: http://votre_super_site/mes_super_mesures | |||