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 12/05/2007, à 15:46

ecortex

Probleme pour le htaccess

Bonjour à tous.

Voila pour l'instant je me fait un serveur + site web local et ensuite quand tout sera bien je le mettrai en ligne. J'aimerais un dossier sécurisé car il y aura des page pour l'administration du site.

J'ouvre une console et tape :

sudo gedit /var/www/admin/.htaccess

J'y met le code suivant puis j'enregistre.:

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

Ensuite je reprend ma console et tape:

sudo gedit /var/www/admin/.htpasswd

et je met (mot de passe au hasard c'est pour essayer):

ecortex:$1$zKH0e3QV$xzMdzPGZnlt8WPqlyEG97/

J'enregistre, je met une page bidon dans le dossier admin pour voir si elle va etre verouiller.
Je vais dans ma barre firefox et met:

http://127.0.0.1/admin/

Et je vois que la page n'est pas proteger... Comment faire?
Merci d'avance. wink

Hors ligne

#2 Le 12/05/2007, à 15:50

bouboule66

Re : Probleme pour le htaccess

essaye ça dans le htaccess:

AuthUserFile /var/www/admin/.htpasswd
AuthGroupFile /dev/null
AuthName "Page d'administration protégée"
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>

tu peux même changer .htpasswd en .quelquechose pour plus de sécurité tongue  (et renommer aussi le .htpasswd lol)

++

#3 Le 12/05/2007, à 15:54

ecortex

Re : Probleme pour le htaccess

J'ai modifié le document mais rien y fais, rien ne demande d'entrer un login et un mot de passe... Que faire? sad
Faut t'il modifier d'autres fichiers pour que le serveur prenne en compte le .htaccess et .htpasswd?


Merci pour l'astuce je n'y manquerais pas.

Dernière modification par ecortex (Le 12/05/2007, à 16:11)

Hors ligne

#4 Le 12/05/2007, à 16:13

bouboule66

Re : Probleme pour le htaccess

tu as

AccessFileName .htaccess

dans httpd.conf ?


++

#5 Le 12/05/2007, à 16:40

ecortex

Re : Probleme pour le htaccess

ou ce situe ce fichier? Je ne le trouve pas et quand je tente :

/etc/httpd/conf/httpd.conf

Une page vide apparait... sad

Hors ligne

#6 Le 13/05/2007, à 00:20

ecortex

Re : Probleme pour le htaccess

Ou se trouve le fichier httpd.conf ? On m'a dis qu'il fallait que je vérifie si "AuthConfig" était sur none. Cela expliquerais surement le problème.

Hors ligne

#7 Le 13/05/2007, à 00:31

safe93

Re : Probleme pour le htaccess

lol, il n'existe plus plus sous Apache2, je crois...
lis la Doc cortex, et tu arriveras à conquérir le monde big_smile

#8 Le 13/05/2007, à 00:57

pef

Re : Probleme pour le htaccess

Déjà regarde dans les logs apache, tu devrais avoir un message d'erreur.
Ensuite utilise htpasswd pour générer ton .htpasswd smile

Hors ligne

#9 Le 13/05/2007, à 01:34

ecortex

Re : Probleme pour le htaccess

J'ai lu la doc les amis.

Alors je me suis dis: Et si c'était dans /etc/apache2/apache2.conf ????

Mais nan... sad

Hors ligne

#10 Le 13/05/2007, à 01:38

safe93

Re : Probleme pour le htaccess

Généralités
-  Documentation complète à : http://httpd.apache.org/docs-2.0/

Cette version 2.0 relativement récente présente des nouveautés importantes (multi-thread ..)
- Pour connaître la version exacte installée :

apache2 -v

-  Pour installer la documentation localement:

sudo apt-get install apache2-doc

Pour la rendre accessible il faudra configurer /etc/apache2/conf.d/apache2-doc

Il s'agit ici de comprendre et de prendre en main sa configuration en agissant sur ses principaux paramètres et directives contenus dans les fichiers de configuration.

En général les distributions placent ces fichiers dans le répertoire : /etc/apache2/ (debian /ubuntu) ou /etc/httpd/conf/ (Redhat, Mdk)
Attention, chaque distribution particularise la configuration d'Apache, et de surcroît celle-ci peut varier grandement d'une version à la suivante ...

Le fichier de configuration principal est : /etc/apache2/apache2.conf

L'architecture Apache
-  L'architecture du serveur est modulaire. Chaque module assure des traitements spécifiques.
Autour d'un "coeur" (le "core") se greffent des modules, certains sont statiques, c'est-à-dire liés en permanence au coeur (par la compilation du serveur), d'autres sont chargés dynamiquement lors de son démarrage.
Le coeur ("core") assure la communication par le protocole HTTP avec les clients, la gestion des erreurs, la gestion d'éventuels hôtes virtuels et les relations avec l'ensemble des modules.

-  Les modules
Pour connaître les modules compilés avec le core :

apache2 -l

Les modules dynamiques interchangeables (fichiers .so) sont tous placés dans /usr/lib/apache2/modules/.
Chacun possède des fichiers de configuration spécifiques placés dans /etc/apache2/mods-available/
     
Par exemple, examiner userdir.conf et userdir.load

LOG
-  Le serveur WEB enregistre sans cesse son activité dans des journaux (logs), situés dans /var/log/apache2/.
On peut consulter et comprendre les requêtes en provenance des clients dans le fichier access.log où elles sont archivées.

-  Pour chercher l'emplacement de clauses particulières, il est pratique d'interroger le fichier de configuration avec l'utilitaire grep.
Par exemple pour chercher les numéros de lignes où se trouvent les mots UserDir, puis alias (sans tenir compte de la casse) :

 grep -n "UserDir" /etc/apache2/apache2.conf
 grep -ni "alias" /etc/apache2/apache2.conf

Astuces
- Il est prudent de sauvegarder le fichier de configuration d'origine :

sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.BAK

- A chaque modification, vérifier la syntaxe de ce fichier en passant la commande :

apache2 -t

- Pour que Apache recharge ses fichiers de configuration :

sudo /etc/init.d/apache2 reload

Configuration de base
-  Le fichier de configuration lui-même est modulaire :
Le fichier principal inclut des directives provenant d'autres fichiers grâce aux clauses 'Include'. Cette directive accepte des jokers ce qui permet le chargement de multiples fichiers de configuration.
Observer le résultat de la commande grep -ni include /etc/apache2/apache2.conf.

ServerName www.monsite.fr
Le nom doit correspondre à une adresse IP, donc être renseigné dans un serveur DNS (la machine hôte est jointe par son adresse IP)
Si aucun nom n'est spécifié, alors le serveur tente de déduire un nom en procédant à un "lookup inverse" à partir de l'adresse IP.

ServerRoot "/etc/apache2"
Il s'agit du répertoire où le serveur trouvera son répertoire de configuration

PidFile /var/run/apache2.pid
C'est le fichier où le serveur en exécution stocke son premier numéro de processus (PID)

DocumentRoot /var/www/
Fixe la racine du serveur Web, c'est-à-dire le répertoire de base où sont cherchées par défaut les pages html, php, asp...

Listen
Cette directive est (pour Apache2) indispensable.Elle spécifie les adresses IP des interfaces locales et les ports sur lesquels Apache doit être en écoute (par défaut les requêtes sont acceptées de toutes les interfaces IP, et donc en général seul(s) le(s) numéros de port(s) sont renseignés ).
Sur apache2, ces déclarations sont incluses dans apache2.conf par

Include /etc/apache2/ports.conf
# lequel peut contenir par exemple
# pour que le serveur accepte des connexions à la fois sur les ports 80 et 8080 
Listen 80
Listen 8080

User www-data
Group www-data
Apache doit être démarré par root, mais par sécurité ses processus auront pour propriétaire l'utilisateur www-data, sans privilège.

ServerAdmin webmaster@localhost
S'il a un problème, le serveur écrit un message à cette adresse

AccessFileName .htaccess
Cette clause fixe le nom du fichier à trouver dans un répertoire pour que son accès soit protégé, en imposant à l'utilisateur une authentification par nom et mot de passe. Ces comptes sont spécifiques à Apache et n'interfèrent pas avec les comptes Linux.

DirectoryIndex index.html index.php index.htm...
Il est courant d'omettre le nom du fichier de la page d'accueil d'un site ou de l'un de ses sous-répertoires.
Pour ne pas retourner systématiquement une erreur 404 signalant une adresse erronée, le serveur possède une liste standard de noms de fichiers qu'il s'efforce de trouver dans le répertoire.
Cette liste ordonnée est indiquée par la clause DirectoryIndex

UserDir public_html
Ce paramètre (placé ici dans /etc/apache2/mods-available/userdir.conf) signifie que n'importe quel utilisateur peut publier ses pages WEB personnelles dans un sous-répertoire de son répertoire perso, lequel doit être obligatoirement nommé public_html.
Pour l'utilisateur toto, c'est dans /home/toto/public_html.
Sa page d'accueil sera alors accessible par l'URL : http://serveur/~toto , où serveur est le nom du serveur ou son adresse IP.

Les modules

-  Apache est un serveur modulaire. Autour d'un noyau qui rassemble les fonctions de base on peut inclure des modules de façon dynamique (à condition de s'y connaitre !). Il existe un module spécial mod_dso, qui doit avoir été compilé avec le noyau, pour permettre justement ce chargement dynamique.
-  Procédure de chargement et configuration
Dans la version 2, la directive d'inclusion LoadModule de chaque module chargeable, est déportée et mise dans un fichier spécifique situé dans /etc/apache2/mods-available/.
De plus, un fichier de configuration spécifique par module se trouve dans le même répertoire.

