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 15/03/2007, à 23:38

Mophete

[RESOLU]Apache pour heberger plusieurs sites web

Bonjour à tous.

Alors voila je suis en train de monter un PC sous ubuntu pour qu'il me serve de serveur web et DNS.
J'ai suivi le tuto concernant le DNS disponible ici : http://wiki.ubuntu-fr.org/bind9
Je n'ai rencontré aucun pb particulier.
En dehors de ca, j'heberge donc un site web dont le com de domaine correspond au domaine renseigné dans mon serveur DNS ( par exemple toto.com )
Le site est en ligne, sur le port 80, sans pb.

Mais là ou je rencontre un soucis, c'est pour héberger un autre site web, dont le domaine pourrait par exemple être titi.com, en plus de mon premier site web.

Si je me fie au tuto disponible ici : http://wiki.ubuntu-fr.org/serveur/lamp_bis

Il y a une partie expliquant la notion de virtualhost.
J'ai testé la solution 3 du tuto, basée sur le nom, mais ca ne marche pas.

Du coup je suis parti sur la solution 2, basée sur le numéro de port.
la solution que j'ai retenue est de mettre le site toto.com sur le port 80 et titi.com sur le port 83.
(Ceci dit si vous en avez une meilleure, je reste ouvert à toute suggestion constructive)

sauf que seul le site sur le port 80 ( toto.com ) est accessible, mais par le site titi.com sur le 83, même en local à partir du serveur lui même.
Je pense que j'ai un conflit quelque part entre mon serveur DNS et les virtualhost mais je ne comprend pas où.
Si quelqu'un pouvait m'aider ca me rendrait pas mal service...
Je suis ouvert à toute question si mon post vous semble incomplet ou imprecis.

Cordialement, Mophete.

Dernière modification par Mophete (Le 09/10/2007, à 12:18)

Hors ligne

#2 Le 15/03/2007, à 23:43

M. DECLERCQ

Re : [RESOLU]Apache pour heberger plusieurs sites web

Bonjour ;

Houla, vous vous compliquez bien la vie.

Faites nous voire votre fichier de configuration principal --> /etc/apache2/apache2.conf ainsi que vos fichier de configuration relative à vos hôtes virtuel. Enfin, faites nous voir votre fichier --> /etc/apache2/ports.conf

Dans cette attente ;
____________________________
Bien cordialement ;
Monsieur Laurent DECLERCQ


Cordialement ;

Hors ligne

#3 Le 15/03/2007, à 23:58

Mophete

Re : [RESOLU]Apache pour heberger plusieurs sites web

Alors concernant apache2.conf :
hormis la dernière ligne que j'ai rajouté puis commenté suite à mon test défectueu, je n'ai touché à rien.

# Based upon the NCSA server configuration files originally by Rob McCool.
# Changed extensively for the Debian package by Daniel Stone <daniel@sfarc.net>
# and also by Thom May <thom@debian.org>.

# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# NOTE!  If you intend to place this on an NFS (or otherwise network)
# mounted filesystem then please read the LockFile documentation
# (available at <URL:http://www.apache.org/docs/mod/core.html#lockfile>);
# you will save yourself a lot of trouble.

ServerRoot "/etc/apache2"

# The LockFile directive sets the path to the lockfile used when Apache
# is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or
# USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at
# its default value. The main reason for changing it is if the logs
# directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL
# DISK. The PID of the main server process is automatically appended to
# the filename. 

LockFile /var/lock/apache2/accept.lock

# PidFile: The file in which the server should record its process
# identification number when it starts.

PidFile /var/run/apache2.pid

# Timeout: The number of seconds before receives and sends time out.

Timeout 300

# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.

KeepAlive On

# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.

MaxKeepAliveRequests 100

# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.

KeepAliveTimeout 15

##
## Server-Pool Size Regulation (MPM specific)
## 

# prefork MPM
# StartServers ......... number of server processes to start
# MinSpareServers ...... minimum number of server processes which are kept spare
# MaxSpareServers ...... maximum number of server processes which are kept spare
# MaxClients ........... maximum number of server processes allowed to start
# MaxRequestsPerChild .. maximum number of requests a server process serves
<IfModule prefork.c>
StartServers         5
MinSpareServers      5
MaxSpareServers     10
MaxClients          20
MaxRequestsPerChild  0
</IfModule>

