• Digitaaliset tarvikkeet
  • Palvelin
  • Digitaalinen elämä
  • Tietosuojakäytäntö
  • Ota meihin yhteyttä
  1. Home
  2. Article
  3. Kuinka määrittää Apache Virtual Host

Kuinka määrittää Apache Virtual Host

Rsdaa 21/10/2021 1294

Apacessa (httpd) virtuaalisia isäntiä käytetään verkkosisällön isännöimiseen useille toimialueille saman palvelimen ulkopuolella riippuen käytetystä IP-osoitteesta tai toimialueen nimestä. Vastaanotetusta pyynnöstä riippuen voidaan soveltaa erilaisia ​​​​virtuaaliisäntämäärityksiä, mikä johtaa erilaisiin asetuksiin ja verkkosisältöön, joka palvellaan yhdeltä verkkopalvelimelta. Esimerkiksi web-palvelin yhdellä IP-osoitteella voi isännöidä useita verkkotunnuksia, kuten example.com ja example.org ja monia muita.

Tässä aiomme käsitellä virtuaalisten isäntien määrittämistä Apache 2.4:lle, jotta meillä voi olla useita verkkotunnuksia, jotka palvelevat eri verkkosivustoja pyydetyn perusteella.

Opiskeletko RHCE-sertifiointiasi varten? Katso RHCE-videokurssimme Udemyssä, joka on 20% alennus, kun käytät koodia ROOTUSER.

Esimerkki Apache Virtual Host -kokoonpanosta

Virtuaalipalvelimen määritykset sijoitetaan yleensä /etc/httpd/conf/httpd.conf-tiedostoon ja myös yksilöllisiin .conf-tiedostoihin /etc/httpd/conf-tiedostossa. .d-hakemisto. On hyvä käytäntö luoda uusi .conf-tiedosto hakemistoon /etc/httpd/conf.d, jos lisäät useita verkkosivustoja isännöimään samasta verkkopalvelimesta, koska tämä pitää kokoonpanon puhtaana ja on helpompi hallita. Esimerkissämme työskentelemme /etc/httpd/conf.d/example1.conf, joka on tarkoitettu verkkosivustolle www.example.com, ja /etc/httpd/conf.d/example2.conf, joka on tarkoitettu verkkosivustolle. www.example.org.

Aloitamme ensin jollakin esimerkinomaisella virtuaalisen isännän määrityksellä ja sitten keskustelemme siitä, mitä kukin rivi todella tekee. Katso lisää esimerkkejä Apachen dokumentaatiosta.

Alla oleva esimerkki virtuaalisen isännän kokoonpanosta on tallennettu /etc/httpd/conf.d/example1.conf-tiedostoon.

Vaadi kaikki myönnettyDocumentRoot "/var/www/html/example1"Palvelinnimi www.example.comServerAlias ​​example.comServerAdmin [email protected]ErrorLog "/var/log/httpd/error_log_example1"CustomLog "/var/log/httpd/example1" yhdistetty p>Alla oleva esimerkki virtuaaliisäntäkokoonpanosta on tallennettu /etc/httpd/conf.d/example2.conf-tiedostoon.

Vaadi kaikki myönnettyDocumentRoot "/var/www/html/example2"PalvelimenNimi www.example.orgPalvelinAlias ​​example.orgServerAdmin [email protected]ErrorLog "/var/log/httpd/error_log_example2"CustomLog "/var/log/httpd/example2" yhdistetty p>Yllä olevissa esimerkeissä meillä on kaksi virtuaalisen isännän määrityslohkoa. Ensimmäinen on www.example.com, kun taas toinen on www.example.org. Alla selitämme esimerkki1/example.com-virtuaalipalvelimen jokaisen rivin, koska näiden kahden kokoonpano on enimmäkseen sama.

– Tämä avaa hakemistotunnisteen ja sitä käytetään sisältämään joukko direktiivejä, jotka koskevat määritettyä hakemistoa. Vaadi kaikki myönnetyt – Tämä vaaditaan käyttöoikeuden myöntämiseen. Ilman sitä Apache-lokit näyttävät oletuskokoonpanona "authz_core:error" /etc/http/conf/httpd.conf-tiedosto määrittää "/"-hakemiston ja "Vaadi kaikki estetty". – Tämä sulkee hakemistotunnisteen. – Tämä virtuaalinen isäntätunniste osoittaa, että sen jälkeistä konfiguraatiota sovelletaan mihin tahansa IP-osoitteeseen portin 80 "*" mukaisesti, "*" voidaan sen sijaan muuttaa tietyksi IP-osoitteeksi, joka on saatavilla palvelimella. Porttia voidaan myös muuttaa, jos kyseisen portin Listen-käsky on määritetty päähttpd.conf-tiedostossa. DocumentRoot “/var/www/example1” – Asiakirjan juuri on hakemisto, jossa on sisältö, jota Apachen tulee palvella vieraillessamme. verkkotunnuksen nimi, tässä tapauksessa osoitteeseen www.example.com siirtyminen ohjaa meidät tiedostoihin, jotka ovat verkkopalvelimen hakemistossa /var/www/example1. Määritetyn hakemiston pitäisi olla olemassa ja sen tulisi mieluiten sisältää content.ServerName www.example.com – Tämä on ainutlaatuinen nimi, jolle virtuaalinen isäntä on tarkoitettu, tässä tapauksessa virtuaalisen isännän määrityslohko on www.example.com website.ServerAlias ​​-esimerkille. com – Vaihtoehtoisia nimiä voidaan käyttää pyynnön yhdistämisessä, ja ne on määritetty ServerAliasissa. Näiden avulla voimme tarjota muita nimiin perustuvia aliaksia, koska vain yksi palvelimen nimi on sallittu virtuaalista isäntä kohden.ServerAdmin [sähköposti suojattu] – Tämä on sähköpostiosoite, joka annetaan virheilmoituksissa, jolloin käyttäjät voivat ottaa yhteyttä verkkopalvelimen verkkopäällikseen. ErrorLog “/var/log/httpd/error_log_example1” – Tämä on tiedosto, johon tallennetaan tähän virtualisäntään liittyvät virhelokit, joista on hyötyä ongelmien vianmäärityksessä .CustomLog “/var/log/httpd/access_log_example1” yhdistetty – tähän tallennetaan käyttölokit. Esimerkiksi kun asiakas tarkastelee verkkosivua, käyttöpyynnöt kirjataan tänne. – Tämä on virtuaalisen isäntälohkon sulkeva tunniste, joka osoittaa tietyn virtuaalisen isännän määrityksen päättymisen.

