Cum se configurează gazdele virtuale în apache pe ubuntu, digitalocean

Sperăm că veți găsi acest tutorial util. În plus față de ghiduri, aceasta, oferim o infrastructură cloud simplu pentru dezvoltatori. Aflați mai multe →

Serverul web Apache este cel mai popular mijloc de postare a conținutului web pe Internet. În contul său, mai mult de jumătate din site-urile web de operare. Acesta este un instrument foarte puternic și flexibil.

Apache împarte funcționalitatea și componentele sale în părți separate care pot fi configurate și configurate independent una de cealaltă. Partea de bază care este responsabilă pentru un anumit site sau domeniu este numită gazdă virtuală.

Acest sistem permite unui administrator să utilizeze un singur server pentru a distribui mai multe site-uri utilizând o interfață sau o adresă IP. Acest lucru este convenabil pentru cei care doresc să utilizeze un singur VPS pentru a stoca mai multe site-uri.

Fiecare domeniu configurat corect va direcționa utilizatorul către un anumit director de server care conține informațiile acestui site care corespund domeniului. Această schemă poate fi extinsă fără restricții din partea software-ului, atâta timp cât serverul este capabil să facă față sarcinii.

În acest tutorial, vă vom arăta cum să configurați gazde virtuale în Apache pe un VPS cu Ubuntu 16.04. În acest proces, veți afla cum să afișați conținut diferit pentru diferiți utilizatori, în funcție de domeniul pe care îl solicită.

Cerințe preliminare

Înainte de a începe, trebuie să creați un utilizator non-root. așa cum este descris în etapele 1-4.

De asemenea, trebuie să aveți instalat Apache pentru a face pașii descriși mai jos. Dacă nu este deja instalat, puteți face acest lucru cu comanda apt-get:

După finalizarea acestor pași, putem începe configurarea gazdelor virtuale.

În acest tutorial vom crea gazde virtuale pentru domeniile example.com și test.com. Vom face referire la ele în manual, însă ar trebui să le înlocuiți cu domeniile dvs. atunci când configurați gazdele virtuale.

Pentru a configura numele de domeniu în DigitalOcean, urmați acest link. Dacă nu aveți domenii gratuite pe care să puteți practica, puteți utiliza nume de domenii fictive.

Puțin mai târziu vom arăta cum să editați un fișier cu gazde locale pentru a verifica configurația în cazul în care utilizați nume de domenii fictive. Acest lucru vă va permite să testați configurația de pe computerul dvs. de acasă, chiar dacă conținutul site-ului nu va fi disponibil pentru acest nume de domeniu altor utilizatori.

Pasul 1 - Creați o structură de directoare

Primul pas pe care îl vom lua este crearea unei structuri de directoare care să conțină date despre site care vor fi afișate vizitatorilor.

Rădăcina noastră de documente (directorul rădăcină - directorul de nivel superior pe care Apache îl caută în căutarea conținutului pentru afișare) va fi configurat să folosească directoarele din directorul / var / www. Aici vom crea directoare pentru ambele gazde virtuale, pe care intenționăm să le facem în acest manual.

În fiecare dintre aceste directoare vom crea un subdirector public_html. care va conține fișiere reale. Acest lucru ne oferă o anumită flexibilitate în ceea ce privește stocarea conținutului.

De exemplu, pentru site-urile noastre, vom crea directoare după cum urmează:

Textul evidențiat în roșu este numele de domeniu al site-urilor pe care dorim să le afișăm utilizând VPS-ul nostru.

Pasul 2 - Atribuiți drepturi

Acum avem o structură de directoare pentru fișierele noastre, dar proprietarul acestor directoare este utilizatorul rădăcină. Dacă dorim ca utilizatorii noștri obișnuiți să modifice fișierele din directoarele noastre web, le putem schimba proprietarul după cum urmează:

Variabila $ USER conține numele utilizatorului în care sunteți conectat (ă) în acest moment. Acum, utilizatorul curent deține directoarele public_html. în care vom stoca conținutul.

De asemenea, trebuie să modificăm puțin permisiunile de acces pentru a vă asigura că permisiunea de citire este permisă directorului web comun și tuturor fișierelor și folderelor conținute în acesta. Acest lucru este necesar pentru a vă asigura că paginile site-ului sunt afișate corect:

Acum, serverul dvs. Web trebuie să aibă permisiunile necesare pentru afișarea conținutului. În plus, acum utilizatorul dvs. are capacitatea de a crea conținut în directoarele necesare.

Pasul 3 - Creați pagini demo pentru fiecare gazdă virtuală

Structura directorului nostru este gata. Să creăm conținut pentru afișarea vizitatorilor site-urilor noastre.

Facem acest lucru doar pentru demonstrație, deoarece pagina va fi foarte simplă. Vom crea o pagină index.html pentru fiecare site.

În acest fișier, creați un document HTML simplu care să arate de la care aparține site-ul. Fișierul nostru arată astfel:

Când ați terminat, salvați și închideți fișierul.

Puteți copia fișierul pentru ao folosi ca bază pentru cel de-al doilea site:

După aceea, puteți deschide fișierul și modifica conținutul acestuia:

