Ryc. 1: Virtualhost oparty na IP Apache.
VirtualHost oparty na nazwie: W VirtualHost opartych na nazwie serwer Apache ma jeden adres IP i wiele nazw domen skonfigurowanych dla każdej strony internetowej. Na serwerze DNS każda z tych nazw domen przypisuje się adres IP serwera Apache. W zależności od tego, jak nazwa domeny używała klienta, serwer zwraca różne strony internetowe.
Ryc. 2: Virtualhost oparty na nazwie Apache.
W tym artykule pokażę, jak skonfigurować VirtualHost oparty na nazwie Apache. Będę używać Ubuntu 18.04 LTS dla demonstracji. Ale powinien działać na dowolnym nowoczesnym dystrybucji Linuksa z niewielką lub żadną zmianą. Więc zacznijmy.
Instalowanie serwera WWW Apache 2:
Serwer WWW Apache 2 jest dostępny w oficjalnym repozytorium pakietów Ubuntu 18.04 LTS. Możesz więc łatwo go zainstalować w APT Package Manager.
Najpierw zaktualizuj pamięć podręczną repozytorium pakietów Apt za pomocą następującego polecenia:
Aktualizacja $ sudo apt
Teraz uruchom następujące polecenie, aby zainstalować serwer WWW Apache 2:
$ sudo apt Zainstaluj apache2
Teraz naciśnij y a następnie naciśnij kontynuować.
Należy zainstalować serwer WWW Apache 2.
Konfigurowanie DN:
Teraz musisz skonfigurować serwer DNS, aby mapować nazwy domeny, których chcesz użyć dla VirtualHost na adres IP swojego serwera Apache.
Adres IP swojego serwera Apache można za pomocą następującego polecenia:
$ ip a | egrep „inet”
Jak widać, adres IP w moim przypadku jest 192.168.21.166. Będzie dla Ciebie inaczej. Więc upewnij się, że odtąd zastąp go swoim.
Jeśli chcesz nauczyć się lokalnie skonfigurować Apache VirtualHost, możesz użyć /etc/hosts Plik do lokalnego rozdzielczości DN/Nazwy.
Aby skonfigurować lokalną rozdzielczość DNS, otwórz /etc/hosts plik z Nano następująco:
$ sudo nano /itp
Teraz dodaj linię oznaczoną w zrzucie ekranu poniżej do pliku. Następnie naciśnij + X śledzony przez y I Aby zapisać plik.
Teraz lokalna rozdzielczość nazw powinna działać.
Struktury katalogów:
Chcę zachować wszystkie dane witryny w wirtualnym hostie Apache w określonym katalogu /www. Tutaj chcę utworzyć katalog dla każdego użytkownika. Każdy użytkownik będzie miał własny public_html/ I dzienniki/ katalog również.
Na przykład dla 3 użytkowników Bob (przykład1.com), Alice (przykład2.com), Linda (przykład3.com), Struktura katalogu jest następująca:
/wwwŁatwym sposobem na to jest utworzenie szablonu lub katalogu szkieletu i umieszczenie tam struktury katalogu. Następnie utwórz wszystkich użytkowników za pomocą tego katalogu szkieletu.
Najpierw skopiuj zawartość domyślnego katalogu szkieletu /etc/skel do innego katalogu /etc/skel-WWW następująco:
$ sudo cp -rv /etc /skel /etc /skel -WWW
Teraz przejdź do nowego katalogu szkieletu w następujący sposób:
$ cd /etc /skel-WWW
Następnie utwórz pożądaną strukturę katalogu w katalogu szkieletu w następujący sposób:
$ sudo mkdir -p www/public_html, logs
Możesz także utworzyć domyślnie indeks.html plik w public_html/ Directory, jeśli chcesz.
$ echo "To działa
"| sudo tee www/public_html/index.html
Teraz stwórz /www Katalog z następującym poleceniem:
$ sudo mkdir /www
Tworzenie użytkowników:
Teraz możesz utworzyć użytkownika pion dla www.Przykład 1.com w następujący sposób:
$ sudo useradd-Create-home--home-dir /www /example1.com -Shell
/bin/bash-gid www-data--skel/etc/skel-www bob
W ten sam sposób utwórz użytkownika Alice dla www.Przykład2.com w następujący sposób:
$ sudo useradd-Create-home--home-dir /www /example2.com -Shell /bin /bash
--GID www-data--skel /etc /skel-WWW Alice
Ponownie utwórz użytkownika Linda dla www.Przykład3.com w następujący sposób:
$ sudo useradd-Create-home--home-dir /www /example3.com -Shell /bin /bash
--GID www-data--skel /etc /skel-www linda
Tutaj przypisałem podstawową grupę każdego użytkownika www-data. Domyślnie serwer Apache działa jako ta grupa. Gdybym tego nie zrobił, serwer Apache nie będzie mógł uzyskać dostępu do plików w public_html/ katalog i utwórz pliki dziennika w dzienniki/ informator.
Konfigurowanie Apache VirtualHost:
Teraz możesz skonfigurować Apache VirtualHost dla 3 użytkowników pion (www.Przykład 1.com), Alice (www.Przykład2.com) i Linda (www.Przykład3.com).
Domyślny katalog konfiguracji witryny Apache na Ubuntu jest /etc/apache2/witryny.
Teraz przejdź do katalogu /etc/apache2/witryny-dostępny/ następująco.
$ cd/etc/apache2/witryny-dostępny/
Najpierw utwórz nowy plik konfiguracyjny dla BOB www.Przykład 1.com.conf następująco:
$ sudo nano www.Przykład 1.com.conf
Należy otworzyć edytor tekstu.
Teraz wpisz następujące wiersze.
Servername Przykład 1.com
Serveralias www.Przykład 1.com
DocumentRoot "/www/example1.com/www/public_html "
Opcje -FollowsymLinks +Multiviews +indeksy
Zezwolenie na wszystko
Wymagać wszystkich przyznanych
ErrorLog "/www/example1.com/www/logs/błąd.dziennik"
CustomLog "/www/example1.com/www/logs/dostęp.Log ”łącznie
Uwaga: Zmień pogrubione teksty zgodnie z wymogiem.
Wreszcie plik konfiguracyjny www.przykład.com.conf powinien wyglądać następująco. Naciskać + X a następnie Y i Aby zapisać plik konfiguracyjny.
Aby po prostu skopiować plik konfiguracyjny dla pion (www.Przykład 1.com.conf) i dokonaj wymaganych zmian.
Skopiuj plik konfiguracyjny z pion Do Alice I Linda Z następującymi poleceniami:
$ sudo cp -v www.Przykład 1.com.conf www.Przykład2.com.conf
$ sudo cp -v www.Przykład 1.com.conf www.Przykład3.com.conf
Teraz edytuj plik konfiguracyjny Alice następująco:
$ sudo nano www.Przykład2.com.conf
Teraz zmień wszystkie zdarzenia Przykład 1 Do Przykład2. Następnie zapisz plik.
Zrobić to samo dla Linda.
$ sudo nano www.Przykład3.com.conf
Zmień wszystkie zdarzenia Przykład 1 Do Przykład3 i zapisz plik.
Włączanie konfiguracji wirtualnych:
Teraz wyłącz domyślną konfigurację witryny Apache w następujący sposób:
$ sudo a2dissite 000-default.conf
Teraz włącz konfiguracje VirtualHost www.Przykład 1.com.conf, www.Przykład2.com.conf, www.Przykład3.com.conf następująco:
$ sudo a2ensite www.Przykład 1.com.conf www.Przykład2.com.conf www.Przykład3.com.conf
Wreszcie, uruchom ponownie usługę Apache w następujący sposób:
$ sudo systemctl restart apache2
Teraz spróbuj uzyskać dostęp do stron internetowych www.Przykład 1.com, www.Przykład2.com, www.Przykład3.com
Jak widać, wszystkie te strony działają zgodnie z oczekiwaniami.
NOTATKA: Zmieniłem stronę domyślną indeks.html Dla każdej strony, aby była nieco inna dla każdej strony internetowej w celu testowania. W przeciwnym razie nie będziesz w stanie stwierdzić, czy konfiguracja wirtualHost działa, czy nie.
Tak więc konfigurujesz oparte na nazwach Apache VirtualHost na Ubuntu 18.04 LTS. Dziękujemy za przeczytanie tego artykułu.