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 05/10/2013, à 16:08

alfirdaous

[RESOLU]2 utilisateurs = 2 sites en local

Bonjour,

J'ai cree un 2eme utilisateur, le premier utilisateur est un site en local, et je veux avoir un 2eme utilisateur en local aussi:

-rw-r--r-- 1 root root  858 Jul  5 04:07 alfirdaous
-rw-r--r-- 1 root root  692 Jul  5 02:44 default
-rw-r--r-- 1 root root 7251 Jul  5 02:44 default-ssl
-rw-r--r-- 1 root root  869 Jul  5 05:49 tests

Les 2 utilisateurs sont alfirdaous et Testes, chacun a son fichier de configuration, par exemple alfirdaous:

<VirtualHost *:80>
        ServerAdmin alfiardaous@gmail.com
        DocumentRoot /home/alfirdaous/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
       <Directory /home/alfirdaous/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

de meme pour tests, en changeant alfirdaous par tests

le site alfirdaous marche bien avec mod_rewrite, par contre tests, est ce qu'il y a une autre option a activer pour que ca marche bien sur tous les sites ajoutees??

L'access vers les sites est:

localhost/~alfirdaous
localhost/~tests

Merci a vous

Dernière modification par alfirdaous (Le 09/10/2013, à 08:25)

Hors ligne

#2 Le 05/10/2013, à 20:52

tiramiseb

Re : [RESOLU]2 utilisateurs = 2 sites en local

L'access vers les sites est:

localhost/~alfirdaous
localhost/~tests

Où est-ce que c'est défini dans la configuration d'Apache ?

Hors ligne

#3 Le 07/10/2013, à 02:36

alfirdaous

Re : [RESOLU]2 utilisateurs = 2 sites en local

c'est ce que j'ai appris dans les tutos, pour acceder a un site il faut mettre un ~ avant le nom du site

Hors ligne

#4 Le 07/10/2013, à 04:02

MicP

Re : [RESOLU]2 utilisateurs = 2 sites en local

... il faut mettre un ~ avant le nom du site ...
Ce serait pas plutôt :
... il faut mettre un ~ avant le nom du compte utilisateur ...

Étant donné qu'un "~" représente le dossier personnel associé à un compte utilisateur, s'il est suivit d'un nom correspondant à un compte utilisateur.

root@deb9550:~# ls -l /home
total 28
drwxr-xr-x  2 laetitia laetitia  4096 oct.   1 17:14 laetitia
drwx------  2 root     root     16384 août  26 01:31 lost+found
drwxr-xr-x 43 michel   michel    4096 oct.   7 03:30 michel
drwxr-xr-x  2 public   public    4096 oct.   6 04:34 public
root@deb9550:~# 
root@deb9550:~# cd ~michel
root@deb9550:/home/michel# cd
root@deb9550:~# 
root@deb9550:~# cd ~laetitia
root@deb9550:/home/laetitia# cd
root@deb9550:~# 
root@deb9550:~# cd ~public
root@deb9550:/home/public# cd
root@deb9550:~# 

Dernière modification par MicP (Le 07/10/2013, à 04:17)

Hors ligne

#5 Le 07/10/2013, à 04:51

alfirdaous

Re : [RESOLU]2 utilisateurs = 2 sites en local

le voici:

root@ubuntu:/home# ls -l
total 7
drwxr-xr-x 48 utests     utests     4096 Oct  5 14:54 utests
drwxr-xr-x  3 alfirdaous alfirdaous 1024 Jul 26 08:43 alfirdaous
drwxr-xr-x  4 tests         tests         1024 Oct  5 15:25 tests
drwxr-xr-x  2 mmonit        mmonit        1024 Jul 20 07:11 mmonit
root@ubuntu:/home# cd ~utests/
root@ubuntu:/home/utests# cd ..
root@ubuntu:/home# cd ~alfirdaous/
root@ubuntu:/home/alfirdaous# cd ..
root@ubuntu:/home# cd ~tests/
root@ubuntu:/home/tests# cd ..
root@ubuntu:/home# 

Hors ligne

#6 Le 07/10/2013, à 07:27

tiramiseb

Re : [RESOLU]2 utilisateurs = 2 sites en local

c'est ce que j'ai appris dans les tutos, pour acceder a un site il faut mettre un ~ avant le nom du site

Ok. À partir du moment où la configuration est bien en place.

