Host-uri virtuale (subdomenii) mod_vhost_alias (virtualdocumentroot)

Am plănuit să creez într-un fel o rețea de site-uri de tipul subdomeniului mic de tip.

Am știut cum să lucrez cu gazde virtuale și nu există probleme speciale cu acest lucru, dacă există site-uri, de exemplu, 10. Și dacă 100. De fiecare dată când editați config-urile Apache.







Am inceput sa caut o solutie (voi fi sincer - am gasit rapid solutia, nu am putut sa o ajustam mult timp). Dar soluția este simplă - utilizați modulul pentru Apache pentru a crea un alias la gazda virtuală - mod_vhost_alias și DocumentulRădăcină substituție dinamică prin VirtualDocumentRoot.

Cum se activează modulul, cred că știi (bine, sau Google =)), vom trece prin restul acțiunii.

1) În panoul de control al domeniului, am creat un subdomeniu * .domain.com @. astfel încât toate subdomeniile să conducă la serverul unde este localizat domeniul principal.

2) Pe server, gazda virtuală este configurată după cum urmează:

Ei bine, o explicație:

ServerName www.domain.com - specificăm numele serverului principal, ca de obicei, configurarea gazdelor virtuale

ServerAlias ​​domain.com * .domain.com - specifică alias-urile pentru gazdă (orice subdomeniu va fi un alias și va fi alocat gazdei virtuale

RewriteEngine pe - porniți revin, avem nevoie de ea

RewriteCond% ^ domain \ .com [NC] - setați condiția de rescriere - domeniu principal fără www

UseCanonicalName Off - numele serverului pe care îl înlocuim de la antetele solicitării serverului (adică ce a introdus utilizatorul - orice subdomeniu)







VirtualDocumentRoot / usr / local / www / domain /% 0 - creați o bază de date virtuală. Unde% 0 este dosarul cu numele de domeniu complet. Puteți utiliza% 1 - prima parte a domeniului, în acest caz folderele pentru subdomenii vor trebui să fie numite www, sub1, sub2.

În plus, puteți citi despre aceste setări la httpd.apache.org

Avem frumusețe. Pentru a crea un subdomeniu, trebuie doar să creați un dosar cu numele acestuia în rădăcina gazdei.

Dacă nu există nici un dosar - 404 eroare va cădea și totul este frumos! ;)

Privind ce funcționalitate aveți nevoie =)

Pe server există Apache + Nginx, este necesar ca toate subdomeniile menționate primar, în cazul în care un script PHP, voi renunța la ceea ce ar trebui să fie pe subdomeniu. Înregistrarea A a fost creată așa cum ar trebui. În configurarea aliasului Apache înregistrat *. Site.com a încercat să înregistreze alias-ul în config-ul Nginx, subdomenii nu funcționează deloc. Pe ISP-ul serverului ar trebui să acopere, în cazul în care prin ea permite avtopoddomenov apoi se conectează modulul mod_vhost_alias și linia prescrisă în fișierul de configurare Apache cu VirtualDocumentRoot parametru, atunci eroarea de server 502 până la Dezactivați modul nou.

Bună ziua, îmi pare rău că este în afara subiectului, dar poate cineva să știe cum să înființeze. Merită să aveți serverul ubuntu, pe el apache2, este necesar să puteți accesa site-ul de la gazda computerului, cum să îl faceți?

Dacă nu jucați cu DNS și cu alții (adică faceți-o rapid și local - fac acest lucru pentru proiectele de fată)

1) Pe serverul ubuntu, ridicăm gazda virtuală (orice nume este vasya-project)

2) Pe mașina locală, care va fi accesată la gazdă - o adăugăm în fișierul / etc / hosts

Salvarea, acum când proiectul ping vasya - va fi PI specificat, iar când te duci la proiectul vasya, Wirth se deschide. gazdă server ubuntu

yaap. Multumesc mult, a ajutat!

În domeniul meu VPS 2 (domain1.ru și domain2.ru).

Vreau să creez pentru fiecare subdomeniu.

Mi-am dat seama cu DNS, dar nu-l am cu Apache. La mine în timp ce pentru ei există un astfel de punct focal:

Dosarul / var / www conține 2 dosare: domain1 și domain2

Vreau să fac asta:

Desigur, poți cu ".ru", dar că fiecare subdomeniu ar avea propriul dosar







Trimiteți-le prietenilor: