Autor: Zheng Tao
Linux Betriebssystem ist sehr heiß heute, so viele von meinen Freunden möchte über Linux wissen, die Realisierung der virtuellen Domain. Im Folgenden werden die auf den gegenwärtigen populären basieren auf RedHat zu diskutieren.
1, DNS-Server-Einstellungen
Wir wissen, dass das Internet-Netzwerk auf TCP / IP-Protokoll kommunizieren müssen jeweils anderen werden die IP-Adresse, die durch den DNS-Server erreicht wird, beruht. So, damit die virtuelle Domain-DNS-Server sollte zunächst um die virtuelle Domain akzeptieren, das heißt, es Karten an die angegebene IP-Adresse. Denn wir setzen auf die Domain-Namen Web-Server zu unterscheiden, so sollte dies die IP-Adresse des natürlichen verwaltet Web-Server sein.
RedHat 6.0-Betriebssystem mit BIND-DNS-Server gebündelt. Es ist der Domain-Konfigurationsdatei "/ etc / named.conf", die unter normalen Umständen die Akten der Domain-Konfiguration in "/ var / named"-Verzeichnis.
Die Fälle 1, named.conf:
zone "domain.com" (
type master;
Datei "domain.com";
);
zone "0.10.10.in-addr.arpa" (
type master;
Datei "10.10.0";
);
Die Beispiele für "domain.com" Domain-Konfigurationsdatei "/ var / / domain.com" Reverse Domain-Konfigurationsdatei mit dem Namen ist "/ var/named/10.10.0". domain.com Datei ist verantwortlich für die Zuordnung DNS-Domäne-IP-Adresse.
Die Fälle 2, domain.com File Configuration:
@ IN SOA dns.domain.com. Hostmaster.dns.domain.com. (
1998111003; serielle
3600; refresh
900; retry
1209600; auslaufen
43.200; 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
Davon ausgegangen, dass der Domain-Name ist aaa.domain.com erhöhen, wollen www.domain.com Punkt sollten DNS-Dienste, um einen Alias Eintrag hinzugefügt werden, können wie folgt geschrieben werden:
aaa IN CNAME www.domain.com.
Wenn Sie brauchen, um eine große Anzahl von virtuellen Domänen konfigurieren, domain.com Datei zu groß sein, aber auch sehr schwerfällig. Wir können mit dem Symbol "*", das heißt, in der domain.com beitreten Datei:
* IN CNAME www.domain.com.
Also, sie habe nicht alle Einstellungen gegeben domain.com zu beenden, um alle Datensätze www.domain.com, und ob aaa.domain.com oder bbb.domain.com. Dies berührt nicht die vorhandenen Datensatz. Konfigurierten DNS-Server sollte starten Sie den Daemon genannt:
[Root @ domain / root] # / etc / rc.d / init.d / named starten
[Weiter]
Linux Betriebssystem ist sehr heiß heute, so viele von meinen Freunden möchte über Linux wissen, die Realisierung der virtuellen Domain. Im Folgenden werden die auf den gegenwärtigen populären basieren auf RedHat zu diskutieren.
2, Apache-Server-Konfiguration
Apache-Server ist die meistgenutzte Internet-Web-Server, der ein sehr beschäftigter Website pflegen können. RedHat 6.0 bündelt die Apache Web Server 1.3. Seine Konfiguration in "/ etc / httpd / conf" Verzeichnis befindet, gibt es httpd.conf, srm.conf, access.conf, diskutieren die folgenden im Zusammenhang mit der Konfiguration der virtuellen Domain:
1, statische Konfiguration
Schritte, um die Konfiguration zu ändern httpd.conf:
(1) Zuerst UseCanonicalName ausgeschaltet ist. Es zeigt an, dass mit dem Server Host:-Header der Server-Inhalte Wert zu ersetzen, um die Umgebungsvariable SERVER_NAME bieten.
(2) und fügte dann hinzu:
NameVirtualHost xxx.xxx.xxx.xxx, wobei xxx.xxx.xxx.xxx den virtuellen Server die IP-Adresse konfigurieren. Hier können Sie mehrere virtuelle IP-Adressen, natürlich mit der gleichen DNS-Server-Konfiguration. (Hinweis: Diese IP-Adressen, Domain-Namen können nicht verwendet werden.)
(3) weiter, für jede virtuelle Domain-Namen, indem Sie einen Eintrag:
VirtualHost Xxx.xxx.xxx.xxx
.....
/ VirtualHost
und der NameVirtualHost xxx.xxx.xxx.xxx die IP-Adresse die gleiche Konfiguration. Zwischen den beiden Marken um die Konfiguration Parameter hinzugefügt werden können, sind:
ServerName mit dir zurück zur Erhöhung der virtuellen Domänen, wie aaa.domain.com;
DocumentRoot Wenn Sie auf den Pfad der Maschine hinter der Erhöhung, wie z. B. "/ home / aaa" abgebildet;
umzuleiten, wenn Sie eine Remote-URL Karte, um die wieder hinzufügen, gibt es zwei Parameter, die erste ist die virtuelle Domain relativen Pfad, der zweite ist die Remote-Site URL;
ServerAlias nach seinem Eintritt in das Domain-Alias können Sie Wildcards wie *. aaa.domain.com verwenden.
Die folgenden zwei Beispiele:
Beispiel 3, um den physischen Pfad der Maschine zugeordnet:
VirtualHost Xxx.xxx.xxx.xxx
DocumentRoot "/ home / test"
ServerName test.domain.com
Virtualhost
Beispiel 4, um eine Remote-URL zugeordnet:
VirtualHost Xxx.xxx.xxx.xxx
ServerName test1.doamin.com
Redirect / http://test.domain1.com/welcome.htm
/ VirtualHost
Einige Parameter, wie Speicherort der Protokolldatei, Time-Out-Einstellungen, Puffer-Einstellungen, etc., nicht 11 in dieser Beschreibung kann der Apache-Server der Online-Hilfe-Dateien verweisen. Httpd.conf konfiguriert Apache nach der Hintergrund-Daemon httpd restart-Datei,
[Root @ domain / root] # / etc / rc.d / init.d / httpd restart
Jede zusätzliche Frist in einer virtuellen Domain-Namen in der VirtualHost ... erhöht werden ... / VirtualHost die Konfiguration zwischen dem Code, und erst nach einem Neustart neue Konfiguration httpd wirksam werden.
2, dynamische Konfiguration
Gefunden werden kann, wenn Sie eine große Anzahl von virtuellen Domänen konfigurieren spürbar vergrößern die Länge der Konfigurationsdatei wollen, so Apache startet zu verlangsamen, benötigen mehr Speicher, aber nicht leicht zu erreichen direkt online bewerben. Können wählen, dynamisch zu konfigurieren. Ohne vorherige schriftliche diese Konfiguration aber durch die Erstellung von einigen dynamischen Regeln automatisch zu generieren, oder jederzeit aus der separaten Konfigurationsdatei, um Informationen zu lesen.
Apache hat eine leistungsfähige Erweiterung dieses Moduls (Module) verfügt. Module kann die Funktionalität des Servers, und verwenden Sie es beim Laufen in den Server, so dass in der Server-als um Speicherplatz zu sparen gelegt wurde, während die Verwendung der externen CGI-Prozess als die Geschwindigkeit.
Benutzen Sie nun ein leistungsfähiges Modul dynamisch zu konfigurieren, eine virtuelle Domain, das ist mod_rewrite. Es ist verantwortlich für das Hören vom Client gesendeten die URL-Adresse und den Ausdruck auf eine Reihe von Regeln basieren auf der URL umgeschrieben werden. Dies ist vergleichbar mit dem Konzept des URL-Alias, aber es geht noch einen Schritt weiter, kann die Ausgabe der URL auf andere Host-URL-Adresse zugeordnet werden. Schritte, um die Konfiguration zu ändern httpd.conf:
(1) Der erste Satz UseCanonicalName ausgeschaltet ist.
(2) Der Einsatz von Open-Rewrite-Engine RewriteEngine on. Legen Sie die Konfigurationsdatei mit RewriteMap Standort und Attribute, mit RewriteCond und RewriteRule zu entwickeln, die entsprechenden Vorschriften.
Rechtssachen 5, httpd.conf, die Konfiguration eines Beispiels:
RewriteEngine on
RewriteMap Kleinbuchstaben int: tolower
# Definieren Sie eine separate Konfigurationsdateien
RewriteMap vhost dbm: / www / conf / vhostdbm
# Verwenden Sie separate Konfiguration Map-Datei der virtuellen Domain
RewriteCond $ (vhost:% 1) ^(/.*)$
RewriteRule ^/(.*)$% 1/docs / $ 1
RewriteCond% (REQUEST_URI) ^ / cgi-bin /
RewriteCond $ (kleingeschrieben:% (SERVER_NAME)) ^(.+)$
RewriteCond $ (vhost:% 1) ^(/.*)$
RewriteRule ^/(.*)$% 1/cgi-bin / $ 1
Hier vhostdbm Dateiformat, siehe "CGI-Programm vorbereitet."
[Weiter]
Linux Betriebssystem ist sehr heiß heute, so viele von meinen Freunden möchte über Linux wissen, dass der Verwertungsprozess des virtuellen Domain. Im Folgenden werden die auf den gegenwärtigen populären basieren auf RedHat zu diskutieren.
Drittens, CGI-Programmierung für
So bewerben Sie sich online virtuelle Domain, müssen Sie schreiben die entsprechende CGI-Programm dynamisch ändern Sie die separate Konfigurationsdatei (dh oberhalb vhostdbm-Dateien) und für die Benutzer-Verwaltung (einschließlich der Benutzer Anwendungen, Login, Passwort-Änderungen, etc.). Dies beschreibt nur das Profil für den unabhängigen Betrieb, das andere ist, wie die Perl-Sprache verwenden, um CGI-Programme schreiben, lesen Sie bitte die entsprechenden Informationen.
vhostdbm Datei mit DBM-Format zur Aufnahme von Daten, und verglichen mit einem einfachen Text-Datei können Sie schneller die Suche nach Geschwindigkeit und einfach zu verändern. Viele UNIX-Systeme genannt haben DBM (Datenbank-Managementsystem) der Standard-Bibliothek. Die Bibliothek wird der Schlüssel - Wert-Paare auf einem Datenträger gespeichert werden, um einfache Datenbank-Management-Tool bereitstellen, können Sie leicht ändern, hinzufügen oder löschen, die Daten Inhalt.
Perl Zugang dbm Weg: Öffnen Sie die Datei durch einen ähnlichen Prozess der ein assoziatives Array mit dem DBM-Datenbank verknüpft werden sollen. Erstellen neuer Elemente im Array sofort geändert, wenn der DBM Datenbank. Entfernen Sie ein Element zu entfernen und gleichzeitig das DBM-Werte aus der Datenbank. Können verwendet werden:
1, zu wollen, DBM DBM Reihe von Datenbanken und im Zusammenhang mit:
dbmopen (% arrayname "dbmfilename", $ mode);
Wenn dbmfilename nicht auf die neue Bibliothek vorhanden sind. % ArrayName Parameter ist die Perl-assoziatives Array (wenn das Array bereits einen Wert hat, dann diese Werte werden gelöscht). Die assoziativen Arrays an die aufgerufene dbmfilename das DBM-Datenbank verbunden. $ Mode Argument ist die Notwendigkeit, eine Bibliothek, wenn die Bibliothek Berechtigungen, um die Anzahl Kontroll-Datei erstellen, die Figur wird als 8-System bezeichnet, wird häufig verwendet, ist 0644, zusätzlich zu den neuen Zusätzlich zu den Haupt-Maschine auf Nur-Lese-Berechtigungen für den Benutzer, Rechner Eigentümer haben vollen Zugriff.
2, unweit des DBM-Bibliothek:
dbmclose (arrayname%);
% ArrayName dbm-Bibliothek ist bereits mit den Array-Namen zugeordnet.
Rechtssachen 6, VHOST offenen vhostdbm, oder erstellen Sie eine dbm-Bibliothek:
dbmopen (% VHOST "vhostdbm", 0644);
Beispiel 7, die neue Datensätze oder ändern Sie vorhandene Datensätze (in Form der Übertragung von der HTML-Datei über den Parameter namens vhost, rhost eingezeichnet):
VHOST $ ($ form (''vhost''}}=$ FORM (''rhost'');
Beispiel 8, löschen Sie den vorhandenen Datensatz (in Form der Übertragung von der HTML-Datei über den Parameter namens vhost gesetzt):
delete $ VHOST ($ form (''vhost''}};
Beispiel 9, in der Nähe vhostdbm:
dbmclose (VHOST%);
Hinweis: Die oben genannten Parameter wurden nach Überprüfung Übertragung über angenommen, es gibt keine Wiederholung des Satzes, sonst wird es zu Chaos führen aufgezeichnet wurden.