le site alfirdaous marche bien avec mod_rewrite, par contre tests, est ce qu'il y a une autre option a activer pour que ca marche bien sur tous les sites ajoutees??

Est-ce que, de base, tu peux accéder à http://localhost/~alfirdaous/ ET à http://localhost/~tests/ ? (sans config particulière, juste accès de base aux fichiers) ?

Qu'est-ce que tu appelles "marche bien avec mod_rewrite" ?

Est-ce que ton affirmation c'est "mod_rewrite fonctionne dans ~alfirdaous mais pas dans ~tests", ou alors c'est "avec mod_rewrite j'accède bien à ~alfirdaous mais pas à ~tests" ? Ou autre chose ?


Enfin, tu évoques mod_rewrite mais tu ne montres aucune configuration qui utilise mod_rewrite : si tu montrais ce que tu veux faire, ce serait peut-être plus facile de te comprendre...

Dernière modification par tiramiseb (Le 07/10/2013, à 07:28)

Hors ligne

#7 Le 07/10/2013, à 07:44

alfirdaous

Re : [RESOLU]2 utilisateurs = 2 sites en local

Est-ce que, de base, tu peux accéder à http://localhost/~alfirdaous/ ET à http://localhost/~tests/ ? (sans config particulière, juste accès de base aux fichiers) ?

Oui je peux acceder et surfer

Qu'est-ce que tu appelles "marche bien avec mod_rewrite" ?

Je fais du code PHP avec mod_reqrite, exemple: http://localhost/~alfirdaous/Truc.html

Est-ce que ton affirmation c'est "mod_rewrite fonctionne dans ~alfirdaous mais pas dans ~tests", ou alors c'est "avec mod_rewrite j'accède bien à ~alfirdaous mais pas à ~tests" ? Ou autre chose ?

Je fais la meme chose que alfirdaous: http://localhost/~alfirdaous/Truc.html ca donne une page 404, non trouvable

Enfin, tu évoques mod_rewrite mais tu ne montres aucune configuration qui utilise mod_rewrite : si tu montrais ce que tu veux faire, ce serait peut-être plus facile de te comprendre...

le code genere une page 500.

le log:

[Mon Oct 07 07:42:27 2013] [alert] [client 127.0.0.1] /home/tests/www/.htaccess: Options not allowed here

voici une partie du code:

code du lien:

<a href="Vehicules.html">Cars</a>

code htaccess:

ErrorDocument 404 /Error/404.php

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(\w+)\.html$ index.php?rub=$1 [L]

merci a vous

Dernière modification par alfirdaous (Le 07/10/2013, à 07:44)

Hors ligne

#8 Le 07/10/2013, à 07:57

tiramiseb

Re : [RESOLU]2 utilisateurs = 2 sites en local

Houla, d'accord, tu mets tes règles Rewrite dans un ".htaccess"... Mais pourquoi !? Tu as accès à la configuration d'Apache, non ? Autant mettre ça là-dedans !
Bon, tu vois, c'est juste parce que tu as écrit "code htaccess" que je DEVINE que tu mets ça dans un fichier ".htaccess".

Normalement, les deux utilisateurs doivent être gérés de la même manière.
Le fichier ".htaccess" de l'utilisateur "tests" est-il bien accessible en lecture par www-data ?

Cela dit, du coup je ne comprends pas ta configuration de VirtualHost que tu montres dans ton premier message. Es-tu sûr qu'elle est utilisée, cette configuration !?
Si tu passes par la syntaxe "~<nom d'utilisateur>", alors a priori tu utilises plutôt le module "userdir", avec une configuration du genre de ce que tu retrouves dans le fichier /etc/apache2/mods-available/userdir.conf (lié dans mods-enabled si tu as utilisé a2enmod).

As-tu activé le module "userdir" ? As-tu bien la syntaxe "UserDir" quelque part dans ta configuration activée ?


Il faut expliquer clairement ce que tu fais pour que l'on puisse comprendre. Ce n'est pas le cas actuellement, pour tenter d'avancer j'essaie de deviner des choses que tu ne dis pas et je dois faire des suppositions et te poser plein de questions de base comme ci-dessus.


PS : pourquoi tu mets l'extension ".html" dans tes liens ? Si déjà tu utilises mod_rewrite, fais des liens jolis, sans extension smile

Hors ligne

#9 Le 07/10/2013, à 08:12

alfirdaous

Re : [RESOLU]2 utilisateurs = 2 sites en local

tiramiseb a écrit :

