Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 31/01/2014, à 17:59

alexxcool

[Résolu] apache2 et htaccess inopérant

Bonjour,
Je viens d'installer un apache2 et It works!

Après je me lance dans le code et je commence par vouloir verrouiller l'accès.

Donc .htaccess et .htpasswd.

AuthUserFile /var/www/dossier/.htpasswd
AuthName "Accès restreint"
AuthType Basic
Deny from All
Require valid-user

Ca verrouille rien du tout. Même sans la ligne Deny from All.

D'où cela peut venir ? C'est la première fois qu'un .htaccess me prend la tête à ce point.

Dernière modification par alexxcool (Le 31/01/2014, à 23:15)


Ubuntu 13.10 CG : nVidia 9800GT RAM : 8 Go
Ubuntu jamais de bug ils disaient ! Ah bein pas chez moi.

Hors ligne

#2 Le 31/01/2014, à 22:02

tiramiseb

Re : [Résolu] apache2 et htaccess inopérant

Salut,

Deux questions :

1/ es-tu sûr que dans ta configuration d'Apache, les fichiers .htaccess sont bien lus ?
2/ pourquoi vouloir utiliser des fichiers .htaccess alors que tu as accès à la configuration d'Apache (dans la mesure où les fichiers .htaccess servent lorsqu'on n'a pas l'accès à la configuration) ?

Hors ligne

#3 Le 31/01/2014, à 22:22

jplemoine

Re : [Résolu] apache2 et htaccess inopérant

Dans la configuration du vhost (/etc/apache2/sites-avaialble), il faut mettre

AllowOverride All

Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#4 Le 31/01/2014, à 22:53

tiramiseb

Re : [Résolu] apache2 et htaccess inopérant

Beurk

Hors ligne

#5 Le 31/01/2014, à 22:56

jplemoine

Re : [Résolu] apache2 et htaccess inopérant

LOL : Pourquoi Beurk ? Je ne sais pas faire autrement....
T'as une solution autre que celle-là ?
Perso, c'est la seule que je connaisse.


Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#6 Le 31/01/2014, à 23:00

tiramiseb

Re : [Résolu] apache2 et htaccess inopérant

Comme je l'ai sous-entendu (je pensais que c'était quand même assez explicite), dans la mesure où alexxcool a accès à la configuration d'Apache, qu'il mette ses directives de configuration dans Apache plutôt que dans un fichier .htaccess !

Hors ligne

#7 Le 31/01/2014, à 23:14

alexxcool

Re : [Résolu] apache2 et htaccess inopérant

En effet j'avais un AllowOverride None qui m'empêcher d'utiliser le .htaccess.
Puis en lisant la documentation d'Apache plus attentivement j'ai vu qu'il était préférable de mettre la configuration directement dans le vhost.
Du coup j'ai mis ça dans le vhost.

Je vois pas d'amélioration des performances mais vu que c'est plus propre j'aime bien les choses clean.

Merci  pour vos pistes car j'ai bien souffert et finalement j'aurais un serveur mieux administré.


Ubuntu 13.10 CG : nVidia 9800GT RAM : 8 Go
Ubuntu jamais de bug ils disaient ! Ah bein pas chez moi.

Hors ligne

#8 Le 31/01/2014, à 23:18

jplemoine

Re : [Résolu] apache2 et htaccess inopérant

Tu peux m'envoyer un exemple ? comme ça, je remettrais propre : je ne sais pas faire autrement qu'avec le .htaccess.
Merci.


Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#9 Le 31/01/2014, à 23:38

tiramiseb

Re : [Résolu] apache2 et htaccess inopérant

Je vois pas d'amélioration des performances mais vu que c'est plus propre j'aime bien les choses clean.

Ça peut se ressentir lorsqu'il y a de très grosses charges. En utilisation "habituelle" il n'y a pas trop de différence.

Le fonctionnement de la chose :

En fait, si "AllowOverride" n'est pas à "None", Apache va chercher un ".htaccess" dans le répertoire, puis dans le répertoire parent, puis dans le répertoire parent du parent, ainsi de suite jusqu'à la racine, tant qu'il n'en trouve pas. Cela, à chaque requête. Et lorsqu'il trouve le fichier, il le lit, l'analyse, vérifie sa validité et applique dynamiquement son contenu. Il doit refaire ça à chaque requête car le contenu de ce fichier .htaccess peut changer n'importe quand.

Alors que des instructions dans les fichiers de configuration d'Apache, c'est chargé lors du lancement d'Apache, vérifié, appliqué et ça ne bouge plus.

