Skonfiguruj wirtualne hosty Apache w systemie Ubuntu 15.10

  • Vovich Masterovich
  • 0
  • 569
  • 179

O wirtualnych hostach

Wirtualne hosty służą do konfigurowania więcej niż jednej domeny lub stron internetowych przy użyciu jednego adresu IP. Jest to bardzo przydatne, jeśli ktoś chce obsługiwać wiele witryn internetowych przy użyciu jednego adresu IP na jednym VPS.

W tym samouczku pokażę, jak skonfigurować wirtualne hosty na serwerze WWW Apache na serwerze Ubuntu 15.10. Ponadto ta metoda powinna działać na poprzednich dystrybucjach Ubuntu, takich jak Ubuntu 15.04, 14.10 i 14.04 itp..

Scenariusz

Na potrzeby tego samouczka będę korzystał z 64-bitowej wersji serwera Ubuntu 15.10 i zamierzam udostępniać dwie strony testowe, a mianowicie „Unixmen1.local” i „Unixmen2.local” na tym samym serwerze.

Adres IP i nazwa hosta mojego testera to 192.168.1.103/24 i server.unixmen.local odpowiednio. Pamiętaj, aby zmodyfikować nazwy domen wirtualnych zgodnie z wymaganiami.

Zainstaluj serwer WWW Apache

Przed zainstalowaniem serwera Apache zaktualizujmy nasz serwer Ubuntu:

Aby to zrobić, uruchom:

sudo apt-get update

Teraz zainstaluj serwer WWW Apache za pomocą następującego polecenia:

sudo apt-get install apache2

Po zainstalowaniu serwera Apache sprawdźmy, czy serwer WWW działa poprawnie, czy nie, przechodząc do adresu URL http: // adres-ip /.

Jak widać na powyższym obrazku, serwer WWW Apache działa.

Teraz przejdźmy do konfiguracji wirtualnych hostów na serwerze WWW Apache.

Skonfiguruj wirtualne hosty Apache

1. Utwórz katalogi wirtualne

Teraz przejdźmy do konfiguracji wirtualnych hostów. Jak wspomniałem wcześniej, zamierzam hostować dwa wirtualne hosty o nazwie „Unixmen1.local”, i „Unixmen2.local”.

Utwórz katalog publiczny, aby umieścić dane dwóch wirtualnych hostów.

Najpierw utwórzmy katalog dla witryny unixmen1.local:

sudo mkdir -p /var/www/html/unixmen1.local/public_html

Następnie utwórz katalog dla witryny unixmen2.local:

sudo mkdir -p /var/www/html/unixmen2.local/public_html

2. Konfigurowanie prawa własności i uprawnień

Powyższe katalogi są teraz własnością użytkownika root. Powinniśmy zmienić własność tych dwóch katalogów na zwykłego użytkownika.

sudo chown -R $ UŻYTKOWNIK: $ USER /var/www/html/unixmen1.local/public_html/ 
sudo chown -R $ USER: $ USER /var/www/html/unixmen2.local/public_html/

Plik „$ USER” zmienna wskazuje aktualnie zalogowanego użytkownika.

Ustaw uprawnienia odczytu do katalogu głównego serwera Apache (/ var / www / html /), aby każdy mógł czytać pliki z tego katalogu.

sudo chmod -R 755 / var / www / html /

Stworzyliśmy katalogi do przechowywania danych stron internetowych i przypisaliśmy im niezbędne uprawnienia i własność.

4. Utwórz przykładowe strony dla hostów wirtualnych

Teraz musimy utworzyć przykładowe strony, które mają być obsługiwane przez strony internetowe.

Najpierw utwórzmy przykładową stronę do unixmen1.local wirtualny host.

Utwórz „index.html” dla wirtualnego hosta unixmen1.local,

sudo vi /var/www/html/unixmen1.local/public_html/index.html

Dodaj następującą zawartość:

  www.unixmen1.local   

Witamy na stronie Unixmen1.local

Zapisz i zamknij plik.

Podobnie dodaj przykładową stronę do drugiego hosta wirtualnego.

sudo vi /var/www/html/unixmen2.local/public_html/index.html

Dodaj następującą zawartość:

  www.unixmen2.local   

Witamy na stronie Unixmen2.local

Zapisz i zamknij plik.

5. Utwórz pliki hosta wirtualnego

Domyślnie Apache jest dostarczany z domyślnym plikiem hosta wirtualnego o nazwie 000-default.conf. Skopiujemy zawartość pliku 000-default.conf do naszych nowych plików hosta wirtualnego.

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/unixmen1.local.conf 
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/unixmen2.local.conf

Upewnij się, że pliki hosta wirtualnego zawierają .conf rozszerzenie na końcu.

Teraz zmodyfikuj plik unximen1.local.conf, aby odzwierciedlał nasze nowe własne wartości.

sudo vi /etc/apache2/sites-available/unixmen1.local.conf