# pthread MPM
# StartServers ......... initial  number of server processes to start
# MaxClients ........... maximum  number of server processes allowed to start
# MinSpareThreads ...... minimum  number of worker threads which are kept spare
# MaxSpareThreads ...... maximum  number of worker threads which are kept spare
# ThreadsPerChild ...... constant number of worker threads in each server process
# MaxRequestsPerChild .. maximum  number of requests a server process serves
<IfModule worker.c>
StartServers         2
MaxClients         150 
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25
MaxRequestsPerChild  0
</IfModule>

# perchild MPM
# NumServers ........... constant number of server processes
# StartThreads ......... initial  number of worker threads in each server process
# MinSpareThreads ...... minimum  number of worker threads which are kept spare
# MaxSpareThreads ...... maximum  number of worker threads which are kept spare
# MaxThreadsPerChild ... maximum  number of worker threads in each server process
# MaxRequestsPerChild .. maximum  number of connections per server process (then it dies)
<IfModule perchild.c>
NumServers           5
StartThreads         5
MinSpareThreads      5
MaxSpareThreads     10
MaxThreadsPerChild  20
MaxRequestsPerChild  0
AcceptMutex fcntl
</IfModule>

User www-data
Group www-data

# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent


# Global error log.
ErrorLog /var/log/apache2/error.log

# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf

# Include all the user configurations:
Include /etc/apache2/httpd.conf

# Include ports listing
Include /etc/apache2/ports.conf

