mise en œuvre du domaine virtuel Linux



Auteur: Tao Zheng

système d'exploitation Linux est très chaud en ce moment, beaucoup de mes amis veulent savoir à propos de Linux, la réalisation du domaine virtuel. Les suivants sont basés sur la populaire actuelle sur RedHat pour discuter.

1, les paramètres du serveur DNS

Nous savons que le réseau Internet est basé sur le protocole TCP / IP pour communiquer doivent être mutuellement adresse IP, qui est réalisé via le serveur DNS. Ainsi, afin de rendre le domaine virtuel devrait premier serveur DNS d'accepter le domaine virtuel, qui est, elle correspond à l'adresse IP spécifiée. Parce que nous nous appuyons sur de distinguer le nom de domaine du serveur Web, ce qui devrait être l'adresse IP du serveur Web naturelles gérées.

système d'exploitation Red Hat 6.0 intégrée avec BIND serveur DNS. Il est le fichier de configuration de domaine est "/ etc /" named.conf, dans des circonstances normales, la configuration du domaine fichiers dans "/ var / named" répertoire.

Les cas 1, la configuration named.conf:

«zone domain.com» (
type master;
fichier "domain.com";
);
«zone 0.10.10.in-addr.arpa" (
type master;
fichier «10.10.0;
);

Les exemples de "domain.com" fichier de configuration de domaine est "/ var / named" domain.com /, inverser le fichier de configuration de domaine est "/ var/named/10.10.0". fichier domain.com est responsable de la cartographie de domaine DNS l'adresse IP.

Cas 2, domain.com fichier de configuration:

@ IN SOA dns.domain.com. Hostmaster.dns.domain.com. (
1998111003; série
3600; rafraîchissement
900; réessayer
1209600; expire
43200; default_ttl
)
@ IN MX 10 dns.domain.com.
@ IN NS dns.domain.com.
@ IN A 10.10.0.1
www IN A 10.10.0.1

On présume que l'augmentation du nom de domaine est aaa.domain.com, tiens à souligner à www.domain.com, les services DNS devrait être ajouté à un enregistrement d'alias, peut être écrite comme:

AAA dans www.domain.com CNAME.

Si vous avez besoin de configurer un grand nombre de domaines virtuels, domain.com fichier à être grand, mais aussi très lourd. Nous pouvons utiliser le symbole "*", c'est-à se joindre à l'domain.com fichier:

* IN CNAME www.domain.com.