Houla, d'accord, tu mets tes règles Rewrite dans un ".htaccess"... Mais pourquoi !? Tu as accès à la configuration d'Apache, non ? Autant mettre ça là-dedans !

Alors, j'apprends a faire de mon PC, comme un serveur de gestion des comptes (hebergement), apprentissage seulement, je mets un site = un utilisateur, je mets pas des droits www-data, par exemple:

cas de l'utilisateur tests:

-rw-r--r--  1 tests tests  981 Oct  5 15:55 index.php

cas de l'utilisateur alfirdaous:

-rw-rw-r-- 1 alfirdaous alfirdaous 169098 Oct  4 03:29 index.php

Chaque utilisateur peut creer ses propres fichier htaccess

Cela dit, du coup je ne comprends pas ta configuration de VirtualHost que tu montres dans ton premier message. Es-tu sûr qu'elle est utilisée, cette configuration !?

Oui

Si tu passes par la syntaxe "~<nom d'utilisateur>", alors a priori tu utilises plutôt le module "userdir", avec une configuration du genre de ce que tu retrouves dans le fichier /etc/apache2/mods-available/userdir.conf (lié dans mods-enabled si tu as utilisé a2enmod).

la voici:

<IfModule mod_userdir.c>
#        UserDir www
UserDir /home/*/www
        UserDir disabled root

        <Directory /home/*/www>
                AllowOverride FileInfo AuthConfig Limit Indexes
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
                <Limit GET POST OPTIONS>
                        Order allow,deny
                        Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Order deny,allow
                        Deny from all
                </LimitExcept>
        </Directory>
</IfModule>

As-tu activé le module "userdir" ? As-tu bien la syntaxe "UserDir" quelque part dans ta configuration activée ?

bien sur, tout marche bien, sauf que si j'ajoute le 2eme site de tests, les liens ne marchent pas et affiche une erreur 500


PS : pourquoi tu mets l'extension ".html" dans tes liens ? Si déjà tu utilises mod_rewrite, fais des liens jolis, sans extension smile

Merci, je ferais, c'un test seulement

Hors ligne

#10 Le 07/10/2013, à 08:18

tiramiseb

Re : [RESOLU]2 utilisateurs = 2 sites en local

Alors, j'apprends a faire de mon PC, comme un serveur de gestion des comptes (hebergement), apprentissage seulement, je mets un site = un utilisateur, je mets pas des droits www-data

Ce qui justifie l'utilisation de .htaccess et non la modification de la config d'Apache. ok.

Cela dit, du coup je ne comprends pas ta configuration de VirtualHost que tu montres dans ton premier message. Es-tu sûr qu'elle est utilisée, cette configuration !?

Oui

Qu'est-ce qui te fait en avoir la certitude ?
Là tu accèdes à ton répertoire avec la configuration de UserDir et pas avec le VirtualHost... c'est pour ça que ça m'étonne.

sauf que si j'ajoute le 2eme site de tests, les liens ne marchent pas et affiche une erreur 500

C'est quoi que tu appelles "le 2eme site de tests" ?
Qu'est-ce qui apparaît dans les logs quand ça affiche cette erreur 500 ?

Hors ligne

#11 Le 07/10/2013, à 08:23

alfirdaous

Re : [RESOLU]2 utilisateurs = 2 sites en local

Je mentionne un petit truc lors de la lecture du message 500:

Please contact the server administrator, alfirdaous@gmail.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

j'ai 2 sites: alfirdaous et tests, les liens de "alfirdaous" marchent bien, par contre si j'accede a tests de la page index (depart), elle affiche la page 500 ci en haut, alors que dans la configuration de tests j'ai mis l'email tests@gmail.com, par contre en haut il affiche alfirdaous@gmail.com.

log:

[Mon Oct 07 08:18:29 2013] [alert] [client 127.0.0.1] /home/tests/www/.htaccess: Options not allowed here

Hors ligne

#12 Le 07/10/2013, à 08:28

tiramiseb

Re : [RESOLU]2 utilisateurs = 2 sites en local

/home/tests/www/.htaccess: Options not allowed here

Ah ben voilà, là c'est assez clair non ?
La directive "Options" n'est pas autorisée dans ce fichier.

Tu as cette directive "Options" dans le .htaccess, mais elle est interdite (tu n'as pas « Options » dans « AllowOverride » dans la conf d'Apache).

Hors ligne

#13 Le 07/10/2013, à 08:36

alfirdaous

