Table des matières
Installation
- Ajouter une instruction
ServerName
dansapache2.conf
ouhttpd.conf
qui aura la valeurlocalhost
ou le nom de l'hôte dans/etc/hostname
. Ceci permet d'enlever l'avertissement au démarrage d'Apache : Could not reliably determine the server's fully qualified domain name. Voir Ask Ubuntu à ce sujet pour une réponse plus correcte.
Service
Action | Commande (old) | Commande |
---|---|---|
Démarrer le service | $ sudo /etc/init.d/apache2 start | $ sudo systemctl start apache2 |
Redémarrer le service | $ sudo /etc/init.d/apache2 restart | $ sudo systemctl restart apache2 |
Arrêter le service | $ sudo /etc/init.d/apache2 stop | $ sudo systemctl stop apache2 |
Vérification de la config | $ sudo apachectl configtest | $ sudo apachectl configtest |
Reload config | $ sudo systemctl reload apache2 |
mod_rewrite
L'utilisation du mod_rewrite
peut être très utile pour la réécriture d'un URL. Par exemple, au lieu d'avoir un site avec http://www.unsite.com/billets/archives.php?an=2008&mo=04
on pourrait avoir une URL tel que http://www.unsite.com/2008-04
. La meilleure façon de le faire est à travers le fichier .htaccess
.
Exemple:
RewriteEngine On RewriteRule ^([0-9]+)-([0-9]+)$ /billets/archives.php?an=$1&mo=$2
On peut aussi y mettre des conditions :
RewriteCond %{HTTP_HOST} ^espacealouer.org$ RewriteRule ^(.*)$ http://www.espacealouer.org/$1 [R=301,L]
Toute requête faite avec espacealouer.org
sera redirigé vers http://www.espacealouer.org/
.
http://www.webmaster-hub.com/publication/Mod-rewrite-ou-la-reecriture-des.html
Erreurs
500 - Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, webmaster@espacealouer.org and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Le message d'erreur n'est pas très précis. Plusieurs fois le problème a été le client FTP qui a mis les permissions fichier à 777 sur un fichier PHP. Le groupe ne doit normalement pas avoir droit d'écriture. Donc un chmod 755
est préférable.
Proxy
ProxyHTMLURLMap
A besoin du module proxy_html
.
$ sudo a2enmod proxy_html
Apache non-démarré mais écoute
C'est arrivé que Apache écoutait sur le port 80/443, mais quand on fait le statut, c'est indiqué qu'il ne s'exécute pas.
$ sudo service apache2 status * apache2 is not running $ sudo netstat -plnt tcp6 0 0 :::80 :::* LISTEN 9972/apache2 tcp6 0 0 :::443 :::* LISTEN 9972/apache2
Si on voit un processus ask-for-passphrase
:
$ ps -ax | grep apache 1486 ? S 0:00 /bin/bash /usr/share/apache2/ask-for-passphrase domain.com:443 RSA
Il faut tuer ce processus et redémarrer Apache:
$ kill 1486 $ kill 9972 $ service apache2 start
Probablement qu'Apache demandera alors pour entrer le passphrase.
Voir: