= Apache =
== Configuration ==
=== Déplacer le dossier racine hors de /var/www ===
Depuis debian 8, dans le fichier /etc/apache2/apache2.conf il faut mettre le dossier contenant vos sites dans une liste blanche pour pouvoir les afficher.
Pour cela, dans le fichier /etc/apache2/apache2.conf, il faut repérer :
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
copier/coller le paragraphe et remplacer /var/www/ par le dossier racine de vos sites.
=== Cacher le nom et la version d'apache dans les dossier http ===
Dans le fichier
/etc/apache2/conf-enabled/security.conf
Modifier les valeurs de
ServerTokens OS
par
ServerTokens Prod
et
ServerSignature On
par
ServerSignature Off
=== Les virtual Hosts ===
Sous Debian squeeze, les fichiers de conf se trouvent dans
/etc/apache2/
A l'intérieur, se trouve deux dossiers : sites-available et sites-enabled. Le premier dossier contient les fichiers de conf des sites qui sont disponibles et le deuxième contient les fichiers de conf pour les sites activé.
On commence par vider le dossier sites-enabled puis on créer un fichier monsite.tld.conf dans le dossier site-available. Dans lequel on met :
ServerAdmin adress_mail@admin_du.site
ServerName monsite.tld
ServerAlias www.monsite.tld
DocumentRoot /emplacement/du/dossier/du/site/
Ensuite on vas dans le dossier site-enabled et on créé un lien symbolique de notre fichier de conf dans le dossier sites-enabled :
cd /etc/apache2/site-enabled/
ln -s ../site-available/monsite.tld.conf
Finalement, il faut éditer le fichier de conf et trouver les lignes :
NameVirtualHost *:80
ServerName
Qu'il faut modifier pour mettre :
NameVirtualHost adresse.ip.local.du_serveur:80
ServeurName adresse.ip.local.du_serveur
Pensez à redémarrer le serveur et là, ca doit marcher.
On peut ajouter autant de virtualhost que l'on souhaite. Il suffit pour ce faire de créer un autre fichier.conf dans le dossier site-available et de le lier dans site-enabled. On remplace bien sur les nom de domaine par ceux souhaités et on n'oublie pas de déclarer les domaines et sous domaines dans le dns et ca roule.
A chaque modification de la config d'apache arrêter et relancer le service apache comme ca:
/etc/init.d/apache2 restart
== ssl ==
=== Générer le certificat ===
Pour pouvoir utiliser ssl sur apache, il faut récupérer un certificat. Soit en acheter un auprès d'une autorité compétente, soit en généré un auto-signé.
Vous pouvez voir [[/doc/ssl|comment faire pour en créer un auto signé ici]]
Mettre la clé et son certificat dans le dossier :
/etc/apache2/ssl/
=== Modification du fichier de conf ===
Il faut aussi copier la ligne
NameVirtualHost adresse.ip.local.du_serveur:80
Et la modifier pour avoir :
NameVirtualHost adresse.ip.local.du_serveur:80
NameVirtualHost adresse.ip.local.du_serveur:443
Ensuite dans le dossier /etc/apache2/site-available il faut créer un fichier de configuration que l'on nommera https.monsite.tld.conf pour le sous domaine :
ServerAdmin webmaster@localhost
ServerAlias www.monsite.tld
ServerName monsite.tld
DocumentRoot /mnt/documents/www/weave/
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/monsite.tld.crt
SSLCertificateKeyFile /etc/apache2/ssl/monsite.tld.key
=== Activation du module ssl ===
Taper :
a2enmod ssl
Pensez à relancer le serveur après ca :
/etc/init.d/apache2 restart
== htaccess ==
exemple de fichier .htaccess
AuthUserFile /fichier/de/pwd
AuthGroupFile /dev/null
AuthName "Utilisateur inconnu"
AuthType Basic
Require valid-user
Utiliser un nom de fichier de mot de passe compliqué pour éviter que quelqu'un ne le trouve et l'ouvre et ne vois ainsi la liste des utilisateurs autorisé.
Créer un fichier de mot de passe et ajouter un utilisateur :
htpasswd -c /chemin/du/fichier/de/pwd utilisateur
Ajouter les utilisateurs suivant :
htpasswd /chemin/du/fichier/de/pwd utilisateur
== Liens Utiles ==
* [[http://www.commentcamarche.net/contents/apache/apacht.php3|.htaccess]]