Alors qu'il n'a pas mis tous les paramètres donnés à domain.com à www.domain.com fin à tous les dossiers, et si aaa.domain.com ou bbb.domain.com. Ceci n'affectera pas le record existant. Configuré le serveur DNS doit redémarrer le démon named:

] [Racine du domaine @ root / # / etc / rc.d / init.d / named restart




[Page suivante]



système d'exploitation Linux est très chaud en ce moment, beaucoup de mes amis veulent savoir à propos de Linux, la réalisation du domaine virtuel. Les suivants sont basés sur la populaire actuelle sur RedHat pour discuter.

2, de configuration du serveur Apache

serveur Apache est le plus largement utilisé sur Internet serveur Web, qui permet de maintenir un site très occupé. RedHat 6.0 faisceaux de 1,3 Apache Web Server. Son fichier de configuration situé dans / etc / httpd / conf "répertoire, il ya le fichier httpd.conf, srm.conf, access.conf, discuter des points suivants relatifs à la configuration du domaine virtuel:

1, statique configuration

Étapes à suivre pour modifier le fichier de configuration httpd.conf:

(1) UseCanonicalName première série est hors tension. Il indique que, avec l'hôte du serveur: en-tête de remplacer la teneur en valeur ServerName à fournir à la variable d'environnement SERVER_NAME.

(2), puis a ajouté:

NameVirtualHost xxx.xxx.xxx.xxx où xxx.xxx.xxx.xxx est le serveur virtuel à configurer l'adresse IP. Ici vous pouvez configurer plusieurs adresses IP virtuelles, bien sûr, avec la configuration du serveur DNS même. (Note: Cette adresse IP utilisation, les noms de domaine ne peut pas être utilisé.)

(3) Ensuite, pour chaque nom de domaine virtuel en ajoutant un enregistrement:

VirtualHost Xxx.xxx.xxx.xxx
.....
/ VirtualHost

et le NameVirtualHost xxx.xxx.xxx.xxx à l'adresse IP de la même configuration. Entre les deux marques peuvent être ajoutés aux paramètres de configuration sont les suivants:

ServerName retour avec vous pour accroître le domaine virtuel, comme aaa.domain.com;
DocumentRoot Si vous mappé sur le chemin de la machine derrière la hausse, tels que "/ home / aaa";
Si vous rediriger la carte à une URL distante d'ajouter à l'arrière, il ya deux paramètres, le premier est le domaine virtuel chemin relatif, le second est le site distant URL;
ServerAlias après avoir rejoint l'alias de domaine, vous pouvez utiliser des caractères génériques tels que aaa.domain.com *..

Les deux exemples suivants:

Exemple 3, mis en correspondance avec le chemin physique de la machine:

VirtualHost Xxx.xxx.xxx.xxx
DocumentRoot "/ home / test"
test.domain.com ServerName
Virtualhost

Exemple 4, est associé à une télécommande URL:

VirtualHost Xxx.xxx.xxx.xxx
test1.doamin.com ServerName
réorienter / http://test.domain1.com/welcome.htm
/ VirtualHost

Certains paramètres, tels que l'emplacement du fichier journal, les paramètres de délai, les paramètres de mémoire tampon, etc, et non pas 11 dans cette description peut faire référence à des fichiers sur le serveur Apache d'aide en ligne. Fichier httpd.conf configuré pour redémarrer Apache après le démon httpd de fond,

] [Racine du domaine @ root / # / etc / rc.d / init.d / httpd restart

Chaque période supplémentaire d'augmenter dans un nom de domaine virtuel dans le ... VirtualHost ... / VirtualHost la configuration entre le code, et seulement après le redémarrage httpd nouvelle configuration prenne effet.

2, configuration dynamique

Peut être trouvée, si vous souhaitez configurer un grand nombre de domaine virtuel permettra d'accroître considérablement la longueur du fichier de configuration, Apache va commencer à ralentir, de prendre plus de mémoire, mais pas facile à atteindre postuler en ligne. Pouvez choisir de configurer dynamiquement. Sans le consentement écrit préalable de cette configuration, mais à travers la préparation de certaines règles dynamiques de générer automatiquement, ou à tout moment de la configuration séparée de lire les informations.

Apache a une puissante extension de ce module (modules) caractéristiques. Module pouvez étendre les fonctionnalités du serveur, et l'utiliser lors de l'exécution sur le serveur, de sorte que a été placé dans le serveur que pour économiser l'espace mémoire, tout en appelant le processus externe CGI que la vitesse.

Maintenant, utilisez un puissant module de configurer dynamiquement un domaine virtuel, qui est mod_rewrite. Il est chargé de l'écoute du client envoyé l'adresse URL et l'expression repose sur un ensemble de règles destinées à être réécrite à l'URL. Ceci est similaire à la notion d'alias d'URL, mais il va plus loin, la sortie de l'URL peut être mappé sur un autre hôte adresse URL. Étapes à suivre pour modifier le fichier de configuration httpd.conf:

(1) La première série UseCanonicalName est éteint.

(2) l'utilisation du moteur de réécriture RewriteEngine ouverte sur. Le fichier de configuration avec RewriteMap définir l'emplacement et les attributs, avec RewriteCond RewriteRule et à élaborer les règles correspondantes.

fichier httpd.conf cas n ° 5, la configuration d'un exemple:

RewriteEngine on
int minuscules RewriteMap: tolower
# Définir une configuration des fichiers séparés
RewriteMap dbm vhost: / www / conf / vhostdbm
# Utilisez configuration séparée de la carte du domaine virtuel
vhost RewriteCond $ (:% 1) ^(/.*)$
RewriteRule 1/docs ^/(.*)$% / $ 1

RewriteCond% (REQUEST_URI) ^ / cgi-bin /
RewriteCond $ (en minuscules:% (SERVER_NAME)) ^(.+)$
vhost RewriteCond $ (:% 1) ^(/.*)$
RewriteRule ^/(.*)$% 1/cgi-bin / $ 1

Voici le format de fichier vhostdbm, voir «la préparation du programme CGI."




[Page suivante]

système d'exploitation Linux est très chaud en ce moment, beaucoup de mes amis veulent savoir sur Linux, le processus de réalisation du domaine virtuel. Les suivants sont basés sur la populaire actuelle sur RedHat pour discuter.

Troisièmement, la programmation CGI

Pour postuler en ligne de domaine virtuel, vous devez écrire le programme CGI approprié de modifier dynamiquement le fichier de configuration séparé (qui est au-dessus des fichiers vhostdbm) et pour la gestion des utilisateurs (y compris les applications de l'utilisateur, login, mot de passe change, etc.) Ce que décrit le profil de fonctionnement autonome, l'autre est de savoir comment écrire des programmes CGI en Perl, s'il vous plaît se référer aux informations pertinentes.

vhostdbm fichier au format dbm pour enregistrer les données, et par rapport à un fichier texte simple peut accélérer la recherche de vitesse, et facile à modifier. De nombreux systèmes UNIX ont appelé dBm (gestion de base de données) de la bibliothèque standard. La bibliothèque sera paires clé - valeur stockée dans un fichier disque, afin de fournir simple outil de gestion de bases de données, vous pouvez facilement modifier, ajouter ou supprimer le contenu des données.

manière Perl dbm d'accès: ouvrez le fichier par un processus similaire d'un tableau associatif avec la base de données dbm seront reliés. Créer un nouvel élément dans le tableau immédiatement changé lorsque la base de données dbm. Enlever un élément tout aussi supprimer les valeurs de base de données dbm. Peut être utilisé:

1, souhaitant dBm dBm tableau des bases de données et associés à:

dbmopen (arrayname%, "dbmfilename", $ mode);

Si dbmfilename n'existe pas sur la nouvelle bibliothèque. paramètre arrayname% est un tableau associatif Perl (si le tableau a déjà une valeur, ces valeurs seront supprimés). Le tableau associatif connecté au dbmfilename appelé la base de données dbm. $ Argument mode est la nécessité de créer une bibliothèque où le fichier de la bibliothèque des autorisations pour contrôler le nombre, le chiffre est désigné comme le système 8, est souvent utilisée est 0644, en plus de la nouvelle addition à la machine principale à des autorisations en lecture seule pour l'utilisateur propriétaires de machines, à avoir un accès complet.

2, près de la bibliothèque dbm:

dbmclose (arrayname%);
% Dbm arrayname bibliothèque est déjà associé avec le nom de tableau.

Cas 6, VHOST vhostdbm ouverte, ou de créer une bibliothèque dbm:

dbmopen (VHOST%, "vhostdbm", 0644);

Exemple 7, les nouveaux enregistrements ou de modifier des enregistrements existants (dans le formulaire de transfert à partir du fichier html sur le paramètre nommé vhost, rhost):
$ VHOST ($ form (''vhost''}}=$ FORME (''''rhost);

Exemple 8, supprimer l'enregistrement existant (fixé dans le formulaire de transfert à partir du fichier html sur le paramètre nommé vhost):
supprimer $ VHOST ($ form (''''}}; vhost

vhostdbm exemple 9, à proximité:

dbmclose (% VHOST);

Note: Les paramètres ci-dessus ont été pris en charge la transmission par après vérification, il n'y a pas de répétition de l'enregistrement, sinon il conduirait au chaos ont été enregistrées.