# Include generic snippets of statements
Include /etc/apache2/conf.d/[^.#]*

#Let's have some Icons, shall we?
Alias /icons/ "/usr/share/apache2/icons/"
<Directory "/usr/share/apache2/icons">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

# Set up the default error docs.
#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#

#
# Putting this all together, we can Internationalize error responses.
#
# We use Alias to redirect any /error/HTTP_<error>.html.var response to
# our collection of by-error message multi-language collections.  We use 
# includes to substitute the appropriate text.
#
# You can modify the messages' appearance without changing any of the
# default HTTP_<error>.html.var files by adding the line;
#
#   Alias /error/include/ "/your/include/path/"
#
# which allows you to create your own set of files by starting with the
# /usr/local/apache2/error/include/ files and
# copying them to /your/include/path/, even on a per-VirtualHost basis.
#

<IfModule mod_negotiation.c>
<IfModule mod_include.c>
    Alias /error/ "/usr/share/apache2/error/"

    <Directory "/usr/share/apache2/error">
        AllowOverride None
        Options IncludesNoExec
        AddOutputFilter Includes html
        AddHandler type-map var
        Order allow,deny
        Allow from all
        LanguagePriority en es de fr
        ForceLanguagePriority Prefer Fallback
    </Directory>

    ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
    ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
    ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
    ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
    ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
    ErrorDocument 410 /error/HTTP_GONE.html.var
    ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
    ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
    ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
    ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
    ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var
    ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
    ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
    ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
    ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
    ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var

</IfModule>
</IfModule>

DirectoryIndex index.html index.cgi index.pl index.php index.xhtml

# UserDir is now a module
#UserDir public_html
#UserDir disabled root

#<Directory /home/*/public_html>
#	AllowOverride FileInfo AuthConfig Limit
#	Options Indexes SymLinksIfOwnerMatch IncludesNoExec
#</Directory>

AccessFileName .htaccess

<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>

UseCanonicalName Off

TypesConfig /etc/mime.types
DefaultType text/plain

HostnameLookups Off

IndexOptions FancyIndexing VersionSort

AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*

# This really should be .jpg.

AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core

AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^


# This is from Matty J's patch. Anyone want to make the icons?
#AddIcon /icons/dirsymlink.jpg ^^SYMDIR^^
#AddIcon /icons/symlink.jpg ^^SYMLINK^^

DefaultIcon /icons/unknown.gif

ReadmeName README.html
HeaderName HEADER.html

IndexIgnore .??* *~ *# HEADER* RCS CVS *,t

AddEncoding x-compress Z
AddEncoding x-gzip gz tgz

AddLanguage da .dk
AddLanguage nl .nl
AddLanguage en .en
AddLanguage et .et
AddLanguage fr .fr
AddLanguage de .de
AddLanguage el .el
AddLanguage it .it
AddLanguage ja .ja
AddLanguage pl .po
AddLanguage ko .ko
AddLanguage pt .pt
AddLanguage no .no
AddLanguage pt-br .pt-br
AddLanguage ltz .ltz
AddLanguage ca .ca
AddLanguage es .es
AddLanguage sv .se
AddLanguage cz .cz
AddLanguage ru .ru
AddLanguage tw .tw
AddLanguage zh-tw .tw

LanguagePriority en da nl et fr de el it ja ko no pl pt pt-br ltz ca es sv tw


#AddDefaultCharset	ISO-8859-1

AddCharset ISO-8859-1  .iso8859-1  .latin1
AddCharset ISO-8859-2  .iso8859-2  .latin2 .cen
AddCharset ISO-8859-3  .iso8859-3  .latin3
AddCharset ISO-8859-4  .iso8859-4  .latin4
AddCharset ISO-8859-5  .iso8859-5  .latin5 .cyr .iso-ru
AddCharset ISO-8859-6  .iso8859-6  .latin6 .arb
AddCharset ISO-8859-7  .iso8859-7  .latin7 .grk
AddCharset ISO-8859-8  .iso8859-8  .latin8 .heb	
AddCharset ISO-8859-9  .iso8859-9  .latin9 .trk
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5        .Big5       .big5
# For russian, more than one charset is used (depends on client, mostly):
AddCharset WINDOWS-1251 .cp-1251   .win-1251
AddCharset CP866       .cp866
AddCharset KOI8-r      .koi8-r .koi8-ru
AddCharset KOI8-ru     .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-8       .utf8

AddCharset GB2312      .gb2312 .gb 
AddCharset utf-7       .utf7
AddCharset utf-8       .utf8
AddCharset big5	       .big5 .b5
AddCharset EUC-TW      .euc-tw	
AddCharset EUC-JP      .euc-jp
AddCharset EUC-KR      .euc-kr
AddCharset shift_jis   .sjis

#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps

AddType application/x-tar .tgz

# To use CGI scripts outside /cgi-bin/:
#
#AddHandler cgi-script .cgi

# To use server-parsed HTML files
#
<FilesMatch "\.shtml(\..+)?$">
    SetOutputFilter INCLUDES
</FilesMatch>

# If you wish to use server-parsed imagemap files, use
#
#AddHandler imap-file map

BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0

#
# The following directive disables redirects on non-GET requests for
# a directory that does not include the trailing slash.  This fixes a 
# problem with Microsoft WebFolders which does not appropriately handle 
# redirects for folders with DAV methods.
#

BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully 
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully

# Allow server status reports, with the URL of http://servername/server-status
# Change the ".your_domain.com" to match your domain to enable.
#
#<Location /server-status>
#    SetHandler server-status
#    Order deny,allow
#    Deny from all
#    Allow from .your_domain.com
#</Location>

# Allow remote server configuration reports, with the URL of
#  http://servername/server-info (requires that mod_info.c be loaded).
# Change the ".your_domain.com" to match your domain to enable.
#
#<Location /server-info>
#    SetHandler server-info
#    Order deny,allow
#    Deny from all
#    Allow from .your_domain.com
#</Location>

# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/[^.#]*

# NameVirtualHost 192.168.0.3:80

concernant posts.conf :

Listen 80

en mme temps si je met 83 au lieu de 80 c'est bien le site titi.com qui fonctionne, mais alors su coup mon toto.com, lui, est dans le vent...

et enfin concernant les fichiers de configuration concernant les htes virtuels :

<VirtualHost 192.168.0.3:80>
	DocumentRoot	/var/www/toto.com
	ServerName	toto.com
</VirtualHost>
<VirtualHost 192.168.0.3:83>
	DocumentRoot	/var/www/titi.com
	ServerName	titi.com
</VirtualHost>

Hors ligne

#4 Le 16/03/2007, à 01:17

Thamior

Re : [RESOLU]Apache pour heberger plusieurs sites web

bonjour,

il suffit de rajouter dans le fichier "port.conf" un

Listen 83

mais comme dit précédemment, c'est se compliqué la vie, et puis un site sur le 83, c'est franchement pas extra...

Il faut donc bien partir sur l'idée du Virtalhost basé sur le nom wink

Ce qui fait défaut à ta configuration, c'est que ce type de virtualhost demande obligatoirement le paramètre "ServerName". Apache fait alors une comparaison (en gros et sans détail) entre ton ServerName et le champs "host" contenu dans l'entête de la requête http.

donc :

* dans le httpd.conf :

NameVirtualHost 192.168.0.3

* dans les sites virtuels :

<VirtualHost 192.168.0.3>
    ServerAdmin       toto@toto.com
    DocumentRoot    /var/www/toto.com
    ServerName       www.toto.com
</VirtualHost>
<VirtualHost 192.168.0.3>
    ServerAdmin       titi@titi.com
    DocumentRoot    /var/www/titi.com
    ServerName       www.titi.com
</VirtualHost>

Attention, ton DSN doit bien contenir les champs A de tes domaines vers ton adresse IP.

@+

Dernière modification par Thamior (Le 16/03/2007, à 21:41)

Hors ligne

#5 Le 16/03/2007, à 12:29

Mophete

Re : [RESOLU]Apache pour heberger plusieurs sites web

M. DECLERCQ a écrit :

Bonjour ;

Houla, vous vous compliquez bien la vie.

Dans cette attente ;
____________________________
Bien cordialement ;
Monsieur Laurent DECLERCQ

voila une chose super encourageante !
ce qui est bien c'est que si je me complique la vie alors il y a un moyen plus simple...
je suis tout ouïe pour suivre vos conseils, j'ai tenté de faire ce que m'a indiqué Thamior, mais ca ne fonctionne pas non plus...
a mon avis le process concernant le virtualhost basé sur le nom est en effet le plus propre, mais alors je pense qu'il faut que je crée la zone toto.com dans mon DNS ?

Hors ligne

#6 Le 16/03/2007, à 13:46

zerros

Re : [RESOLU]Apache pour heberger plusieurs sites web

ou la la la !! non non et non !!!

j'imagine que tu as ou va avoir un nom pour chque site.
site 1 : toto.org
site 2 : titi.org

Le souci est d'héberger les 2 sites sur la même bécane c'est bien ca ? Donc la même IP pour les 2 sites.

Alors si tu es en local et que les sites sont des sites intranet, il faut que tu renseignes ton dns interne pour que ces domaines pointenet sur l'ip de ton serveur web. Si ce sont des extranets (accessibles via le web) tu dois les faire pointer sur l'ip PUBLIQUE de ta connexion internet. Ensuite tu redirige le port 80 (et/ou 443 si tu veux du HTTPS) vers l'ip de ton serveur.

ensuite on rentre dans la conf de apache.

tu vires les virtualhost que tu as précédemment créé dans httpd.conf. Au niveau de apache2.conf et httpd.conf tu n'as AUCUNE MODIF A FAIRE.

tu vas éditer ton fichier /etc/apache2/sites-available/default pour y mettre :

NameVirtualHost 192.168.0.3:80
<VirtualHost 192.168.0.3:80>

        ServerName 192.168.0.3
        
        DocumentRoot /data/www/default

        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined

</VirtualHost>

<VirtualHost toto.org:80>
        
        ServerName 192.168.0.3
        ServerAlias www.toto.org

        DocumentRoot /data/www/toto

        ErrorLog /var/log/apache2/error_toto.log
        LogLevel warn
        CustomLog /var/log/apache2/access_toto.log combined

</VirtualHost>

<VirtualHost titi.org:80>
        
        ServerName toto.org
        ServerAlias www.titi.org
        
        DocumentRoot /data/www/titi

        ErrorLog /var/log/apache2/error_titi.log
        LogLevel warn
        CustomLog /var/log/apache2/access_titi.log combined

</VirtualHost>

Ensuite tu n'as plus qu'à créer les répertoires pour chaque site dans /data/www/ (tu devrai créer default, toto et titi) avec les fichiers sources pour chaque site wink

Une fois que tu auras compris la notion des virtualhost, tu pourras séparer les virtualhost de defaut, toto et titi pour les mettre dans des fichiers de conf séparés wink

Dernière modification par zerros (Le 16/03/2007, à 13:48)

Hors ligne

#7 Le 16/03/2007, à 16:18

Mophete

Re : [RESOLU]Apache pour heberger plusieurs sites web

Merci à toi, Zerros smile

Ok c'est très facile à réaliser, ta solution, je te remercie, là je suis à mon boulot je vais tenter ca ce soir ou ce weend, je te tiens au courant aussitôt après.

c'est vrai que j'ai du mal avec tout ce qui est virtualhost et autres DNS......

Hors ligne

#8 Le 18/03/2007, à 19:58

Mophete

Re : [RESOLU]Apache pour heberger plusieurs sites web

Bonjour à tout le monde.

Bon j'ai suivi à la lettre la solution de Zerros.
ca ne marche toujours pas.
je viens de réaliser un truc : étant actuellement chez Orange, avec une IP dynamique, j'utilise dyndns.org.
Je vais être résilié le 1er avril pour partir chez la concurrence, notament chez un FAI qui propose gratuitement une IP fixe, je suppose que ca va résoudre pas mal de soucis que j'ai justement a cause de ca.
Dans la mesure ou, apres vérification, je n'ai pas fait d'erreur par rapport à vos solutions, je vais attendre de ne plus passer par dyndns pour revenir vers vous en cas de pb.

Merci à vous quand même smile

Mophete.

Hors ligne

#9 Le 18/03/2007, à 20:01

zerros

Re : [RESOLU]Apache pour heberger plusieurs sites web

salut,

tu peux deja tester en local avec ton dns interne ou ton fichier hosts.

si ca fonctionne en local, il n'y a aucune raison que ca ne fonctionne pas lorsque tu auras
une ip fixe.

contact moi par mp je vais t'aider a réaliser ton projet (j'installe des serveur LAMP à la pelle tous les jours !!).

