Jak skonfigurować Apache VirtualHost na Ubuntu Top 10.10 najlepszych LTS

Jak skonfigurować Apache VirtualHost na Ubuntu Top 10.10 najlepszych LTS
Apache VirtualHost służy do uruchamiania wielu stron internetowych na tym samym serwerze Apache. To niesamowita funkcja serwera WWW Apache 2 dla wdrażania witryn o wysokiej gęstości na jednym serwerze. Apache ma dwa typy konfiguracji wirtualnej, wirtualHost oparty na IP i VirtualHost oparty na nazwach.VirtualHost oparty na IP: W VirtualHost opartych na IP serwer Apache ma wiele adresów IP i odpowiada różnymi stronami internetowymi na podstawie adresu IP.

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
- Przykład 1.com/
- www/
- public_html/
- indeks.html
- dzienniki/
- Przykład2.com/
- www/
- public_html/
- indeks.html
- dzienniki/
- Przykład3.com/
- www/
- public_html/
- indeks.html
- dzienniki/

Ł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

Testowanie wirtualnych hostów:

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.