Jak zainstalować Apache z wirtualnym hostem na Centos 8
- 3265
- 876
- Juliusz Janicki
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 httpdSprawdź 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 httpdSprawdź 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.comZnajdź adres IP serwera Centos
Podczas przeglądania adresu IP serwera należy wyświetlić następującą stronę internetową.
Sprawdź stronę ApacheJest 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 ApacheZe 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 ApacheTestowanie 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 domenySprawdź 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.