Tworzenie wirtualnych hostów Apache za pomocą opcji Włącz/Wyłącz VHosts w RHEL/Centos 7.0

Tworzenie wirtualnych hostów Apache za pomocą opcji Włącz/Wyłącz VHosts w RHEL/Centos 7.0

Hosting wirtualny Umożliwia Apache Weberver obsługę różnych treści na podstawie adresu IP, nazwy hosta lub używanego numeru portu. Ten przewodnik użyje Debian Podobnie jak podejście do włączania i zarządzania wirtualnymi hostami w Red Hat Enterprise Linux/Centos 7.0 poprzez tworzenie dwóch katalogów /etc/httpd/ Ścieżka, która utrzyma wszystkie włączone i wyłączone konfiguracje plików witryny - Witryny-dostępne I witryny z obsługą, oraz dwa rodzaje skryptów do działania jako polecenia, jeden, który umożliwia i inne, które wyłącza określone wirtualne hosty - A2ENSITE I A2dissite. Takie podejście ma pewne zalety, ponieważ musisz zadzierać z plikiem konfiguracyjnym HTTPD, a każdy wirtualny host ma swój własny plik konfiguracyjny, który można znaleźć w jednym miejscu - hosty włączane są tylko symbolizacją - które powodują, że proces włączania, wyłączania, tworzenia lub tworzenia lub Usuwanie ich bardzo możliwych do zarządzania.

Apache wirtualne hosting z opcjami włączania/wyłączania

Wymagania

  1. Lampa podstawowa instalacja na RHEL/CENTOS 7.0

Utwórz i zarządzaj wirtualnymi hostami Apache w RHEL/CENTOS 7

1. Na początek, zacznij od włączenia /etc/httpd/ Ścieżka, utwórz te katalogi i edytuj witryny i edytuj Apache httpd.conf plik do zastosowania nowej lokalizacji witryn Włączonych.

# cd/etc/httpd/ # mkdir witryny bez dostępnych witryn # nano conf/httpd.conf
Utwórz katalogi vhost apache

2. NA httpd.conf Plik dodaj następującą linię dyrektywy u dołu pliku, co sprawi, że Apache odczytu i analizuje wszystkie pliki znajdujące się /etc/httpd/witryny-obserwowane/ zakończył się .conf rozszerzenie.

Obejmują witryny z obsługą/*.conf
Włącz katalogi Apache

3. Na następnym kroku Utwórz nowy wirtualny host Witryny-dostępne Lokalizacja za pomocą opisowej nazwy - w tym przypadku użyłem Rheltest.Lan.conf - i użyj następującego pliku jako szablonu.

# nano/etc/httpd/witryny-dostępna/rheltest.Lan.conf

Użyj tej konfiguracji jako przewodnika.

 Servername Rheltest.Lan Documentroot "/var/www/Rheltest.indeksy opcji LAN „Opcje Symlinks Multiviews # Uzdrowadnia Kontroluje, w których dyrektywach można umieścić .Pliki Htaccess. Updalantoverride Wszystkie elementy sterujące, które mogą uzyskać rzeczy z tego zezwolenia na zamówienie pliku serwera, odmówić zezwolić ze wszystkich serwerów Apache Apache ErrorLog/var/log/httpd/Rheltest.Lan-error.Log CustomLog/var/log/httpd/rheltest.Lan-Access.Log łącznie 
Utwórz apache vhosts

4. Jeśli się zmieniłeś DocumentRoot Lokalizacja na wirtualnym hoście z Domyślnie /var/www/html na inną ścieżkę upewnij się, że tworzysz również tę ścieżkę.

# mkdir -p/var/www/rheltest.Lan

NOTATKA: Zapewnij również, że host servvername jest ważnym rekordem DNS lub jest dodawany do pliku hostów lokalnych maszyn, skąd planujesz odwiedzić stronę internetową.

5. Teraz nadszedł czas na stworzenie A2ENSITE I A2dissite Bash Skrypty na wykonywanej ścieżce systemowej - w tym przypadku jest /usr/lokalny/bin/ - Ale
możesz użyć dowolnej ścieżki wykonywalnej $ Ścieżka Wyjścia zmiennych systemowych.

Utwórz skrypt A2EnSite

Utwórz następujący plik z wyborem edytora.

# nano/usr/local/bin/a2ensite

Dodaj do niego następujący skrypt.

#!/bin/bash if test -d/etc/httpd/sitees -available && test -d/etc/httpd/sites -enabled; Następnie echo "------------------------------------------- „Else Mkdir/etc/httpd/Sites-dostępny mkdir/etc/httpd/Sites-obsługujący Fi =/etc/httpd/Sites-dostępny/1 USD.conf enabled =/etc/httpd/siteS-enabled/site = "ls/etc/httpd/witryny-dostępny/" if ["$#" != "1"]; następnie echo „Użyj skryptu: a2EnSite Virtual_Site” echo -e ”\ Navailable Virtual Hosts: \ n $ Site” Exit 0 Else, jeśli test -e $ dostępny; Następnie sudo ln -s $ avalud $ enabled else echo -e "$ dostępny wirtualny host nie istnieje! Utwórz jeden!\ n $ witryna "exit 0 fi Jeśli test -e $ włączony/1 $.conf; Następnie Echo „Sukces!! Teraz restartuj serwer Apache: sudo systemctl restart httpd „else echo -e” wirtualny host $ dostępny nie istnieje!\ nplease
Utwórz skrypt A2EnSite
Utwórz skrypt A2Dissite

Utwórz następujący plik z wyborem edytora.

# nano/usr/local/bin/a2dissite

Dodaj cały następujący skrypt do pliku.

#!/bin/bash avalue =/etc/httpd/witryny-obserwator/1 USD.conf enabled =/etc/httpd/witryna-obserwowana strona = "ls/etc/httpd/witryny-obserwowana/" if ["$#" != "1"]; Następnie echo „Użyj skryptu: a2dissite virtual_site” echo -e ”\ Navailable Virtual Hosts: \ n $ Site” Exit 0 Else, jeśli test -e $ dostępny; wtedy sudo rm $ avalue else echo -e "$ dostępny wirtualny host nie istnieje! Wyjście!„Wyjdź 0 fi, jeśli test -e $ włączony/1 $.conf; Następnie błąd echo „!! Nie można usunąć $ dostępnego wirtualnego hosta!Sukces „else echo -e”! $ Dostępne zostało usunięte!\ nplease restart apache: sudo systemctl restart httpd "exit 0 fi fi
Utwórz skrypt A2Dissite

6. Po utworzeniu obu plików skryptów upewnij się, że są wykonywalne i zacznij je używać włączać Lub wyłączyć Hosty wirtualne poprzez dołączenie nazwy VHost jako parametru polecenia.

# chmod +x/usr/local/bin/a2* # a2ensite vhost_name # a2disite vhost_name

7. Aby go przetestować, włącz wirtualny host utworzony wcześniej, ponownie uruchom usług Apache i bezpośrednio przeglądarkę do nowego wirtualnego hosta - w tym przypadku http: // rheltest.Lan.

# A2EnSite Rheltest.LAN # Systemctl restart httpd
Włącz Apache VirtualHost Sprawdź Apache VirtualHost

Otóż ​​to! Teraz możesz użyć a2eniste I A2dissite Skrypty Bash jako polecenia systemowe do zarządzania plik APACHE VHOSTS na RHEL/CENTOS 7.0.