Ces fichiers de configuration par module sont eux-mêmes pris en compte dans apache2.conf par la directive :

Include /etc/apache2/mods-available/*.load (ligne 116)
Include /etc/apache2/mods-available/*.conf

Les fichiers .load et .conf
Ils portent le nom d'un module dynamique.
Par exemple :
     

# userdir.load
      LoadModule userdir_module /usr/lib/apache2/modules/mod_userdir.so
      # php4.load
      LoadModule php4_module /usr/lib/apache2/modules/libphp4.so

Les sites virtuels

La dernière ligne du fichier de configuration, Include /etc/apache2/sites-enabled/[#]* permet d'inclure le seul fichier ici présent /etc/apache2/sites-available/default.
Ce fichier décrit la configuration de base du site web.
La place du répertoire d'accueil du site est précisée par le chemin qui suit la directive
DocumentRoot /var/www/

Les types MIME

-  Beaucoup de types de fichiers spécifiques sont appelées par les pages WEB.
Le serveur se doit de reconnaître ces types pour envoyer au navigateur client des directives pour permettre de leur associer une application susceptible de les prendre en charge.
Cela s'effectue par l'intermédiaire de la nomenclature standard appelée MIME (à l'origine destinée à reconnaître les types des pièces jointes dans les mails.
-  Le fichier mime.types
-  Le fichier de configuration contient la directive TypesConfig /etc/mime.types (ligne 222) qui spécifie le fichier qui contient la liste des correspondances entre les types et les extensions de fichiers. La directive DefaultType text/plain indique le type par défaut.
On peut spécifier de nouvelle association dans les divers fichiers de conf (y compris ceux se trouvant dans mods-available/)

Réglages d'exécution

Timeout 300
Paramètre important qui fixe le temps (en ms) d'attente maximum du serveur d'une réponse à une requete envoyée à un programme extérieur (comme un gestionnaire de base de données)
KeepAliveon
MaxKeepAliverequests 100
KeepAliveTimeout 15
Autorise les connexions persistantes d'un client, afin de lui permettre l'envoi de plusieurs requêtes sans déconnexion, avec un plafond fixé pour un client, pour servir aussi d'éventuels autres clients ! et un temps d'attente maxi de la requête suivante provenant du même client.
MinSpareServers 4 MaxSpareServers 20
Nombres maximum et minimum de processus serveurs devant être en permanence disponibles, en attente de nouvelles connexions clientes
StartServers 5
Nombre de processus serveurs démarrés à l'initialisation, en plus du processus père.

 ps aux|grep apache

donne le nombre de PID enfant propriété de www-data.
MaxClients 20
Nombre maximum de processus qu'Apache peut lancer et gérer simultanément. Ce nombre ne peut pas excéder 254
MaxRequestsPerChild 500
Nombre maximum de requetes HTTP traitées par un processus enfant avant qu'il ne soit éliminé.

Dernière modification par safe93 (Le 13/05/2007, à 02:13)

#11 Le 13/05/2007, à 01:54

ecortex

Re : Probleme pour le htaccess

Merci safe je prend note... big_smile


Mais je comprend toujours pas comment securiser par mot de passe mon dossier et a quoi sert le fichier ou il y a:

<virtualhost *>
...
</virtualhost>

Car dans la doc j'ai vu un truc sympa pour que le client n'est acces QUE au dossier ou il y a les page web... mais je sais pas ou le placer dans le fichier...

Pardonnez moi chui un gros debutant.
Merci a tous.

Hors ligne

#12 Le 22/05/2007, à 09:25

patfrat

Re : Probleme pour le htaccess

Ok !
Je viens de résoudre le même problème. J'ai apache2.
Pour que les modifications par .htaccess fonctionnent, il faut autoriser la surcharge de configuration dans le répertoire voulu.
En l'occurence, chez moi, c'est dans /var/www/ donc tout le répertoire web par défaut.

Il suffit d'éditer le fichier suivant :

sudo gedit /etc/apache2/sites-enabled/000-default

Aller à la section concernée et changer :

AllowOverride None

en

AllowOverride All

Ce qui donne chez moi :

<Directory /var/www/>
	Options Indexes FollowSymLinks MultiViews
	AllowOverride All
	Order allow,deny
	allow from all
</Directory>

puis :

sudo /etc/init.d/apache2 reload

Et voilà !

Dernière modification par patfrat (Le 22/05/2007, à 09:26)

Hors ligne

#13 Le 24/06/2007, à 03:45

fanfantasy7

Re : Probleme pour le htaccess

j'ai suivi ce que vous dite
ca marche pour moi
mais une fois que j'ai tappé mon login et mdp
je fait marche arriere et je reclique sur le lien
et il ne me redemande plus l'identification
et si je suis sur un pc public
j'aimerai qu'il me demande d'identification à chaque accés à la page
comment faire ?


Fanfantasy7
pc fixe : Linux Mint
pc portable : Ubuntu LTS

Hors ligne

#14 Le 24/06/2007, à 09:11

patfrat

Re : Probleme pour le htaccess

C'est normal que le serveur ne demande pas de mot de passe puisque vous êtes déjà identifié. Essayez de fermer le navigateur puis d'y revenir et il redemandera à nouveau le mot de passe. S'il fallait qu'il demande à chaque clic du visteur, la galère !

Hors ligne

#15 Le 24/06/2007, à 13:08

fanfantasy7

Re : Probleme pour le htaccess

donc soit j'écris a la fin de la page

pensez a fermer votre naviguateur avant de quitter votre pc

mais moi j'aimerai avoir un lien "déconnexion"
et je pense qu'a ce moment la il faut que j'utilise mysql
mais je ne connais pas (je suis débutant en php)


Fanfantasy7
pc fixe : Linux Mint
pc portable : Ubuntu LTS

Hors ligne

#16 Le 24/06/2007, à 14:31

patfrat

Re : Probleme pour le htaccess

Oui là il vaudrait mieux utiliser PHP et les Sessions avec les profils enregistrés sous MySQL mais là, je ne ferai pas de cours là dessus ... y'a tout ce qu'il faut sur le Net.
Le .htaccess, j'utilise çà pour protéger les répertoires contenant la configuration d'accès à MySQL entre autres ...

Hors ligne

#17 Le 24/06/2007, à 14:36

fanfantasy7

Re : Probleme pour le htaccess

tu aurai des liens a me donner STP ?


Fanfantasy7
pc fixe : Linux Mint
pc portable : Ubuntu LTS

Hors ligne

#18 Le 24/06/2007, à 14:51

patfrat

Re : Probleme pour le htaccess

http://fr.php.net/manual/fr/
http://php.developpez.com/

çà devrait aller pour débuter

Hors ligne