Héberger des sites

Résolu
troubadour2 Messages postés 284 Statut Membre -  
troubadour2 Messages postés 284 Statut Membre -
Bonjour,

Voilà je doit faire un exercice pour essayer de comprendre l'hébergement d'un serveur où 4 sites seront hébergé et devront être atteint par les adresses suivantes.

http://localhost/ -> site_1
http://localhost/dossier_2/ -> site_2
http://mon_adresse_ip/ -> site_3
http://mon_adresse_ip/dossier_4/ -> site_4

J'ai apache2 et mon fichier de configuration c'est apache2.conf.

Configurer des comptes pour chaque site afin que chaque webmaster aura accès uniquement à l'administration de leur site

Compte des webmasters
compte Pierre mot de passe : pierre1 -> site 1 et site 4
compte Paul mot de passe : paul1 -> site 2
compte Jacques mot de passe : jacques1 -> site 3

Par contre moi je serai administrateur de tous et je pourrai également les alimenter en pages web.

Je vous dit par avance un grand merci pour votre aide et vous souhaite une bonne et heureuse année 2011.
Merci beaucoup

17 réponses

  1. aiglenoirdu29 Messages postés 11426 Statut Contributeur 2 363
     
    Bonsoir,

    bonne et heureuse année à toi aussi.

    Ton topic m'intéresse aussi.

    Mais qu'as tu déjà fait ? Où bloques tu? O_o

    Car c'est pas une aide au devoir ici, mais un forum d'entraide ^^
    Windows has not detected any keyboard. Press Enter to continue.
    Hu?
    0
  2. troubadour2 Messages postés 284 Statut Membre 1
     
    Bonjour

    Je sais que c'est pas une aide au devoir mais je suis un très grand débutant et je suis sur linux en ligne de commande que depuis 1 mois alors pour l'instant je lis beaucoup de doc la-dessus mais des explications plus clair et surtout mieux explicites me serai très utile.

    En fait je sais créer des fichiers, qu'il faut pour chaque "virtual host" ajouter un fichier de config dans le répertoire etc/apache2/sites-available.
    Pour mon cas il faut créer 4 fichiers.
    Ensuite je mis perds un peu.....pour la conf de ses fichiers

    Merci beaucoup
    0
  3. jisisv Messages postés 3678 Statut Modérateur 936
     
    Regarde la documentation d'Apache:
    par exemple http://httpd.apache.org/docs/2.2/fr/vhosts/examples.html
    Tu ne précises pas ta distribution.
    Sous Debian , dans /etc/apache2, il y a deux répertoires, sites-available et sites-enables. "sites-enabled" contient des liens symboliques vers les fichiers de configuration présents dans sites-available. On crée ou supprime donc ces liens, se:lon les sites à actiber ou désactiver.
    exeple:
     
    johand@osiris:/etc/apache2$ ls -l sites-available sites-enabled/ 
    sites-available: 
    total 20 
    -rw-r--r-- 1 root root 1000  1 jan 13:04 default 
    -rw-r--r-- 1 root root  962 25 sep  2008 default.dpkg-old 
    -rw-r--r-- 1 root root 7469 20 fév  2010 default-ssl 
    -rw-r--r-- 1 root root  764  1 jan 13:03 haerne.myftp.org 
    
    sites-enabled/: 
    total 0 
    lrwxrwxrwx 1 root root 36 20 jui  2008 000-default -> /etc/apache2/sites-available/default 
    lrwxrwxrwx 1 root root 35  1 jan 12:04 haerne.myftp.org -> ../sites-available/haerne.myftp.org 
    johand@osiris:/etc/apache2$ head -5 sites-available/haerne.myftp.org  
    <VirtualHost *:8080> 
     ServerAdmin xxxx@yyyy.be  
     ServerName  haerne.myftp.org 
    
     DocumentRoot /var/www/haerne.myftp.org/data 
    


    Johan
    Gates gave ^H sold you the windows.
    GNU gave us the whole house.(Alexandrin)
    0
  4. troubadour2 Messages postés 284 Statut Membre 1
     
    Bonjour et merci de ta réponse.
    C'est très gentil je vais essayer de comprendre tout cela.
    A bientôt je te tiens au courant.

    Merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. troubadour2 Messages postés 284 Statut Membre 1
     
    Bonjour malheureusement je suis perdu si tu as un peu de temps à me consacrer ça serai très sympa.

    Merci
    0
    1. jisisv Messages postés 3678 Statut Modérateur 936
       
      Ouii, si tu as des questions précises. A bientôt.
      Johant
      0
  7. troubadour2 Messages postés 284 Statut Membre 1
     
    Bonjour et merci

    voilà je doit configurer le fichier apache2.conf et d'autres fichiers je ne sais pas lesquel...
    pour héberger 1 site qui sera atteint par l'adresse suivante

    http://mon_adresse_ip/dossier1

    configurer pour que l'administrateur de ce site aura accès uniquement à l'administration
    compte : gilbert
    mot de passe : gil1807

    et moi par contre je serai administrateur et je pourrai également les alimenter en pages web

    et en option site public ouvert à tous sans option

    Si vous pouvez m'aider alors vous me rendez grand service et ça va beaucoup m'aider à comprendre pour d'autres.

    Je suis sous linux "ubuntu" avec apache2

    Merci beaucoup
    0
  8. jisisv Messages postés 3678 Statut Modérateur 936
     
    Il faut différencier la gestion d'Apache de celle des fichiers du site.
    Il faut différencier l'adresse des interfaces réseau et les noms de sites (FQDN)

    Tu ne précises pas ta distribution, je partirai de l'hypothèse qu'il s"agit d'une Debian.

    Dans /etc/apache2/sites-available tu te bases sur le fichier default; que tu copies sur , www.mondomaine.org par exemple.
    Si tu désires qu'apache écoute sur tous les interfaces et adresses IP:
        
    <VirtualHost *:80>     
     ServerAdmin xxxx@yyyy.be      
     ServerName  www.mondomaine.org     
     DocumentRoot /var/www/www.mondomaine.org/data     
    

    Tu crées un lien symbolique vers ce fichier dans /etc/apache2/sites-available:
    ln -s www.mydomain.org ../sites-available


    J'ai introduit un sous répertoire data pour DocumentRoot. Cela permet de placer des données innaccessibles par http mais accessibles aux scripts PHP (cest une mesure de sécurité de base).

    Pour l'accès aux données, tu dois donner accès /var/www/www.mondomaine.com au gestionnaire du site (FTP],SFTP ou autre protocole) ou utiliser un Content Manager.

    Johan
    Gates gave ^H sold you the windows.
    GNU gave us the whole house.(Alexandrin)
    0
  9. troubadour2 Messages postés 284 Statut Membre 1
     
    Bonjour merci pour ta réponse

    J'essaie de comprendre tes explications et je te tiens au courant.

    Je te remercie beaucoup de ton aide c'est super sympa.
    Merci milles fois

    je suis sous ubuntu.

    Une question si je veux par exemple que ce site soit soumis à une authentification, tu peux m'expliquer s'il te plait?
    Gilbert
    0
  10. troubadour2 Messages postés 284 Statut Membre 1
     
    Bonjour,
    Je viens de passer ce dimanche à essayer de comprendre comment héberger plusieurs sites avec apache2 et le distribution ubuntu de Linux.
    Je ne veux pas que vous me le faites mais simplement prendre un peu de temps pour m'expliquer le fonctionnement et tous les fichiers à configurer et qu'il faut modifier.
    J'aimerai tellement savoir le faire mais sans votre aide je ne pourrai pas y arriver même avec tous les sites que j'ai pu lire et relire.
    Seul des explication claires pourront m'aider.
    Si quelqu'un peux me venir en aide je lui en serai très reconnaissant, pour moi c'est quelque chose de très important.
    Je vous remercie beaucoup
    0
  11. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Affiche le résultat de

    rgrep -i documentroot /etc/apache2
    0
  12. troubadour2 Messages postés 284 Statut Membre 1
     
    Bonjour et merci de ta réponse mais après je fait quoi?

    en ayant fait la commande que tu ma dit .........

    /etc/apache2/sites-available/default: DocumentRoot /var/www
    /etc/apache2/sites-available/monsite3: DocumentRoot /var/www/monsite3
    /etc/apache2/sites-available/monsite4: DocumentRoot /var/www/monsite4
    /etc/apache2/sites-available/monsite2: DocumentRoot /var/www/monsite2
    /etc/apache2/sites-available/monsite1: DocumentRoot /var/www/monsite1
    /etc/apache2/sites-available/default-ssl: DocumentRoot /var/www
    /etc/apache2/sites-enabled/monsite3: DocumentRoot /var/www/monsite3
    /etc/apache2/sites-enabled/monsite4: DocumentRoot /var/www/monsite4
    /etc/apache2/sites-enabled/monsite2: DocumentRoot /var/www/monsite2
    /etc/apache2/sites-enabled/monsite1: DocumentRoot /var/www/monsite1
    /etc/apache2/sites-enabled/000-default: DocumentRoot /var/www
    0
  13. troubadour2 Messages postés 284 Statut Membre 1
     
    Bonjour

    Merci à vous pour me donner un coup de main et me donner des explications, je suis vraiment perdu et j'aimerai tant pouvoir comprendre.
    Merci
    Gilbert
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Salut,

      Je vois que tu as commencé créer un fichier pour chaque site dans sites-enabled.
      Ce n'est pas nécessaire.

      Je n'ai pas le temps maintenant ni liens sous le coude pour te montrer.

      L'week-end prochain je vais te donner un exemple concret avec des explications.
      Bien sûr s'il n'y a pas d'autre personne qui t'aidera.
      0
  14. troubadour2 Messages postés 284 Statut Membre 1
     
    Bonjour

    Ecoute un grand merci j'attendrai jusqu'à là si toute fois j'ai une personne pour m'aider avant je te le dis.

    C'est vraiment très important pour moi de comprendre le fonctionnement j'y passe beaucoup de temps mais beaucoup de truc reste sans réponse.
    Je sais par exemple créer modifier et beaucoup d'autre chose en ligne de commande mais c'est tout.
    Merci beaucoup
    0
  15. troubadour2 Messages postés 284 Statut Membre 1
     
    Bonjour lami20j,

    Si vraiment tu peux m'expliquer ça serai très sympa et je te remercie très sincèrement.

    Gilbert
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Salut,

      Je ne t'ai pas oublié ;-)
      Je vais m'en occuper ce week end.
      0
    2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Salut,

      Tout ce qui suivra ce ne sont que des exemples banales dans le but de comprendre un peu.
      Ce n'est pas un tutoriel non plus.
      Tu devrais lire la documentation d'apache sur le site officiel.

      Voici quelque liens
      http://httpd.apache.org/docs/2.2/fr/vhosts/examples.html
      http://httpd.apache.org/docs/2.2/fr/mod/directives.html

      Commencer avec virtual host avant de comprendre comment fonctionne apache ce n'est pas une très bonne idée.


      http://localhost/ -> site_1
      http://localhost/dossier_2/ -> site_2
      http://mon_adresse_ip/ -> site_3
      http://mon_adresse_ip/dossier_4/ -> site_4


      Tout ce que tu dois comprendre au début c'est qu'en fait un site est un répertoire tout simplement.
      Ce répertoire qui contient tous les fichiers du site est définie par la directive DocumentRoot

      Dans le fichier original /etc/apache2/sites-available/default la directive DocumentRoot contient le chemin vers le répertoire /var/www.
      Ca veut dire que lorsque tu fais http://localhost en fait le navigateur lis le répertoire /var/www

      Le navigateur cherchera un des fichiers spécifiés par la directive DirectoryIndex
      Tu peux voir ce que la directive contient avec la commande
      $ rgrep DirectoryIndex /etc/apache2   
      /etc/apache2/mods-enabled/dir.conf:          DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm


      Par défaut le répertoire<gras> /var/www
      contiendra un fichier </gras>index.html
      Donc quand on fait http://localhost alors le navigateur lira le fichier index.html.

      http://localhost/ -> site_1
      Si on prends ton exemple, tu veux que http://localhost ouvre ton site_1
      En ce cas il suffira de supprimé le fichier index.html original et tout simplement de mettre tous les fichiers pour le site_1 directement dans /var/www

      La requête http://localhost dit au serveur apache de chercher dans le répertoire spécifié par la directive DocumentRoot le fichier spécifié par la directive DirectoryIndex


      http://localhost/dossier_2/ -> site_2

      Pour le deuxième cas, les choses semble assez simples.
      Il suffit de créer un répertoire dossier_2 (le nom peu importe) dans /var/www et mettre dans ce répertoire tout les fichiers concernant le site.

      Ensuite il faudra écrire les directives concernant ton hôte virtuel dans /etc/apache2/site-available/default

      #***** VHOST: site_2 *****   
      <VirtualHost site_2>   
      ServerName site_2   
      DocumentRoot /var/www/dossier_2   
      <Directory /var/www/site_2>   
              Options Indexes FollowSymLinks MultiViews   
              AllowOverride None   
              Order allow,deny   
              Allow from all   
      </Directory>   
              CustomLog /var/log/apache2/site_2_access.log combined   
              ErrorLog  /var/log/apache2/site_2_error.log   
      </VirtualHost>   
      
      


      Il faudra aussi ajouter dans le fichiers /etc/hosts une ligne concernant le site_2
      127.0.0.1 site_2

      Ensuite il faut redémarrer le serveur apache et tester http://localhost/site_1

      http://mon_adresse_ip/ -> site_3
      Si ton serveur se trouve derrière un routeur tu devrais faire la redirection du port 80 vers le pc serveur de ton LAN(Local Area Network)
      Si ton serveur est connecter directement à l'Internet alors il s'agit de ton ip publique qui peut être fixe ou dynamique.

      A l'instar de site_2 tu écris les directives dans /etc/apache2/site-available/default pour le site_3
      Le répertoire de site se trouveras toujours dans /var/www

      #***** VHOST: site_3 *****   
      <VirtualHost site_3>   
      ServerName site_3   
      DocumentRoot /var/www/dossier_3   
      <Directory /var/www/dossier_3>   
              Options Indexes FollowSymLinks MultiViews   
              AllowOverride None   
              Order allow,deny   
              Allow from all   
      </Directory>   
              CustomLog /var/log/apache2/site_3_access.log combined   
              ErrorLog  /var/log/apache2/site_3_error.log   
      </VirtualHost>   
      #


      Dans /etc/hosts on va ajouter la ligne

      mon_adresse_ip site_3

      Redémarrage de serveur apache et ensuite tester avec http://mon_adresse_ip/

      http://mon_adresse_ip/dossier_4/ -> site_4

      Selon l'URL en fait site_4 correspond au répertoire dossier4 qui se trouveras normalement dans le répertoire correspondant à http://mon_adresse_ip

      Ce qui donne l'hôte virtuelle suivante dans /etc/apache2/sites-available/default

      ##***** VHOST: site_4 *****   
      <VirtualHost site_4>   
      ServerName site_4   
      DocumentRoot /var/www/dossier_3/dossier_4   
      <Directory /var/www/dossier_3/dossier_4>   
              Options Indexes FollowSymLinks MultiViews   
              AllowOverride None   
              Order allow,deny   
              Allow from all   
      </Directory>   
              CustomLog /var/log/apache2/site_4_access.log combined   
              ErrorLog  /var/log/apache2/site_4_error.log   
      </VirtualHost>


      Et dans /etc/hosts
      mon_adresse_ip site_4


      Redémarrage de serveur apache et ensuite tester avec http://mon_adresse_ip/site_4

      Avant d'ajouter les directives concernant les hôtes virtuels il faudra ajoute la directive
      NameVirtualHost mon_adresse_ip


      Bon, tout ça pour t'expliquer un peu mais ce n'est pas ce que je ferais.

      Ce qui est important c'est l'objectif et dans ton cas c'est d'avoir 4 sites donc 4 répertoires distinctes.
      J'opterais pour
      http://site_1
      http://site_2
      http://site_3
      http://site_4

      Dans /etc/apache2/sites-available/default

      NameVirtualHost 10.0.0.1   
      
      #***** VHOST: site_1 *****   
      <VirtualHost site_1>   
      ServerName site_1   
      DocumentRoot /var/www/site_1   
      <Directory /var/www/site_1>   
       Options Indexes FollowSymLinks MultiViews   
       AllowOverride None   
       Order allow,deny   
       Allow from all   
      </Directory>   
       CustomLog /var/log/apache2/site_2_access.log combined   
       ErrorLog  /var/log/apache2/site_2_error.log   
      </VirtualHost>   
      #   
      #***** VHOST: site_2 *****   
      <VirtualHost site_2>   
      ServerName site_2   
      DocumentRoot /var/www/site_2   
      <Directory /var/www/site_2>   
       Options Indexes FollowSymLinks MultiViews   
       AllowOverride None   
       Order allow,deny   
       Allow from all   
      </Directory>   
       CustomLog /var/log/apache2/site_2_access.log combined   
       ErrorLog  /var/log/apache2/site_2_error.log   
      </VirtualHost>   
      #   
      #***** VHOST: site_3 *****   
      <VirtualHost site_3>   
      ServerName site_3   
      DocumentRoot /var/www/site_3   
      <Directory /var/www/site_3>   
       Options Indexes FollowSymLinks MultiViews   
       AllowOverride None   
       Order allow,deny   
       Allow from all   
      </Directory>   
       CustomLog /var/log/apache2/site_3_access.log combined   
       ErrorLog  /var/log/apache2/site_3_error.log   
      </VirtualHost>   
      #   
      ##***** VHOST: site_4 *****   
      <VirtualHost site_4>   
      ServerName site_4   
      DocumentRoot /var/www/site_4   
      <Directory /var/www/site_4>   
       Options Indexes FollowSymLinks MultiViews   
       AllowOverride None   
       Order allow,deny   
       Allow from all   
      </Directory>   
       CustomLog /var/log/apache2/site_4_access.log combined   
       ErrorLog  /var/log/apache2/site_4_error.log   
      </VirtualHost>


      Dans /etc/hosts

      mon_adresse_ip  site_1   
      mon_adresse_ip  site_2   
      mon_adresse_ip  site_3   
      mon_adresse_ip  site_4




      Configurer des comptes pour chaque site afin que chaque webmaster aura accès uniquement à l'administration de leur site

      Pour ça tu peux utiliser .htacess
      http://www.infres.enst.fr/~danzart/frames/htaccess.html
      0
  16. troubadour2 Messages postés 284 Statut Membre 1
     
    Bonjour,

    Merci pour tes explications très clair, j'arrive à comprendre à quelques chose près le fonctionnement. Depuis ce matin je suis dessus maintenant l'appéro m'attends et je continuerai cet après-midi.
    Encore merci pour le temps que tu as passé à m'expliquer tout ça, si toutefois j'ai 1 question je peux me permettre de te solliciter encore?
    Merci en tout cas et je te tiens au courant si je suis arrivé à m'en sortir.

    Gilbert
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Salut,

      si toutefois j'ai 1 question je peux me permettre de te solliciter encore?
      Tu peux toujours demander, le forum est fait pour ça ;-)
      Si ça ne sera pas moi, ça sera une autre personne qui prendra le relais.

      Ah, j'ai oublié.
      Teste une modification à la fois.
      Donc d'abord tu fais le site_1.
      Si ça marche alors tu continues, si ça ne marche pas alors teste encore et essaie de voir ce qui ne vas pas.

      J'ai oublié de te dire de sauvegarder le fichier original. C'est un fait une habitude à prendre impérativement.
      0
  17. troubadour2 Messages postés 284 Statut Membre 1
     
    Re bonjour

    Donc j'ai copié le fichier default et je l'ai renommé mes_sites.
    Je met mes 4 VirtualHost dans ce même fichier ou j'en cré 4 ?

    Je ne comprend pas ta phrase lorsque tu dit:
    Avant d'ajouter les directives concernant les hôtes virtuels il faut ajouter la directive: NameVirtualHost mon_adresse_ip

    Merci
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Dans /etc/apache2/sites-available/default tu mets ça.

      NameVirtualHost ici_ip_de_ton_serveur   
      
      #***** VHOST: site_1 *****      
      <VirtualHost site_1>      
      ServerName site_1      
      DocumentRoot /var/www/site_1      
      <Directory /var/www/site_1>      
       Options Indexes FollowSymLinks MultiViews      
       AllowOverride None      
       Order allow,deny      
       Allow from all      
      </Directory>      
       CustomLog /var/log/apache2/site_2_access.log combined      
       ErrorLog  /var/log/apache2/site_2_error.log      
      </VirtualHost>      
      #      
      #***** VHOST: site_2 *****      
      <VirtualHost site_2>      
      ServerName site_2      
      DocumentRoot /var/www/site_2      
      <Directory /var/www/site_2>      
       Options Indexes FollowSymLinks MultiViews      
       AllowOverride None      
       Order allow,deny      
       Allow from all      
      </Directory>      
       CustomLog /var/log/apache2/site_2_access.log combined      
       ErrorLog  /var/log/apache2/site_2_error.log      
      </VirtualHost>      
      #      
      #***** VHOST: site_3 *****      
      <VirtualHost site_3>      
      ServerName site_3      
      DocumentRoot /var/www/site_3      
      <Directory /var/www/site_3>      
       Options Indexes FollowSymLinks MultiViews      
       AllowOverride None      
       Order allow,deny      
       Allow from all      
      </Directory>      
       CustomLog /var/log/apache2/site_3_access.log combined      
       ErrorLog  /var/log/apache2/site_3_error.log      
      </VirtualHost>      
      #      
      ##***** VHOST: site_4 *****      
      <VirtualHost site_4>      
      ServerName site_4      
      DocumentRoot /var/www/site_4      
      <Directory /var/www/site_4>      
       Options Indexes FollowSymLinks MultiViews      
       AllowOverride None      
       Order allow,deny      
       Allow from all      
      </Directory>      
       CustomLog /var/log/apache2/site_4_access.log combined      
       ErrorLog  /var/log/apache2/site_4_error.log      
      </VirtualHost>   
      


      Dans /etc/hosts

      ici_ip_de_ton_serveur  site_1      
      ici_ip_de_ton_serveur  site_2      
      ici_ip_de_ton_serveur  site_3      
      ici_ip_de_ton_serveur  site_4
      0
  18. troubadour2 Messages postés 284 Statut Membre 1
     
    Bonjour

    Un très grand merci pour vos explications tout me parait bien clair.

    Merci beaucoup
    0