= 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. === 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]]