Auteur: Zheng Tao
Linux besturingssysteem is erg warm nu, dus veel van mijn vrienden willen weten over Linux, het realisatieproces van het virtuele domein. De volgende zijn gebaseerd op huidige populair op RedHat te bespreken.
1, DNS-server-instellingen
We weten dat het Internet-netwerk is gebaseerd op TCP / IP-protocol om te communiceren moeten elkaars IP-adres, hetgeen wordt bereikt door de DNS-server. Dus om het virtuele domein moet in de eerste DNS-server naar het virtuele domein te accepteren te maken, dat wil zeggen dat kaarten naar het opgegeven IP-adres. Omdat we op afgaan om de domeinnaam webserver te onderscheiden, dus dit moet het IP-adres van de natuurlijke beheerde webserver.
RedHat 6.0 besturingssysteem gebundeld met BIND DNS-server. Het is het domein configuratiebestand "/ etc / named.conf", onder normale omstandigheden, het domein configuratiebestanden in "/ var / named" directory.
In de gevallen 1, named.conf configuratie bestand:
zone "domain.com" (
type master;
bestand "domain.com";
);
zone "0.10.10.in-addr.arpa" (
type master;
bestand "10.10.0";
);
De voorbeelden van "domain.com" domein configuratiebestand "/ var / named / domain.com", reverse domain configuratie bestand "/ var/named/10.10.0". domain.com bestand is verantwoordelijk voor het in kaart brengen van DNS-domein IP-adres.
Cases 2, domain.com file-configuratie:
@ IN SOA dns.domain.com. Hostmaster.dns.domain.com. (
1998111003; seriële
3600; vernieuwen
900; retry
1209600; vervalt
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
Verondersteld dat de domeinnaam stijging is aaa.domain.com, willen wijzen op www.domain.com, moet de DNS-services worden toegevoegd aan een alias opnemen, kunnen als volgt worden geschreven:
aaa IN CNAME www.domain.com.
Als u behoefte aan een groot aantal virtuele domein te configureren, domain.com bestand te groot, maar ook zeer omslachtig. Wij kunnen gebruik maken van het symbool "*", dat wil zeggen aansluiten bij de domain.com bestand:
* IN CNAME www.domain.com.
Dus dat zij niet alle instellingen gegeven aan domain.com om einde te maken aan alle records www.domain.com gezet, en of aaa.domain.com of bbb.domain.com. Dit doet geen afbreuk aan de bestaande record. Geconfigureerde DNS-server moet herstarten met de naam van de daemon:
[Root @ domein / root] # / etc / rc.d / init.d / named start
[Volgende]
Linux besturingssysteem is erg warm nu, dus veel van mijn vrienden willen weten over Linux, het realisatieproces van het virtuele domein. De volgende zijn gebaseerd op huidige populair op RedHat te bespreken.
2, Apache server configuratie
Apache server is de meest gebruikte internet Web-server, die een zeer drukke site kan onderhouden. RedHat 6.0 bundelt de Apache Web Server 1.3. De configuratie bestand in "/ etc / httpd / conf" directory, er zijn httpd.conf, srm.conf, access.conf, bespreken de volgende met betrekking tot de configuratie van het virtuele domein:
1, statische configuratie
Stappen om de configuratie te wijzigen httpd.conf bestand:
(1) Eerste set UseCanonicalName is uitgeschakeld. Het geeft aan dat met de server Host: de koptekst van de inhoud te vervangen Servernaam waarde te verlenen aan de omgevingsvariabele SERVER_NAME.
(2) en vervolgens toegevoegd:
NameVirtualHost xxx.xxx.xxx.xxx waarbij xxx.xxx.xxx.xxx is de virtuele server naar het IP-adres te configureren. Hier kunt u meerdere virtuele IP-adressen, uiteraard, met dezelfde DNS-server configuratie. (Opmerking: Dit gebruik van IP-adressen, domeinnamen kunnen niet worden gebruikt.)
(3) Daarna wordt voor elke virtuele domeinnaam door toevoeging van een record:
Virtualhost Xxx.xxx.xxx.xxx
.....
/ Virtualhost
en de NameVirtualHost xxx.xxx.xxx.xxx het IP-adres van de dezelfde configuratie. Tussen de twee merken kunnen worden toegevoegd aan de configuratie parameters zijn:
Servernaam terug met u naar het virtuele domein te verhogen, zoals aaa.domain.com;
DocumentRoot Als u in kaart gebracht op het pad van de machine achter de verhoging, zoals "/ home / aaa";
omleiden Als u de kaart om een externe URL toe te voegen aan de achterzijde, zijn er twee parameters, de eerste is het virtuele domein relatieve pad, de tweede is de externe site URL;
Serveralias na toetreding tot de domeinalias, kunt u gebruik maken van wildcards zoals *. aaa.domain.com.
De volgende twee voorbeelden:
Voorbeeld 3, toegewezen aan het fysieke pad van het vliegtuig:
Virtualhost Xxx.xxx.xxx.xxx
DocumentRoot "/ home / test"
Servernaam test.domain.com
Virtualhost
Voorbeeld 4, mapping naar een externe URL:
Virtualhost Xxx.xxx.xxx.xxx
Servernaam test1.doamin.com
redirect / http://test.domain1.com/welcome.htm
/ Virtualhost
Sommige parameters, zoals logboekbestand locatie, time-out instellingen, buffer-instellingen, enz., niet 11 in deze beschrijving kan verwijzen naar de Apache server online Help-bestanden. Httpd.conf bestand geconfigureerd om Apache te herstarten na de achtergrond httpd daemon,
[Root @ domein / root] # / etc / rc.d / init.d / httpd herstarten
Elke extra termijn te worden verhoogd in een virtuele domeinnaam in de VirtualHost ... ... / VirtualHost de configuratie tussen de code en pas na het opnieuw opstarten van httpd nieuwe configuratie te activeren.
2, dynamische configuratie
Kan worden gevonden, als je wilt een groot aantal virtuele domein te configureren zal sterk toenemen van de lengte van het configuratiebestand, dus Apache begint te vertragen, nemen meer geheugen, maar niet gemakkelijk te verwezenlijken online solliciteren. Kunt ervoor kiezen om dynamisch te configureren. Zonder de voorafgaande schriftelijke deze configuratie, maar door de opstelling van een aantal dynamische regels voor het automatisch genereren, of op enig moment uit de afzonderlijke configuratie bestand om informatie te lezen.
Apache heeft een krachtige extensie die module (modules) functies. Functie-module kan worden uitgebreid op de server, en gebruik deze bij het draaien op de server, deze ratio is geplaatst in de server om geheugen te besparen, maar ook duurder dan bellen externe CGI-programma Kuai snelheid.
Gebruik nu een krachtige module om dynamisch configureren van een virtuele domein, dat is mod_rewrite. Zij is verantwoordelijk voor het luisteren van de client naar het URL-adres en de expressie gebaseerd op een set van regels die moeten worden herschreven om de URL. Dit is vergelijkbaar met het concept van de URL alias, maar het gaat een stap verder, kan de output van de URL worden toegewezen aan een andere host URL-adres. Stappen om de configuratie te wijzigen httpd.conf bestand:
(1) De eerste set UseCanonicalName is uitgeschakeld.
(2) het gebruik van open rewrite engine RewriteEngine on. Stel het configuratiebestand met RewriteMap locatie en attributen, met RewriteCond RewriteRule en de bijbehorende regels te ontwikkelen.
Zaken 5, httpd.conf bestand, de configuratie van een voorbeeld:
RewriteEngine on
RewriteMap int kleine letters: tolower
# Definieer een aparte configuratiebestanden
RewriteMap vhost dbm: / www / conf / vhostdbm
# Gebruik aparte configuratie bestand om de kaart het virtuele domein
$ RewriteCond (vhost:% 1) ^(/.*)$
RewriteRule ^/(.*)$% 1/docs / $ 1
RewriteCond% (REQUEST_URI) ^ / cgi-bin /
$ RewriteCond (kleine letters:% (SERVER_NAME)) ^(.+)$
$ RewriteCond (vhost:% 1) ^(/.*)$
RewriteRule ^/(.*)$% 1/cgi-bin / $ 1
Hier vhostdbm bestandsformaat, zie "CGI voorbereiding van een programma."
[Volgende]
Linux besturingssysteem is erg warm nu, dus veel van mijn vrienden willen weten over Linux, het realisatieproces van het virtuele domein. De volgende zijn gebaseerd op huidige populair op RedHat te bespreken.
Derde, CGI programmering voor
Voor de toepassing van online virtuele domein, moet u de juiste schrijf CGI-programma dynamisch wijzigen van de afzonderlijke configuratie-bestand (dat ligt boven vhostdbm bestanden) en voor het beheer van de gebruikers (met inbegrip van user applicaties, login, wachtwoord veranderingen, enz.). Dit is alleen het profiel van onafhankelijke exploitatie beschrijft, de andere is hoe de Perl CGI-taal te gebruiken om programma's te schrijven, verwijzen wij u naar de relevante informatie.
vhostdbm bestand met dbm-formaat opslaan van gegevens, en vergeleken met een gewoon tekstbestand kan versnellen het zoeken naar snelheid, en makkelijk aan te passen. Veel UNIX-systemen hebben opgeroepen dbm (database management) van de standaard bibliotheek. De bibliotheek zal de sleutel - waarde paren opgeslagen naar een bestand op schijf, eenvoudige database management tool, kan u gemakkelijk veranderen, toevoegen of verwijderen van de data-inhoud.
Perl toegang dbm manier: open het bestand via een soortgelijk proces van een associatieve array met de dbm-database zal worden gekoppeld. Maak een nieuw element in de array veranderde meteen toen de dbm-database. Verwijder een element te verwijderen, terwijl ook de dbm-database waarden. Kan gebruikt worden:
1, willende DM DM scala aan databases en met bijbehorende:
dbmopen (% arraynaam, "dbmfilename", $ mode);
Als dbmfilename bestaat niet op de nieuwe bibliotheek. % Arraynaam parameter is associatieve array Perl (als de array al een waarde heeft, dan zijn deze waarden zullen worden verwijderd). De associatieve array is aangesloten op de opgeroepen dbmfilename de dbm-database. $ Mode argument is de noodzaak om een bibliotheek wanneer de bibliotheek machtigingen om het aantal control file te creëren, de figuur wordt aangewezen als de 8 systeem, wordt vaak gebruikt is 0644, in aanvulling op de nieuwe naast de belangrijkste machine op alleen-lezen machtigingen voor de gebruiker, machine owners om hebben volledige toegang.
2, sluit de dbm bibliotheek:
dbmclose (% arraynaam);
% Arraynaam dbm bibliotheek is al gekoppeld aan de array naam.
Zaken 6, vhost open vhostdbm, of maak een DBM-bibliotheek:
dbmopen (% vhost, "vhostdbm", 0644);
Voorbeeld 7, het nieuwe records of wijziging van bestaande records (in de vorm van overdracht van het HTML-bestand over de parameter met de naam vhost, rhost):
$ Vhost ($ form (''vhost''}}=$ VORM (''rhost'');
Voorbeeld 8, verwijdert u het bestaande record (in de vorm van de overdracht van het html-bestand over de parameter met de naam vhost):
verwijderen $ vhost ($ form (''vhost''}};
Voorbeeld 9, vlakbij vhostdbm:
dbmclose (vhost%);
Opmerking: De bovengenoemde parameters zijn aangenomen over de overbrenging na verificatie, is er geen herhaling van de plaat, anders zal leiden tot chaos zijn opgenomen.