Re : [RESOLU]2 utilisateurs = 2 sites en local

la configuration de test est:

<VirtualHost *:80>

        ServerAdmin tests@gmail.com

        DocumentRoot /home/tests/www/

#       DirectoryIndex index.php 
        <Directory />
                Options FollowSymLinks
#               AllowOverride None
AllowOverride All
        </Directory>

       <Directory /home/tests/www>

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

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
#       AllowOverride None
AllowOverride All
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Hors ligne

#14 Le 07/10/2013, à 08:44

tiramiseb

Re : [RESOLU]2 utilisateurs = 2 sites en local

la configuration de test est:

Je réitère donc : Es-tu sûr qu'elle est utilisée, cette configuration !?.

Je ne vois pas comment Apache utiliserait, par magie, la configuration de cet hôte virtuel alors que rien ne lui dit de l'utiliser.

Moi je suis convaincu que ce qui est actif comme configuration c'est celle qui accompagne tes directives UserDir.

Hors ligne

#15 Le 07/10/2013, à 12:05

alfirdaous

Re : [RESOLU]2 utilisateurs = 2 sites en local

tiramiseb a écrit :

Je réitère donc : Es-tu sûr qu'elle est utilisée, cette configuration !?.

Oui je suis sur

Je ne vois pas comment Apache utiliserait, par magie, la configuration de cet hôte virtuel alors que rien ne lui dit de l'utiliser.

au moins il devait afficher une erreur 500 avec l'adresse e-mail de tests et ne pas celle de alfirdaous

Moi je suis convaincu que ce qui est actif comme configuration c'est celle qui accompagne tes directives UserDir.

voici le fichier userdir.conf:

<IfModule mod_userdir.c>
#        UserDir www
UserDir /home/*/www
        UserDir disabled root

        <Directory /home/*/www>
                AllowOverride FileInfo AuthConfig Limit Indexes
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
                <Limit GET POST OPTIONS>
                        Order allow,deny
                        Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Order deny,allow
                        Deny from all
                </LimitExcept>
        </Directory>
</IfModule>

Hors ligne

#16 Le 07/10/2013, à 12:31

alfirdaous

Re : [RESOLU]2 utilisateurs = 2 sites en local

j'ai desactive alfirdaous:

a2dissite alfirdaous

apres, j'ai consulte la page http://localhost/~tests/

et ca marche, donc quelque chose qui cloche entre les 2 sites.

Hors ligne

#17 Le 07/10/2013, à 12:39

tiramiseb

Re : [RESOLU]2 utilisateurs = 2 sites en local

au moins il devait afficher une erreur 500 avec l'adresse e-mail de tests et ne pas celle de alfirdaous

Ce qui prouve qu'il ne prend pas en compte le VirtualHost que tu as défini pour "tests".

Lorsqu'il ne sait pas lequel utiliser, Apache utilise le premier VirtualHost qu'il trouve.

J'imagine que tu as désactivé le VirtualHost par défaut (000-default) : dans ce cas, Apache prend en effet en compte le VirtualHost "alfirdaous" (car c'est le premier qu'il trouve dans sa configuration) et n'utilise jamais le VirtualHost "tests".

À toi de faire :
- soit une configuration globale sans VirtualHost
- soit un VirtualHost qui traite bien l'ensemble des répertoires concernés


Comment imagines-tu qu'Apache puisse comprendre que tu veux qu'il utilise la configuration de ce second VirtualHost ?

Hors ligne

#18 Le 07/10/2013, à 13:20

alfirdaous

Re : [RESOLU]2 utilisateurs = 2 sites en local

tiramiseb a écrit :

Ce qui prouve qu'il ne prend pas en compte le VirtualHost que tu as défini pour "tests".

Oui effectivement

Lorsqu'il ne sait pas lequel utiliser, Apache utilise le premier VirtualHost qu'il trouve.

C'est ce que j'ai presume, 000-default est desactive

Comment imagines-tu qu'Apache puisse comprendre que tu veux qu'il utilise la configuration de ce second VirtualHost ?

Comment puis je effectuer une fichier de configuration (virtualhost) pour chaque site?

Hors ligne

#19 Le 07/10/2013, à 13:30

tiramiseb

Re : [RESOLU]2 utilisateurs = 2 sites en local

Comment puis je effectuer une fichier de configuration (virtualhost) pour chaque site?

Un fichier de configuration et un virtualhost, ce n'est pas la même chose.

Un VirtualHost, comme son nom l'indique, c'est un hôte virtuel. C'est lié à un nom d'hôte, que tu définis dans le virtualhost avec "ServerName" et "ServerAlias".
C'est grâce au nom d'hôte demandé par le navigateur web qu'Apache sait quel VirtualHost utiliser.


Si tu veux une configuration spécifique par répertoire, alors, soit dans un seul VirtualHost soit en dehors de tout VirtualHost tu utilises la directive Directory :

<Directory /home/alfirdaous/www>
   bla bla bla
</Directory>
<Directory /home/tests/www>
   bla bla bla
</Directory>

C'est d'ailleurs déjà ce qui est fait du côté de UserDir avec "Directory /home/*/www"...

Dernière modification par tiramiseb (Le 07/10/2013, à 13:30)

Hors ligne

#20 Le 07/10/2013, à 14:22

alfirdaous

Re : [RESOLU]2 utilisateurs = 2 sites en local

c'est ce que j'ai fait dans des fichiers hosts differents:

root@ubuntu:/etc/apache2/sites-available# ls -l
total 15
-rw-r--r-- 1 root root 1178 Oct  7 12:09 alfirdaous
-rw-r--r-- 1 root root  692 Jul  5 02:44 default
-rw-r--r-- 1 root root 7251 Jul  5 02:44 default-ssl
-rw-r--r-- 1 root root 1146 Oct  7 13:31 tests
root@ubuntu:/etc/apache2/sites-available# vim alfirdaous 
root@ubuntu:/etc/apache2/sites-available# vim tests 

host alfirdaous:

<VirtualHost *:80>
        ServerAdmin alfirdaous@gmail.com
        ServerName http://localhost/~alfirdaous
        DocumentRoot /home/alfirdaous/www

#       DirectoryIndex index.php 
        <Directory />
                Options FollowSymLinks
               AllowOverride None
        </Directory>
       <Directory /home/alfirdaous/www/>

                Options Indexes FollowSymLinks MultiViews
               AllowOverride None

                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
               AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

host tests:

<VirtualHost *:80>
        ServerAdmin tests@gmail.com
        ServerName http://localhost/~tests
        DocumentRoot /home/tests/www

#       DirectoryIndex index.php 
        <Directory />
                Options FollowSymLinks
               AllowOverride None
        </Directory>
       <Directory /home/tests/www/>

                Options Indexes FollowSymLinks MultiViews
               AllowOverride None

                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
               AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

activation:

root@ubuntu:/etc/apache2/sites-available# a2ensite alfirdaous
Site alfirdaous already enabled
root@ubuntu:/etc/apache2/sites-available# a2ensite tests
Site tests already enabled

Dernière modification par alfirdaous (Le 07/10/2013, à 14:33)

Hors ligne

#21 Le 07/10/2013, à 14:38

tiramiseb

Re : [RESOLU]2 utilisateurs = 2 sites en local

ServerName http://localhost/~alfirdaous

Non. Là, "ServerName" est "localhost". Je t'ai bien parlé de nom d'hôte, pas d'URL.

http://alfirdaous/ => ServerName = alfirdaous
http://tests/pif/paf/pouf => ServerName = tests
http://localhost/machin/truc => ServerName = localhost

Hors ligne

#22 Le 07/10/2013, à 20:19

alfirdaous

Re : [RESOLU]2 utilisateurs = 2 sites en local

j'ai change ServerName vers localhost dans les 2 fichiers hosts, mais ca change rien sad

Hors ligne

#23 Le 07/10/2013, à 20:49

tiramiseb

Re : [RESOLU]2 utilisateurs = 2 sites en local

Ben oui, comment veux-tu qu'il différencie si tu as deux VirtualHosts avec le même nom !?

Qu'est-ce que tu n'as pas compris dans mon message #19 ?

Hors ligne

#24 Le 07/10/2013, à 20:53

alfirdaous

Re : [RESOLU]2 utilisateurs = 2 sites en local

non c'est bien, c'est juste en changeant les 2 ServerName vers localhost change rien

Hors ligne

#25 Le 07/10/2013, à 21:07

tiramiseb

Re : [RESOLU]2 utilisateurs = 2 sites en local

Je vais l'expliquer autrement : tu ne peux pas avoir deux VirtualHosts différents si tu n'as pas deux noms d'hôtes différents. Tu es obligé de tout mettre dans un seul VirtualHost ou alors sans aucun VirtualHost.

Hors ligne