Jak zainstalować Apache z wirtualnym hostem na Centos 8

Jak zainstalować Apache z wirtualnym hostem na Centos 8

Apache WebServer to OpenSource i popularny serwer WWW HTTP, który nadal cieszy się ogromnym udziałem w rynku w branży hostingowej. Wysyła mnóstwo funkcji, w tym ulepszenia modułów, obsługę wieloprotocolu, uproszczoną konfigurację i obsługę wielojęzyczną, aby wymienić tylko kilka.

Przeczytaj także: Jak zainstalować Nginx w CentOS 8

W tym przewodniku przeprowadzimy Cię przez instalację Apache Webserver on Centos 8 I RHEL 8 z wirtualnym środowiskiem hosta. W momencie pisania tego samouczka najnowsza wersja Apache to Apache 2.2.43.

Instalowanie Apache Web Server

Aby rozpocząć, najpierw zaktualizuj Centos 8 Lub RHEL 8 Lista pakietów systemowych za pomocą następujące polecenie DNF.

Aktualizacja $ sudo dnf 

Po zakończeniu aktualizacji zainstaluj Apache WebServer poprzez wykonanie następującego polecenia.

$ sudo dnf instaluj httpd 

Po zainstalowaniu możesz zweryfikować wersję Apache, uruchamiając polecenie RPM.

$ rpm -qi httpd 
Sprawdź wersję Apache

Polecenie drukuje szereg informacji, takich jak wersja, data wydania, kompilacja i architektura pakietu.

Aby uruchomić usługę internetową Apache HTTP, uruchom polecenie SystemCtl.

$ sudo systemctl start httpd 

Aby potwierdzić, czy usługa jest uruchomiona, wykonaj.

$ sudo Systemctl Status httpd 
Sprawdź status usługi Apache

Z wyjścia, 'aktywny„Status w kolorze zielonym wskazuje, że serwer Web.

Aby wyczyścić wszelkie wątpliwości, że Webserver działa, poproś o stronę testową z Apache, przeglądając adres IP lub nazwę domeny serwera, jak pokazano.

http: // server-iP 

Możesz uzyskać adres IP serwera, uruchamiając polecenie ifconfig. Jeśli Twój serwer jest hostowany w chmurze, możesz uzyskać publiczny adres IP, uruchamiając polecenie curl.

$ curl ifconfig.ja lub $ curl -4 icanhazip.com 
Znajdź adres IP serwera Centos

Podczas przeglądania adresu IP serwera należy wyświetlić następującą stronę internetową.

Sprawdź stronę Apache

Jest to pewne potwierdzenie, że WebServer działa.

Zarządzanie Apache Webserver

Z Apache Zainstalowane i uruchomione, możesz użyć Systemctl Narzędzie inspekcji do zarządzania apache.

Na przykład, aby zatrzymać Apache, uruchom polecenie:

$ sudo systemctl stop httpd 

Aby ponownie rozpocząć usługę, wykonaj:

$ sudo systemctl start httpd 

Jeśli wprowadziłeś zmiany w dowolnym pliku konfiguracyjnym i musisz ponownie uruchomić, aby zastosować zmiany, wykonaj polecenie:

$ sudo systemctl restart httpd 

Ponowne uruchomienie usługi zwykle powoduje zakłócenie usług. Lepszą alternatywą jest po prostu przeładowanie bez żadnej przerwy z połączeniem.

$ sudo systemCtl RELOOD HTTPD 

Aby automatycznie uruchomić serwer WWW Apache po uruchomieniu lub ponownym uruchomieniu, uruchom poniższe polecenie. Zapewni to automatycznie Apache bez interwencji.

$ sudo systemctl włącz HTTPD 

Jeśli zdecydujesz się nie uruchomić usługi automatycznie w rozruchu, uruchom:

$ sudo systemctl wyłącz httpd 

Konfigurowanie wirtualnych hostów Apache

Domyślnie serwer WWW Apache jest skonfigurowany do obsługi lub hostowania tylko jednej strony internetowej. Jeśli chcesz hostować tylko jedną stronę internetową, ten krok nie jest wymagany. Ale w przypadku, gdy planujesz hostować wiele domen na serwerze, musisz skonfigurować wirtualne hosty Apache.

