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 26/05/2015, à 12:30

carnival187

[résolu]htaccess en local

bonjour,

Comme dit dans le titre, je souhaite utiliser les fichier htacces en local. Quelqu'un a résolu le même problème ici en modifiant le fichier /etc/apache2/sites-available/default .
problême il n'existe pas chez moi, au même endroit j'ai :
000-default.conf et  default-ssl.conf
je précise que je n'ai que quelque base en ligne de commande et en configuration apache et aurait besoin d'un petit peu d'accompagnement.
(j'ai tout installé avec la logitheque roll ah graphique quand tu nous tient...)
mes site sont en php et mysql et tout marche correctement.
le htaccess que j'ai testé sans résultat:

AuthName "Page d'administration protégée"
AuthType Basic
AuthUserFile "/var/www/html/G&B/admin/.htpasswd"
Require valid-user

je reste dispo pour toutes info complémentaires.

merci d'avance

Dernière modification par carnival187 (Le 26/05/2015, à 17:23)

Hors ligne

#2 Le 26/05/2015, à 13:02

bruno

Re : [résolu]htaccess en local

Bonjour,

Il n'y a aucun avantage à utiliser un fichier .htacess dans ton cas. Je suppose que le dossier à protéger est /var/www/html/G&B/admin/, il faut donc ajouter dans ton fichier /etc/apache2/sites-available/000-default.conf (avant </VirtualHost> :

<Directory /var/www/html/G&B/admin/>
    AuthName "Page d'administration protégée"
    AuthType Basic
    AuthUserFile "/var/www/html/G&B/admin/.htpasswd"
   Require valid-user
</Directory>

Puis recharger la configuration d'Apache :

sudo service apache2 reload

N.B. : le fichier htpasswd doit être généré avec la commande htpasswd, par exemple pour un utilisateur toto :

sudo htpasswd -c /var/www/html/G&B/admin/.htpasswd toto

Hors ligne

#3 Le 26/05/2015, à 13:25

carnival187

Re : [résolu]htaccess en local

bonjour bruno,

merci pour ta réponse clair et rapide.
J'utilise un serveur mutualisé pour héberger mon site, et je n'ai pas accès au configuration de celui-ci. Mais il autorise l'utilisation de l'htaccess, et du coup j'aimerais bien testé en local mes fichiers, en particulier mes redirections url car j'ai modifié toutes la structure de mon site récemment.

Hors ligne

#4 Le 26/05/2015, à 13:28

bruno

Re : [résolu]htaccess en local

Dans ce cas ta configuration est correcte, à moins que ton fichier .htaccess ne soit pas placé au bon endroit. Il doit se trouver dans le dossier à protéger.
Il faut aussi que tu vérifies qu'il y a bien une directive :

AllowOverride all

dans la configuration de ton hôte virtuel.

Hors ligne

#5 Le 26/05/2015, à 14:29

carnival187

Re : [résolu]htaccess en local

j'ai fait un :

grep -nr AllowOverride /etc/apache2/

voila le resultat :

/etc/apache2/conf-available/security.conf:9:#   AllowOverride None
/etc/apache2/conf-available/serve-cgi-bin.conf:13:			AllowOverride None
/etc/apache2/mods-available/alias.conf:18:		AllowOverride None
/etc/apache2/mods-available/userdir.conf:6:		AllowOverride FileInfo AuthConfig Limit Indexes
/etc/apache2/apache2.conf:155:	AllowOverride None
/etc/apache2/apache2.conf:160:	AllowOverride None
/etc/apache2/apache2.conf:166:	AllowOverride None
/etc/apache2/apache2.conf:172:#	AllowOverride None
/etc/apache2/apache2.conf:180:# for additional configuration directives.  See also the AllowOverride

mais le(s)quel(s) dois-je changer?

Hors ligne

#6 Le 26/05/2015, à 15:19

carnival187

Re : [résolu]htaccess en local

j'ai donc changé les "AllowOverride None" (non commentés) en "AllowOverride all" dans apache2.conf : un bon debut puisque quand j'essaye d'accéder (via mon navigateur) au dossier contenant le fichier htaccess décrit ci-dessus, il me demande l'identifiant et le mot de passe. le problème c'est qu'il ne reconnait pas celui-ci et me le redemande indéfiniment.
du coup j'ai essayé la commande suggérer par bruno :

sudo htpasswd -c /var/www/html/G&B/admin/.htpasswd carnival187

j'ai command not found
dois-je la télécharger ou le problème vient-il d’ailleurs?
quel est le nom du paquet a télécharger pour l'obtenir?

Hors ligne

#7 Le 26/05/2015, à 15:21

bruno

Re : [résolu]htaccess en local

Justement, AllowOverride est réglé sur None par défaut. Il te faut donc l'activer dans ton hôte virtuel (/etc/apache2/sites-available/000-default.conf si tu n'en as pas d'autres) au moins pour le dossier concerné :

<Directory /var/www/html/G&B/admin/>
    AllowOverride all
</Directory>

Hors ligne

#8 Le 26/05/2015, à 15:41

carnival187

Re : [résolu]htaccess en local

j'ai ajouté les ligne en questions, toujo:s le même résultat, il ne reconnait pas mon mot de passe...
je ne sais pas si j'ai d'autre hôtes virtuels, comment savoir?
mon fichier 000-default.conf :

<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
        <Directory /var/www/html/G&B/admin/>
            AllowOverride all
         </Directory>
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
(END)

Dernière modification par carnival187 (Le 26/05/2015, à 15:42)

Hors ligne

#9 Le 26/05/2015, à 15:52

carnival187

Re : [résolu]htaccess en local

par contre j'ai testé une redirection d'erreur sur un fichier que j'ai créé et sa marche, mais je comprend pas pourquoi il ne reconnait pas mon motdepass

Hors ligne

#10 Le 26/05/2015, à 16:31

bruno

Re : [résolu]htaccess en local

Il faut installer les utilitaires Apache

suod apt-get install apache2-utils

Ensuite, tu dois absolument créer ton fichier de mot de passe avec cette commande :

sudo htpasswd -c /var/www/html/G&B/admin/.htpasswd carnival187

Hors ligne

#11 Le 26/05/2015, à 17:20

carnival187

Re : [résolu]htaccess en local

tout a l'air de bien marcher,  je passe en résolu. merci Bruno pour ton aide.
je me permet une ou deux dernières questions, pourquoi dois-je créer mon .htpasswd en ligne de commande alors que quand je l'utilise en ligne je le transfert juste en ftp via filezilla?
je n'ai pas essayé encore, mais est-ce que les expressions régulières vont marchées pour l'url rewritting ou ai-je d'autres réglages a faire?
voila, si j'ai des réponses tant mieux, sinon je finirai bien par savoir
merci encore!

Hors ligne