Salvați și închideți acest fișier. Acum aveți paginile necesare pentru a verifica configurația gazdelor virtuale.

Pasul 4 - Creați noi fișiere gazdă virtuale

Fișierele gazdă virtuale specifică configurația acestora și determină modul în care serverul web Apache răspunde solicitărilor către diferite domenii.

Apache are un fișier gazdă virtual în mod implicit 000-default.conf. pe care îl putem folosi ca punct de plecare. O vom copia pentru a crea fișiere virtuale pentru fiecare dintre domeniile noastre.

Vom începe cu un domeniu, îl vom configura, îl vom copia pentru un alt domeniu și apoi vom face din nou modificările necesare. Configurarea Ubuntu implicit necesită ca fiecare fișier gazdă virtual să se încheie cu o extensie .conf.

Crearea fișierului primei gazde virtuale

Să începem cu copierea fișierului pentru primul domeniu:

După cum puteți vedea, fișierul este destul de mic. Vom remedia acest lucru pentru primul nostru domeniu și vom adăuga câteva directive noi. Această secțiune de configurare gazdă virtuală se referă la orice interogări care se fac pe portul 80 (portul implicit pentru HTTP).

Apoi trebuie să adăugăm două directive noi. Mai întâi, ServerName. stabilește domeniul primar, care trebuie să se potrivească cu numele gazdei virtuale. Acesta ar trebui să fie numele dvs. de domeniu. Al doilea este ServerAlias. definește alte nume care ar trebui interpretate ca și cum ar fi un domeniu primar. Acest lucru este convenabil pentru utilizarea numelor de domenii suplimentare, de exemplu, folosind www:

Singurul lucru pe care trebuie să-l schimbăm în fișierul gazdă virtuală de bază este locația directorului rădăcină al acestui domeniu. Am creat deja directorul necesar, deci trebuie să schimbăm directiva DocumentRoot astfel încât să se refere la directorul pe care l-am creat:

Acum fișierul gazdă virtuală ar trebui să arate astfel:

Salvați și închideți fișierul.

Acum, când avem prima gazdă virtuală gata, putem crea oa doua, copiind fișierul și ajustând-o acolo unde este necesar.

Începeți prin copiere:

Acum trebuie să corectați toate informațiile necesare pentru al doilea domeniu. Când ați terminat, fișierul ar trebui să arate astfel:

Salvați și închideți fișierul după efectuarea modificărilor.

Pasul 5 - Activați noi gazde virtuale

Acum că am creat fișierele gazdelor noastre virtuale, trebuie să le activam. Apache conține instrumente care ne permit să facem acest lucru.

Putem folosi utilitarul a2ensite pentru a include fiecare dintre site-urile noastre dupa cum urmeaza:

În continuare, dezactivați în mod implicit site-ul 000-default.conf:

După finalizare, trebuie să reporniți Apache pentru ca modificările să aibă efect:

În alte surse de documentație, puteți vedea un exemplu de utilizare a comenzii de serviciu:

Această comandă funcționează la fel, dar nu puteți obține ieșirea, ca atunci când utilizați alte sisteme, deoarece acum această comandă este un wrapper în jurul sistemului.

Pasul 6 - Configurarea fișierului gazdă locală (opțional)

Dacă înainte de asta nu ați folosit nume de domenii reale pe care le dețineți, ci pe cele de test, puteți testa performanța gazdelor virtuale prin modificarea temporară a fișierului hosts de pe computerul local.

Acest lucru vă va permite să interceptați orice cerere în domeniile pe care le-ați configurat și să o redirecționați către serverul dvs. VPS în același mod în care ar face sistemul DNS dacă ați înregistrat domenii. Acest lucru va funcționa numai de pe computerul dvs. local și este folosit numai pentru testarea.

Asigurați-vă că faceți pașii următori pe computerul local, nu pe serverul VPS. Trebuie să cunoașteți parola de administrator sau să fiți membru al grupului de administratori.

Dacă utilizați un computer cu Mac sau Linux, puteți să editați fișierul local cu drepturi de administrator introducând:

Salvați și închideți fișierul.

Pasul 7 - Testați rezultatele

Ar trebui să vedeți o pagină similară:

În mod similar, puteți accesa a doua pagină:

Veți vedea fișierul creat pentru al doilea site:

Dacă ambele site-uri rulează, atunci ați configurat cu succes două gazde virtuale pe același server.

Dacă ați efectuat modificări în fișierul hosts de pe computerul dvs. local, puteți șterge acum rândurile adăugate, deoarece deja convins de performanța configurației. Astfel, nu vom stoca înregistrări inutile în fișierul gazdă.

Dacă doriți ca utilizatorii să poată accesa site-urile dvs. în mod continuu, luați în considerare cumpărarea de nume de domeniu pentru site-urile lor și configurarea acestora pentru a lucra cu serverul dvs. VPS.

concluzie

Dacă ați urmat instrucțiunile noastre, acum trebuie să aveți un server care funcționează cu două nume de domenii diferite. Pentru a adăuga mai multe gazde virtuale, urmați instrucțiunile din acest ghid.

Apache poate funcționa cu orice număr de nume de domeniu, astfel încât să puteți adăuga site-uri noi atâta timp cât serverul dvs. se ocupă de sarcină.