Host wirtualny to osobny plik zawierający konfiguracje, które pozwalają skonfigurować osobną domenę od domyślnej. W tym przewodniku skonfigurujemy wirtualny host dla domeny Crazytechgeek.informacje.

Domyślny wirtualny host znajduje się w /var/www/html informator. Działa to tylko dla jednej strony. Aby utworzyć osobny wirtualny host dla naszej domeny, utworzymy kolejną strukturę katalogu w ramach /var/www katalog, jak pokazano.

$ sudo mkdir -p/var/www/crazytechgeek.Info/HTML 

Dodatkowo możesz również utworzyć katalog do przechowywania plików dziennika.

$ sudo mkdir -p/var/www/crazytechgeek.Informacje/dziennik 

Następnie edytuj uprawnienia do pliku $ Użytkownik Zmienna środowiskowa, jak pokazano.

$ sudo chown -r $ użytkownik: $ user/var/www/crazytechgeek.Info/HTML 

Dostosuj również uprawnienia katalogu Webroot, jak pokazano.

$ sudo chmod -r 755 /var /www 

Następnie utwórz próbkę indeks.html plik jak pokazano.

$ sudo vim/var/www/crazytechgeek.Info/html/indeks.html 

Uderzyć w list 'I' Na klawiaturze i wklej przykładową zawartość, jak pokazano, co będzie wyświetlane w przeglądarce internetowej podczas testowania wirtualnego hosta.

  Witamy w Crazytechgeek.informacje!   

Powodzenie! The Crazytechgeek.Informacje wirtualne host są i doskonale działają!

Zapisz i wyjdź z pliku konfiguracyjnego.

Po utworzeniu przykładowego pliku indeksu i katalogu witryny możesz teraz kontynuować i utworzyć wirtualny plik hosta. Wirtualny plik hosta będzie zawierał konfigurację witryny Twojej domeny i instruuje Apache, jak odpowie na żądania klientów.

Wirtualny plik hosta będzie zawierał konfigurację witryny Twojej domeny i instruuje Apache, jak odpowie na żądania klientów. Ale postępując, musisz utworzyć 2 katalogi: Witryny-dostępne I witryny z obsługą katalogi.

Wirtualny plik hosta będzie przechowywany w Witryny-dostępne katalog, podczas gdy witryny z obsługą Katalog będzie zawierał symboliczny link do wirtualnego hosta.

Utwórz oba katalogi, jak pokazano.

$ sudo mkdir/etc/httpd/witryny-dostępny $ sudo mkdir/etc/httpd/witryny 

Następnie zmodyfikuj główny plik konfiguracyjny Apache Web Server i instruuj Apache, gdzie zlokalizować wirtualny host w katalogu obsługującym witryny.

$ sudo vim/etc/httpd/conf/httpd.conf 

Dodaj wiersz, jak pokazano na samym końcu pliku konfiguracyjnego.