Wprowadź odpowiednie zmiany, które odzwierciedlają witrynę unixmen1.

         # Dyrektywa ServerName ustawia schemat żądania, nazwę hosta i port, # których serwer używa do identyfikacji. Jest to używane podczas tworzenia # adresów URL przekierowania. W kontekście hostów wirtualnych nazwa_serwera # określa, jaka nazwa hosta musi pojawić się w nagłówku Host: żądania, aby # pasowała do tego hosta wirtualnego. W przypadku domyślnego hosta wirtualnego (tego pliku) ta wartość # nie jest decydująca, ponieważ niezależnie od tego jest używana jako host ostatniej szansy. # Jednak musisz jawnie ustawić to dla każdego kolejnego wirtualnego hosta. # Nazwa_serwera www.example.com         ServerAdmin [ochrona poczty e-mail]         ServerName unixmen1.local         ServerAlias ​​www.unixmen1.local         DocumentRoot /var/www/html/unixmen1.local/public_html         # Dostępne poziomy: trace8,…, trace1, debug, info, notice, warn, # error, crit, alert, emerg. # Możliwe jest również skonfigurowanie poziomu dla poszczególnych # modułów, np. #LogLevel info ssl: warn ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log łącznie # Dla większości plików konfiguracyjnych z conf-available /, które są # włączone lub wyłączone na poziomie globalnym, jest to możliwe aby # zawierał linię tylko dla jednego konkretnego hosta wirtualnego. Na przykład # następujący wiersz włącza konfigurację CGI dla tego hosta tylko po # globalnym wyłączeniu za pomocą „a2disconf”. # Dołącz conf-available / serve-cgi-bin.conf 

Podobnie, zmodyfikuj drugi plik wirtualnego hosta.

sudo vi /etc/apache2/sites-available/unixmen2.local.conf

Wprowadź odpowiednie zmiany, które odzwierciedlają stronę unixmen2.

         # Dyrektywa ServerName ustawia schemat żądania, nazwę hosta i port, # których serwer używa do identyfikacji. Jest to używane podczas tworzenia # adresów URL przekierowania. W kontekście hostów wirtualnych nazwa_serwera # określa, jaka nazwa hosta musi pojawić się w nagłówku Host: żądania, aby # pasowała do tego hosta wirtualnego. Dla domyślnego hosta wirtualnego (tego pliku) ta wartość # nie jest decydująca, ponieważ niezależnie od tego jest używany jako host ostatniej szansy. # Jednak musisz jawnie ustawić to dla każdego kolejnego wirtualnego hosta. # Nazwa_serwera www.example.com         ServerAdmin [ochrona poczty e-mail]         ServerName unixmen2.local         ServerAlias ​​www.unixmen2.local         DocumentRoot /var/www/html/unixmen2.local/public_html         # Dostępne poziomy: trace8,…, trace1, debug, info, notice, warn, # error, crit, alert, emerg. # Możliwe jest również skonfigurowanie poziomu dla poszczególnych # modułów, np. #LogLevel info ssl: warn ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log łącznie # Dla większości plików konfiguracyjnych z conf-available /, które są # włączone lub wyłączone na poziomie globalnym, jest to możliwe aby # zawierał linię tylko dla jednego konkretnego hosta wirtualnego. Na przykład # następujący wiersz włącza konfigurację CGI dla tego hosta tylko po # globalnym wyłączeniu za pomocą „a2disconf”. # Dołącz conf-available / serve-cgi-bin.conf 

Po zmodyfikowaniu plików hostów wirtualnych wyłącz domyślny host wirtualny (000.default.conf) i włącz nowe hosty wirtualne, jak pokazano poniżej.

sudo a2dissite 000-default.conf 
sudo a2ensite unixmen1.local.conf 
sudo a2ensite unixmen2.local.conf

Na koniec uruchom ponownie usługę Apache.

W Ubuntu 15.10 / 15.04:

sudo systemctl zrestartuj apache2

W Ubuntu 14.10 i wcześniejszych wersjach:

restart usługi sudo apache2

Otóż ​​to. Teraz pomyślnie skonfigurowaliśmy wirtualne hosty Apache na naszym serwerze Ubuntu.

Testowanie hostów wirtualnych

Edytuj plik / etc / hosts,

sudo vi / etc / hosts

Dodaj nazwy domen wirtualnych jedna po drugiej, jak pokazano poniżej.

[…] 192.168.1.103 unixmen1.local 192.168.1.103 unixmen2.local

Zapisz i zamknij plik.

Uwaga: W przypadku, gdy chcesz uzyskać dostęp do powyższych witryn ze zdalnego systemu, musisz dodać powyższe dwie linie do zdalnego systemu / etc / hosts / plik. Nie zapomnij zastąpić adresu IP własnym.

Otwórz przeglądarkę i wskaż adres URL http: //unixmen1.local lub http: //unixmen2.local. Powinieneś zobaczyć przykładowe strony, które stworzyliśmy wcześniej.

Strona testowa Unixmen1.local:

Strona testowa Unixmen2.local:

Podobnie możesz tworzyć i hostować dowolną liczbę witryn. Konfiguracja wirtualnych hostów w Ubuntu jest bardzo łatwa. Mam nadzieję, że ten poradnik Ci pomoże.

Twoje zdrowie!




Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux