Kitame straipsnyje apžvelgsime virtualius „Apache“ kompiuterius. Visų pirma būtina tai paaiškinti virtualus pagrindinis kompiuteris yra „Apache“ konfigūravimo direktyva, kuri leis mums paleisti daugiau nei vieną svetainę viename serveryje. Tai, kad jie veikia tame pačiame fiziniame serveryje, galutiniam vartotojui nėra akivaizdu.
Naudodami „Virtual Hosts“ galėsime nurodyti svetainės šaknį (katalogą, kuriame yra svetainės failai), sukurti atskirą kiekvienos svetainės saugumo politiką, naudoti skirtingus SSL sertifikatus ir daug daugiau.
Kitose eilutėse mes pamatysime kaip konfigūruoti „Apache“ virtualiuosius kompiuterius „Ubuntu 20.04“ir tam prieš tęsdami turime atitikti šiuos reikalavimus; vienas ar keli domenų vardai, nukreipiantys į jūsų viešojo serverio IP ir „Ubuntu“ įdiegtą „Apache“.
Sukurkite katalogo struktūrą
Dokumento šaknis yra katalogas, kuriame domeno vardo svetainės failai yra saugomi ir teikiami atsakant į užklausas. Šaknį galime nustatyti mus dominančioje vietoje. Kiekvienas domenas priglobtas apache serveris dokumento šaknis bus nustatytas kaip / var / www / domain-name / public_html.
Mes ketiname pirmiausia sukurkite šaknų katalogą dviem domenams kurį ketinu naudoti šiame pavyzdyje:
sudo mkdir -p /var/www/dominio1.com/public_html sudo mkdir -p /var/www/dominio2.com/public_html
taip pat sukursime failą index.html kiekvieno domeno šakniniame kataloge. Tai bus rodoma, kai aplankysime domeną iš naršyklės:
sudo vim /var/www/dominio1.com/public_html/index.html
Failo viduje įklijuosime šį turinį:
<!DOCTYPE html> <html lang="es"> <head> <meta charset="utf-8">dominio1</title> </head> <body> <h1>Home del dominio1</h1> </body> </html>
Antrojo domeno atveju redaguosime failą index.html ir pridėsime jį šį turinį:
sudo vim /var/www/dominio2.com/public_html/index.html
<!DOCTYPE html> <html lang="es"> <head> <meta charset="utf-8">dominio2</title> </head> <body> <h1>Home del dominio2</h1> </body> </html>
Kadangi pirmiau nurodytos komandos vykdomos su sudo, naujai sukurti failai ir katalogai priklauso root. Norėdami išvengti problemų dėl leidimo, pakeisime domenų šakninio katalogo ir visų šiuose kataloguose esančių failų nuosavybės teises į „Apache“ vartotoją (www-data):
sudo chown -R www-data: /var/www/dominio1.com sudo chown -R www-data: /var/www/dominio2.com
Sukurkite virtualius kompiuterius
„Ubuntu“ sistemose Virtualūs „Apache“ kompiuterių konfigūracijos failai yra kataloge / etc / apache2 / sites-available. Juos galima įjungti sukuriant simbolines nuorodas į katalogą / etc / apache2 / sites enabled, kurią „Apache“ skaito paleidimo metu.
Konfigūracijos failus galime įvardyti, ko tik norime. Bet geriausia praktika yra naudoti domeno vardą kaip virtualaus pagrindinio kompiuterio konfigūracijos failo pavadinimą. Dabar atidarysime savo mėgstamą teksto rengyklę ir sukursime pagrindinius konfigūracijos failus. Pavyzdyje aš tiesiog parodysiu domeno1 kodą:
sudo vim /etc/apache2/sites-available/dominio1.com.conf
Viduje mes pridėsime kažką panašaus į šį, bet domenui2 šiame kode turėsime pakeisti domeną1 į domeną2:
<VirtualHost *:80> ServerName dominio1.com ServerAlias www.dominio1.com ServerAdmin webmaster@dominio1.com DocumentRoot /var/www/dominio1.com/public_html <Directory /var/www/dominio1.com/public_html> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/dominio1.com-error.log CustomLog ${APACHE_LOG_DIR}/dominio1.com-access.log combined </VirtualHost>
- Serverio pavadinimas → Ketinate nurodyti domeną, kuris turėtų atitikti šią virtualaus pagrindinio kompiuterio konfigūraciją. Rytai turėtų būti domeno vardas.
- Serveris Alias → Viskas kiti domenai ar padomeniai, kurie turėtų atitikti šį virtualų pagrindinį kompiuterį, pavyzdžiui, www.
- DocumentRoot → Čia yra nurodys katalogą, iš kurio „Apache“ aptarnaus failus.
- Galimybės → Ši direktyva kontroliuoja, kokios serverio funkcijos yra prieinamos konkrečiame kataloge.
- Indeksai → Venkite katalogų sąrašų.
- „FollowSymLinks“ → Kai ši parinktis įgalinta, „Apache“ stebės simbolines nuorodas.
- „AllowOverride“ → Ketinate nurodyti ką .htaccess faile deklaruojamos direktyvos gali nepaisyti konfigūravimo direktyvų.
- „ErrorLog“, „CustomLog“ → Čia nurodysite žurnalo failo vietos.
Kai failai bus išsaugoti, ketiname įgalinti naują virtualaus pagrindinio failo failą sukurkite simbolinę nuorodą iš virtualaus pagrindinio failo į katalogą, kuriame įgalinta svetainė. Tai atliksime naudodami scenarijų a2ensitas:
sudo a2ensite dominio1.com
Kitas variantas yra rankiniu būdu sukurti simbolinę nuorodą kaip parodyta taip:
sudo ln -s /etc/apache2/sites-available/dominio1.com.conf /etc/apache2/sites-enabled/
Kai tai bus padaryta, mes galime patikrinkite, ar nėra sintaksės klaidų su:
sudo apachectl configtest
Jei nėra klaidų, terminale pamatysime tokį rezultatą:
Mes tęsiame iš naujo paleisdami „Apache“ paslaugą kad pakeitimai įsigaliotų:
sudo systemctl restart apache2
Galiausiai, norėdami patikrinti, ar viskas veikia taip, kaip tikėtasi, atidarysime URL http://dominio1.com naršyklėje ir turėtume pamatyti domeno index.html puslapio turinį:
Naudodamiesi „Virtual Host“, mes galime talpinti kelis domenus viename „Ubuntu“ serveryje. Mes galime pakartoti veiksmus, kurie buvo aprašyti ankstesnėse eilutėse, kad sukurtume papildomus virtualius kompiuterius visiems mūsų domenams.
Šiame straipsnyje aprašytas dalykas yra tik pagrindinis paaiškinimas apie „Virtual Host“ ir jo konfigūraciją „Ubuntu“. Tai gali gauti daugiau informacijos adresu „Apache“ svetainė.
Sveiki, man labai padėjo sukurti virtualius pagrindinius kompiuterius, bet paleisdamas apachectl confitest gavau tokią klaidą: „AH00558: apache2: Nepavyko patikimai nustatyti serverio visiškai kvalifikuoto domeno vardo, naudojant 127.0.1.1. Visiškai nustatykite direktyvą „ServerName“, kad šis pranešimas būtų užblokuotas
Sintaksė gerai »
Nežinau, kas gali būti negerai