Jos jokin virtuaalisen isännän kokoonpano puuttuu, /etc/httpd/conf/-päähakemistossa määritetyt oletusasetukset. Sen sijaan käytetään httpd.conf-tiedostoa.

Toinen virtuaalinen isäntälohko esimerkki2.conf-tiedostossa on enimmäkseen sama, paitsi että se huolehtii pyynnöistä www.example.org ja example.org, jotka palvelevat /var/www/html/example2-sisältöä. Virheet kirjataan lokiin /var/log/httpd/error_log_example2 ja pääsypyynnöt hakemistoon /var/log/httpd/access_log_example2.

Kahden .conf-tiedostomme syntaksia voidaan testata apachectl configtest -komennolla alla olevan kuvan mukaisesti. Tässä tapauksessa asiakirjan juurihakemistoja ei ole vielä luotu, joten saamme varoituksen ja meidän pitäisi luoda nämä.

[[email protected] ~]# apachectl configtestAH00112: Varoitus: DocumentRoot [/var/www/html/example1] ei ole olemassaAH00112: Varoitus: DocumentRoot [/var/www/html/example2] ei ole Syntaksi OK

Hakemistot voidaan luoda mkdirillä alla olevan kuvan mukaisesti.

mkdir /var/www/html/example1mkdir /var/www/html/example2

Nyt kun hakemistomme ovat olemassa, varoituksen ei pitäisi enää tulla näkyviin. Tässä esimerkissä olen luonut kaksi index.html-tiedostoa tekstieditorilla molempiin hakemistoihin, sisältö näkyy alla.

[[email protected] ~]# kissa /var/www/html/example1/index.htmlexample.com-sivusto[[email protected] ~]# kissa /var/www/html/example2/index.htmlexample.org-sivusto

Ennen kuin testaamme virtuaalisen isäntäkokoonpanon, kaikki muutokset Apache-määritystiedostoihin, kuten virtuaalisiin isänteihin tehdyt muutokset, edellyttävät, että httpd-palvelu joko käynnistetään uudelleen tai ladataan uudelleen, jotta konfiguraatiomuutokset havaitaan. Apache voidaan ladata uudelleen konfiguraatiomuutosten hyödyntämiseksi "systemctl reload httpd" -toiminnolla. Lisätietoja on palvelunhallintaoppaassamme.

Virtuaalipalvelinten testaus

Kun virtuaalipalvelimen määritykset on tehty ja Apache on ladattu uudelleen, tarvittavat DNS-tietueet on luotava, jotta toimialueet määritetään verkkopalvelimelle. Vaihtoehtoisesti voit testata muokkaamalla hosts-tiedostoasi. Tässä esimerkissä voimme muokata /etc/hosts-tiedostoa ja lisätä seuraavan merkinnän.

127.0.0.1 example.com www.example.com esimerkki.org www.example.org

Tämä tekee näistä verkkotunnuksista paikallinen isäntä. Nyt voimme selata sisältöä ja varmistaa, että virtuaalipalvelimemme toimivat oikein. Tässä tapauksessa aiomme käyttää curl-komentoa tarkastellaksemme kunkin verkkosivuston sisältöä.

[[sähköposti suojattu] ~]# curl example.comexample.com -sivusto[[email protected] ~]# curl esimerkki.orgexample.org -sivusto

Tämä vahvistaa, että /var/www/html/ -hakemistossa on oikeat index.html-sivut esimerkki1 ja /var/www/html/example2 noudetaan onnistuneesti kullekin toimialueelle virtuaalisen isäntäkokoonpanon määrityksen mukaisesti.

Lisätietoja

Jos jäät jumiin tai sinulla on vaikeuksia muistaa jotain näistä, muista httpd-manual-paketti, joka voidaan asentaa ja tarkastella osoitteessa http://localhost/manual.

Valitse pääsivulta Virtuaalipalvelimet saadaksesi apua tähän aiheeseen.

Yhteenveto

Muutaman rivin virtuaalisen isäntäkokoonpanon avulla voimme mahdollistaa Apachen palvelevan useita verkkosivustoja samasta verkkopalvelimesta, jolloin voimme isännöidä useita verkkosivustoja samassa jaetussa hosting-ympäristössä.

Tämä viesti on osa Red Hat Certified Engineer (RHCE) -kokeiden opinto-opassarjaamme. Lisää RHCE:hen liittyviä viestejä ja tietoja löydät täydellisestä RHCE-oppimisoppaastamme.

Aiheeseen liittyvä


PREV: [Ratkaistu] Ei voi muodostaa yhteyttä MySql-palvelimeen localhostilla (10061) (Näytä aihe) * Apache OpenOffice -yhteisöfoorumi

NEXT: Vika #11685: Ei voi muodostaa yhteyttä MySQL-palvelimeen 'localhost...

Popular Articles

Hot Articles

Navigation Lists

Back to Top