a+

Hors ligne

#10 Le 18/03/2007, à 22:32

Thamior

Re : [RESOLU]Apache pour heberger plusieurs sites web

zerros a écrit :

tu vas éditer ton fichier /etc/apache2/sites-available/default pour y mettre :

NameVirtualHost 192.168.0.3:80
<VirtualHost 192.168.0.3:80>

        ServerName 192.168.0.3
        
        DocumentRoot /data/www/default

        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined

</VirtualHost>

<VirtualHost toto.org:80>
        
        ServerName 192.168.0.3
        ServerAlias www.toto.org

        DocumentRoot /data/www/toto

        ErrorLog /var/log/apache2/error_toto.log
        LogLevel warn
        CustomLog /var/log/apache2/access_toto.log combined

</VirtualHost>

<VirtualHost titi.org:80>
        
        ServerName toto.org
        ServerAlias www.titi.org
        
        DocumentRoot /data/www/titi

        ErrorLog /var/log/apache2/error_titi.log
        LogLevel warn
        CustomLog /var/log/apache2/access_titi.log combined

</VirtualHost>

Vraiment étrange cette configuration.... hmm
Tu fait un Vhost sur un site "default" qui ne sert à rien.
Habituellement, on évite les noms de site apres la directive VirtualHost, dans le but d'éviter que la configuration soit déportée vers la résolution de noms.
On ne mets pas un IP apres la directive ServerName !! Le principe du Vhost par le nom est justement la comparaison ServerName et champ host du header de la requête HTTP. (heureusement, tu mets un ServerAlias, mais c'est se compliquer..).
Ton 2ème Vhost a un ServerAlias titi qui pointe sur toto dans un Vhost titi ???

Tu peux expliquer ta méthode, çà m'intéresse...

Hors ligne

#11 Le 18/03/2007, à 22:49

zerros

Re : [RESOLU]Apache pour heberger plusieurs sites web

effectivement, j'ai fait un copier/coller et g pas changé la directive servername.

le fait d'avoir mis, les vhost ds le mme fichier (default) est juste un début pour éviter de se prendre
la tete pour une nouvelle installation.

le bon code est le suivant :

NameVirtualHost 192.168.0.3:80
<VirtualHost 192.168.0.3:80>

        ServerName 192.168.0.3
        
        DocumentRoot /var/www/default

        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined

</VirtualHost>

<VirtualHost toto.org:80>
        
        ServerName toto.org
        ServerAlias www.toto.org

        DocumentRoot /var/www/toto

        ErrorLog /var/log/apache2/error_toto.log
        LogLevel warn
        CustomLog /var/log/apache2/access_toto.log combined

</VirtualHost>

<VirtualHost titi.org:80>
        
        ServerName titi.org
        ServerAlias www.titi.org
        
        DocumentRoot /var/www/titi

        ErrorLog /var/log/apache2/error_titi.log
        LogLevel warn
        CustomLog /var/log/apache2/access_titi.log combined

</VirtualHost>

Pour le server alias, c'est tout simplement que je me suis rendu compte que si la personne attaque en http://nomdedomaine ca fonctionnera mme sans serveralias

donc si on ne met pas de server alias sur le www.nomdedomaine.xxx alors si la personne tape http://www.nomdedomaine.xxx il tombera sur une erreur.

Il est vrai que je gère les sites avec des fichiers différents que le default. Mais par rapport à la première installation de Mophete, je pensais que ca serait plus simple pour lui de gérer ses vhost directement dans un seul fichier.

désolé, Mophete de t'avoir donné un faux code. Celui ci devrait être bon.

++

Dernière modification par zerros (Le 18/03/2007, à 22:50)

Hors ligne

#12 Le 20/03/2007, à 15:31

prometheus

Re : [RESOLU]Apache pour heberger plusieurs sites web

bonjour!
je constate qu'il y a des bon ici alors j'ai une petite question s'il vous plait.
je suis novice complet et je voudrais réaliser un site mais par ou commencer merci de me donner toutes les indications qui vous semblerons judicieuses.
merci d'avance "prometheus"

Hors ligne

#13 Le 21/03/2007, à 20:50

Enixos

Re : [RESOLU]Apache pour heberger plusieurs sites web

Il est d'usage de rouvrir un sujet quand on veut poser une question différente de celle initialement traitée. Ceci, bien sûr, afin de ne pas perturber les réponses à la première question et dans un soucis de clarté. Seul et avec un titre appropriée, ta question aura de plus une réponse plus facilement.

Je vais néanmoins faire entorse à la règle pour t'annoncer que en ce qui concerne ta question, une simple recherche via google te conduira à de très bons tutoriaux. wink

Hors ligne

#14 Le 23/03/2007, à 17:55

prometheus

Re : [RESOLU]Apache pour heberger plusieurs sites web

oui ?! merci pour la limpidité de ta réponse moins longue que la règle d'usage d'utilisation des questions mais bon hmm si c'est trop demander ou trop compliqué comme question je vais donc vous laisser entre vous... roll

Hors ligne

#15 Le 23/03/2007, à 18:54

mahmoud2

Re : [RESOLU]Apache pour heberger plusieurs sites web

bonjour
j'ai le meme probleme a savoir je n'arrive pas à heberger deux sites

j'ai arriver à geberger un seul sachant que je suis un grand débutant en linux

si quelcun peut m'aider les étapes et les fichiers à configurer
merci d'avance

#16 Le 02/04/2007, à 20:34

Mophete

Re : [RESOLU]Apache pour heberger plusieurs sites web

Merci à toi Zerros !!!!!

désolé de ne pas avoir répondu plus tôt, mais j'attendais d'être raccordé auprès de mon nouveau FAI qui a la bonté de m'offrir une IP fixe, du coup je n'ai plus à passer par DYNDNS ou equivalent.

donc j'ai modifié mon fichier comme tu m'avais indiqué, et ca fonctionne !

pour le fun je vais tenter de faire plus proprement tout ca, en creant un fichier par vhost, au lieu d'avoir tout dans le fichier default, mais je verrais ca plus tard.

merci à vous tous pour votre contribution, vous me confortez, si tant est que je puisse l'être encore davantage, dans l'idée qu'Ubuntu est une distribution vraiment formidable, non seulement pour sa qualité de finition actuelle, - et elle ira en s'ameliorant toujouts encore et encore - mais également pour son forum et ses membres qui sont vraiment très accessibles, compétents et efficaces.

que du bonheur !

le pire dans tout ca c'est que je ne vais pas m'aréter à seulement 2 sites web du coup tongue tongue tongue

un hébergement gratis ca vous dit ?
tongue

PS : comment on fait sur ce forum pour mettre [resolu] dans l'ogjet du thread ?

Hors ligne

#17 Le 02/04/2007, à 20:44

zerros

Re : [RESOLU]Apache pour heberger plusieurs sites web

tu edites ton premier poste et tu changes le titre en métant [Résolu] devant le titre wink

Lorsque tu crées les fichiers pour chaque vhost, n'oublie pas que dans sites-enable c'est un lien vers sites-available. Sinon tu peux utiliser la commande a2ensite pour activer tes sites. Il te proposera l'ensemble des sites disponibles. Tu rentres le nom du fichier créé qu'il te propose et cela aura pour effet de créer le lien symbolique tout seul. Pour désactiver un site, soit tu supprime le lien dans site-enable ou alors tu utilises a2dissite. Voili voilou.

Si tes sites sont en prod, je te conseille de faire un apachectl -t pour tester ta syntax apache avant de lancer ton reload. Une erreur, et tu pourrai faire tomber apache et donc rendre inaccessible l'ensemble des sites.

mahmoud2, as-tu encore des soucis ou as tu réussi à résoudre tes problèmes ?

Dernière modification par zerros (Le 02/04/2007, à 20:51)

Hors ligne

#18 Le 02/04/2007, à 22:41

Mophete

Re : [RESOLU]Apache pour heberger plusieurs sites web

OK Zerros je ferais ca à l'occasion, là je suis parti un tuto pour implémenter l'ASP sous Apache...
de toute façon j'ai mis ce thread dans mes favoris donc je suivrais ton conseil à l'occasion, j'ai d'autres priorités, comme un serveur de mail et autre.....et une fois que tout ca tournera comme je veux, un ghost ( au cas où un de mes HDD crame lol ) et seulement apres je jouerais à optimisez apache smile

à une prochaine fois, peut être sur d'autres sujets tongue

Hors ligne

#19 Le 28/08/2007, à 01:32

GolfGT

Re : [RESOLU]Apache pour heberger plusieurs sites web

Salut tout le monde !
J'ai besoin de votre aide pour héberger plusieurs sites sur mon serveur ...

J'ai donc mis en place mon serveur DNS, il marche en local ( enfin je crois ^^ )

zerros a écrit :

Alors si tu es en local et que les sites sont des sites intranet, il faut que tu renseignes ton dns interne pour que ces domaines pointenet sur l'ip de ton serveur web. Si ce sont des extranets (accessibles via le web) tu dois les faire pointer sur l'ip PUBLIQUE de ta connexion internet. Ensuite tu redirige le port 80 (et/ou 443 si tu veux du HTTPS) vers l'ip de ton serveur.

SI je comprend bien dans mon db.mondomaine.fr au lieu de rediriger par exemple ns.mondomaine.fr vers l'ip de mon serveur du genre 192.168.XXX.XXX je le redirige vers mon IP internet ?

Pour être plus clair je vous donne mon db.domaine.fr :

Code :
$TTL 3h
@       IN      SOA     ns.mondomaine.fr. webmaster.mondomaine.fr.  (
        20070827
        604800   
        86400     
        2419200   
        604800 )

@              IN              NS      ns.mondomaine.fr.
@              IN              MX      10 mail.mondomaine.fr.

ns             IN              A       192.168.xxx.xxx

mail          IN              A       192.168.xxx.xxx


pc1           IN              A       192.168.xxx.xxx
pc2           IN              A       192.168.xxx.xxx
pc3           IN              A       192.168.xxx.xxx

serveur     IN              A       192.168.xxx.xxx


pop            IN              CNAME   serveur
smtp          IN              CNAME   serveur
ftp              IN              CNAME   serveur
www          IN              CNAME   serveur

Donc est ce que pour ns, mail et serveur je pointe ver l'ip internet si je veux que se soit accessible a partir d'internet ?

Et est ce que ma config vous parait cohérante ou non ? je suis novice désolé

ps : mon serveur WEB et mon serveur DNS son sur la même machine
et j'ai cru lire que si je voulais aussi m'en servir comme serveur mail il fallait que je renseigne le mail ( @ IN MX 10 mail.mondomaine.fr ) mais est ce que le fait d'avoir mit des alias comme smtp et pop ne suffise pas ?

Merci !

Dernière modification par GolfGT (Le 28/08/2007, à 01:38)

Hors ligne