Obejmują witryny z obsługą/*.conf 

Zapisz i wyjdź.

Teraz utwórz wirtualny plik hosta, jak pokazano:

$ sudo vim/etc/httpd/witryny-dostępna/szalonaTechgeek.informacje 

Wklej poniższą zawartość i wymień Crazytechgeek.informacje z własną nazwą domeny.

 Nazwa serwera www.Crazytechgeek.informacje Serveralias Crazytechgeek.informacje DocumentRoot/var/www/Crazytechgeek.informacje/html ErrorLog/var/www/Crazytechgeek.informacje/log/błąd.Zaloguj się CustomLog/var/www/Crazytechgeek.informacje/log/żądania.Log łącznie  

Zapisz i wyjdź z pliku.

Teraz włącz wirtualny plik hosta, tworząc link symboliczny w witryny z obsługą informator.

$ sudo ln -s/etc/httpd/witryny -dostępna/szalonaTechgeek.informacje.conf/etc/httpd/witryny-obserwowane/crazytechgeek.informacje.conf 

Dostosowanie uprawnień SELINUX dla wirtualnych hostów

Centos 8 I RHEL 8 statki z Selinux który jest modułem bezpieczeństwa do wzmocnienia bezpieczeństwa systemu Linux. Ponieważ skonfigurowałeś zwyczaj dziennik katalog w poprzednim kroku, musisz zaktualizować zasady Selinux, aby poinstruować serwer WWW Apache, aby napisać do katalogu.

Istnieją 2 podejścia do dostosowywania zasad Selinux Apache: KODULACJA ZWIĄZKOWANIE ZAGROTOWANIE ZAGRODOWANIE I POLIKI W DAJALIZACJI. Ten ostatni jest preferowany, ponieważ jest bardziej preferowany.

Dostosowanie zasad Selinux w katalogu

Redagowanie Selinux Uprawnienia do katalogu dziennika zapewniają absolutną kontrolę nad zasadami serwera Apache. Ta metoda jest dość długa i wymaga ręcznej konfiguracji typu kontekstowego dla dodatkowych katalogów określonych w pliku konfiguracyjnym hosta wirtualnego.

Przed rozpoczęciem najpierw potwierdź typ kontekstowy przypisany do katalogu dziennika przez Selinux:

$ sudo ls -dlz/var/www/crazytechgeek.Informacje/log/ 

Wyjście powinno być podobne do tego, co mamy poniżej.

Ustaw zasady SELINUX na katalogu dziennika Apache

Ze wyjścia kontekst ustawiony jest httpd_sys_content_t. Wskazuje to, że WebServer może odczytać tylko pliki w katalogu dziennika. Musisz zmienić ten kontekst na httpd_log_t Aby umożliwić Apache generować i dodać wpisy dziennika do katalogu.

Dlatego wykonaj polecenie:

$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazytechgeek.Info/log (/.*)?" 

Jeśli zdarzy ci się uzyskać poniższy błąd „Semanage: Command nie znaleziono”.

Oznacza to, że pakiety, które zapewniają Semanage Polecenie nie jest zainstalowane. Aby naprawić ten błąd, musisz zainstalować te pakiety. Ale najpierw sprawdź, które pakiety przewidują polecenie Semanage, uruchamiając:

$ sudo dnf coProvides/usr/sbin/semanage 

Wyjście daje nam pakiet, który zapewnia semanage, czyli PolicyCoreUtils-Python-Utils.

Teraz zainstaluj pakiet, jak pokazano za pomocą menedżera pakietów DNF.

$ sudo dnf instal instaluj PolicyCoreUtils-Python-Utils 

Polecenie do zmiany kontekstu powinno teraz działać.

$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazytechgeek.Info/log (/.*)?" 

Aby zapisać zmiany i uczynić je wytrwałymi, wydaj Restorecon polecenie jak pokazano:

$ sudo restorecon -r -v/var/www/crazytechgeek.Informacje/dziennik 

Możesz potwierdzić zmiany, ponownie uruchamiając polecenie:

$ sudo ls -dlz/var/www/crazytechgeek.Informacje/log/ 
Sprawdź typ kontekstu Selinux

Pamiętaj, że typ kontekstu zmienił się na httpd_log_t Jak widać na wyjściu.

Uruchom ponownie apache, aby zmiany zostały zastosowane.

$ sudo systemctl restart httpd 

Możesz teraz potwierdzić, czy Apache zapisuje pliki dziennika w katalogu dziennika, wymieniając jego zawartość, jak pokazano:

$ ls -l/var/www/crazytechgeek.Informacje/log/ 

Powinieneś być w stanie zobaczyć dwa pliki dziennika, jak pokazano: dziennik błędów i pliki dziennika żądania.

Sprawdź pliki dziennika Apache

Testowanie wirtualnego hosta Apache

Na koniec musisz upewnić się, że serwera Apache serwuje Twój wirtualny plik hosta. Aby to zrobić, otwórz przeglądarkę i przejdź do adresu IP swojego serwera lub nazwy domeny:

http: // nazwa domeny 
Sprawdź wirtualny host Apache dla strony internetowej

Doskonały! To wskazuje, że wszystko poszło dobrze, a nasz wirtualny gospodarz jest obsługiwany zgodnie z oczekiwaniami.

Wniosek

W tym przewodniku nauczyliśmy się instalować Apache Webserver on Centos 8 I RHEL 8 a także sposób skonfigurowania wirtualnego pliku hosta, aby obsługiwać treść dla dodatkowej domeny. Możesz skonfigurować wiele wirtualnych plików hosta, ponieważ uważasz dopasowanie, aby pomieścić dodatkowe domeny.

Jeśli chcesz skonfigurować kompletny stos hostingowy, zaleciłem zainstalowanie stosu lampy na Centos 8.