2010-05-03 5 views
1

D'abord un avertissement rapide, je ne suis pas un «gars du serveur» ou un «pro unix» ou quoi que ce soit, je suis un programmeur web qui s'est bloqué en serveur depuis Linux (ubuntu) sur mon netbook.Domaines multiples sur le serveur Apache

J'essaie de configurer un serveur apache fonctionnant sous Debian pour servir automagiquement plusieurs domaines, chaque domaine doit avoir son propre répertoire dans/var/www. Comme c'est la dernière chose que je fais pour cette entreprise, j'ai vraiment besoin qu'il soit facile pour mon successeur (qui est encore plus débutant sur les serveurs que moi), de créer plus de domaines sans avoir à traîner avec ssh ou/etc/apache2/sites-available, donc ce que je recherche est fondamentalement tout magic mumbo-jumbo par défaut (ou apt-get, ou conf.d) qui fait que le serveur commence à servir n'importe quel domaine qui a un dossier correspondant Dans/var/www, ils devront bien sûr commencer les transferts de domaine de la manière habituelle.

Je n'ai aucun problème pour configurer des domaines individuellement.

Ick ... espérons que ce qui précède a du sens pour quelqu'un.

Répondre

1

Pour servir plusieurs domaines d'Apache, vous aurez besoin d'Apache hôtes virtuels. Vous pouvez commencer à servir tout domaine qui a un dossier correspondant dans/var/www "avec les hôtes virtuels Apache utilisant mod_vhost_alias

La configuration suivante prendra le nom de domaine complet (comme www.exemple.org) et l'utilisera Comme la variable '% 0', vous devez créer un répertoire sur /var/www.exemple.org/docs et y placer votre contenu HTML. aller dans /var/www/www.example.org/cgi-bin/

<VirtualHost 192.168.1.100:80> 

# get the server name from the Host: header 
UseCanonicalName Off 

VirtualDocumentRoot /var/www/%0/docs 
VirtualScriptAlias /var/www/%0/cgi-bin 

</VirtualHost> 

Ensuite, le point 'www.example.org' à '192.168.1.100', et Apache servira avec plaisir que l'hôte virtuel.

+0

qu'en est-il d'un client entrez "http://example.org"? Est-ce que l'url l'emmènera dans le répertoire /var/www.example.org/docs? – cache

+1

@cache: Bonne question. Non, 'example.org' le conduirait à /var/**example.org**/docs pas /var/www.example.org/docs. Je ne sais pas quoi faire dans ce cas, mais je pense que la solution impliquerait quelques réécritures pour tout envoyer à une URL canonique à l'avance. Je pense que vous devriez poser votre question comme une nouvelle question sur Serverfault.com. J'adorerais voir comment les autres vont gérer ça. –

0

code non testé avec goût d'Ubuntu

sudo a2enmod rewrite 
vi /etc/apache/sites-enabled/000-default 

NameVirtualHost * 
<VirtualHost *> 
     DocumentRoot /var/www/ 
     RewriteEngine On 
     RewriteRule ^(.*)$ %{HTTP_HOST}/$1 
</VirtualHost> 


sudo /etc/inid.d/apache2 restart 
Questions connexes