Surcharge du serveur :

Par conséquent, s'il y a un fichier ".htaccess" dans le répertoire, chaque requête sera accompagnée de la lecture de ce fichier et de son analyse, systématiquement. Je ne saurais pas dire quelle est la réelle consommation processeur de ces étapes, mais on imagine facilement qu'entre la dérouler une seule fois au démarrage d'Apache ou la dérouler à chaque requête, la charge processeur est bien différente.

À l'opposé, s'il n'y a pas de fichier ".htaccess" lors du téléchargement d'un fichier qui serait, par exemple, "/srv/www/mon_super_site/fichiers/images/logos/ma_boite/mon_super_logo.png", alors Apache va échouer à ouvrir :
- /srv/www/mon_super_site/fichiers/images/logos/ma_boite/.htaccess
- puis /srv/www/mon_super_site/fichiers/images/logos/.htaccess
- puis /srv/www/mon_super_site/fichiers/images/.htaccess
- puis /srv/www/mon_super_site/fichiers/.htaccess
- puis /srv/www/mon_super_site/.htaccess
- puis /srv/www/.htaccess
- puis /srv/.htaccess
- puis /.htaccess
Apache ferait donc 8 requêtes sur le disque dur pour trouver des fichiers qui n'existent pas, en complément de la lecture du fichier à desservir.

Sur un serveur peu chargé, ça ne se ressent pas des masses. Par contre, sur un serveur qui a une charge de 1000 requêtes par seconde, 1000 ou 9000 lectures par seconde c'est une sacrée différence.


Avec "AllowOverride None", Apache ne cherche tout simplement pas le fichier .htaccess.

Dernière modification par tiramiseb (Le 31/01/2014, à 23:48)

Hors ligne

#10 Le 31/01/2014, à 23:44

tiramiseb

Re : [Résolu] apache2 et htaccess inopérant

jplemoine a écrit :

Tu peux m'envoyer un exemple ? comme ça, je remettrais propre : je ne sais pas faire autrement qu'avec le .htaccess.

Bah tu prends le contenu de ton fichier .htaccess et tu le mets dans la configuration de ton VirtualHost, tout simplement.

Et si tu veux que ces directives ne s'appliquent qu'à un chemin particulier, alors tu les mets dans des balises <Directory> ou <Location>...

Par exemple, si tu as un fichier /srv/www/super_site/toto/.htaccess avec le contenu suivant :

DirectiveA valeur_A
DirectiveB valeur_B

Alors tu peux mettre le contenu suivant dans la configuration de ton VirtualHost :

<Directory "/srv/www/super_site/toto">
  DirectiveA valeur_A
  DirectiveB valeur_B
</Directory>

Hors ligne

#11 Le 31/01/2014, à 23:48

jplemoine

Re : [Résolu] apache2 et htaccess inopérant

Ok. Merci beaucoup.


Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#12 Le 01/02/2014, à 00:17

jplemoine

Re : [Résolu] apache2 et htaccess inopérant

J'ai testé sur un site de test : ça fonctionne mais je ne sais pas mettre les commentaires.
Merci beaucoup.


Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#13 Le 01/02/2014, à 00:25

tiramiseb

Re : [Résolu] apache2 et htaccess inopérant

je ne sais pas mettre les commentaires.

Quels commentaires ?

Si tu veux mettre des commentaires dans un fichier de configuration d'Apache, c'est avec le caractère "#"...

Hors ligne

#14 Le 01/02/2014, à 00:32

jplemoine

Re : [Résolu] apache2 et htaccess inopérant

ça fait une erreur 500 mais j'ai pas cherché plus que ça...(copier-coller malheureux ?)
Merci pour ton aide : j'ai la manière propre si j'ai accès à la configuration d'Apache et la manière "Beurk" pour quand j'y ai pas accès.


Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#15 Le 01/02/2014, à 10:47

alexxcool

Re : [Résolu] apache2 et htaccess inopérant

La technique .htaccess est généralisé du fait que quand on loue un hébergement on a pas accès à la configuration de Apache directement. Ce qui me fait penser que parfois le simple fait de passer sur un dédié peut alléger la charge d'un site rien qu'en désactivant les .htaccess. Bon à retenir.

En tout cas voilà que j'ai appris pas mal de chose du coup.


Ubuntu 13.10 CG : nVidia 9800GT RAM : 8 Go
Ubuntu jamais de bug ils disaient ! Ah bein pas chez moi.

Hors ligne