Jak zainstalować i skonfigurować Apache na Centos/Rhel 8

Jak zainstalować i skonfigurować Apache na Centos/Rhel 8

Centos 8 to najnowsza wersja systemu operacyjnego Centos Linux, opartego na Red Hat Enterprise Linux 8. W tym samouczku pomożemy Ci zainstalować serwer WWW Apache w systemie Centos 8 lub RHEL 8 z dodatkową konfiguracją i bezpieczeństwem.

PRZYKŁADY

  • SSH Dostęp do systemu Centos/RHEL 8
  • Użytkowania sudo do instalowania pakietów

Krok 1 - Zainstaluj Apache na Centos 8

Przede wszystkim zaloguj się do systemu CentOS 8 lub RHEL 8 za pośrednictwem SSH. Następnie zainstaluj pakiety serwera HTTP Apache2 za pomocą następującego polecenia. Spowoduje to również zainstalowanie dodatkowych wymaganych pakietów w twoim systemie.

sudo dnf instaluj httpd 

Poczekaj na zakończenie instalacji

Krok 2 - Zarządzaj usługą Apache

Usługa Apache jest zarządzana z wierszem poleceń SystemCtl na Centos/RHEL 8. Po instalacji użyj następującego polecenia, aby włączyć usługę Apache, a następnie uruchom ją.

sudo systemctl włącz HTTPD.serwis sudo systemctl start httpd.praca 

Oto inne polecenia, które można zatrzymać i ponownie uruchomić usługę Apache za pośrednictwem wiersza poleceń.

Sudo Systemctl Stop Apache2.Service Sudo Systemctl restart apache2.praca 

Krok 3 - Przetestuj konfigurację Apache

Możesz wyświetlić zainstalowane szczegóły wersji Apache za pomocą następującego polecenia.

Wersja serwera httpd -v: Apache/2.4.37 (centos) Serwer Zbudowany: 7 października 2019 21:42:02 

Utwórz stronę Test HTML w Domyślnym katalogu głównym dokumentu (/var/www/html).

sudo echo "hello tecadmin.net ">/var/www/html/index.html 

Teraz uzyskaj dostęp do serwera Apache za pomocą adresu IP serwera lub domeny wskazanej na adres IP serwera.

Krok 4 - Tworzenie VirtualHost

Utwórzmy pierwszy wirtualny host na serwerze Apache. W samouczku używamy przykładowej domeny „przykład.com ”. Tutaj utworzymy na przykład wirtualny host.com na porcie 80.

Utwórz przykładowy plik indeksu w katalogu:

sudo mkdir -p/var/www/przykład.COM ECHO „Witaj przykład.com "| sudo tee/var/www/przykład.com/indeks.html 

Następnie utwórz plik konfiguracyjny VirtualHost i edytuj w edytorze:

sudo vim/etc/httpd/conf.d/przykład.com.conf 

Dodaj następującą zawartość na końcu pliku konfiguracyjnego. Możesz zmienić nazwę domeny zgodnie z domeną.

ServerAdmin [email protected] dokumentroot/var/www/przykład.Com Servername Przykład.com serveralias www.przykład.com #AllOWOVERRIDE All ### Uznowienie w razie potrzeby, w razie potrzeby logi/przykład błędu.com_error.Zaloguj dzienniki/przykład CustomLog.com_access.Log łącznie
12345678910111213 ServerAdmin [email protected] dokumentroot/var/www/przykład.Com Servername Przykład.com serveralias www.przykład.com #AllOWOORRide All ### Uznowienie w razie potrzeby Błądlelog/przykład.com_error.Zaloguj dzienniki/przykład CustomLog.com_access.Log łącznie

Zapisz plik konfiguracyjny VirtualHost i ponownie załaduj usługę Apache za pomocą następujących poleceń:

sudo systemCtl RELOOD HTTPD.praca 

Krok 5 - Skonfiguruj SSL VirtualHost

Możesz pominąć ten krok, jeśli nie potrzebujesz SSL. Ale bezpieczeństwo jest zawsze głównym problemem dla każdej strony internetowej. Aby użyć SSL z Apache, zainstaluj pakiet MOD_SSL w swoim systemie.

sudo dnf instalacja mod_ssl 

W samouczku postępowałem zgodnie z tymi instrukcjami, aby wygenerować certyfikat SSL dla naszej domeny.

Możesz albo użyć /etc/httpd/conf/ssl.conf Dla wirtualnego hosta SSL lub możesz użyć osobnego wirtualnego pliku konfiguracyjnego hosta dla swojej domeny. Na przykład:

sudo vim/etc/httpd/conf.d/przykład.com_ssl.conf 

Z następującą zawartością:

ServerAdmin [email protected] dokumentroot/var/www/przykład.Com Servername Przykład.com serveralias www.przykład.com #AllOWOORRide All ### Uznowienie w razie potrzeby SSLENGINE na SSLCertificateFile/etc/pki/tls/certs/przykład.com.crt sslcertificateKeKeyFile/etc/pki/tls/certs/przykład.com.Kluczowe dzienniki/przykład.com_ssl-error.Zaloguj dzienniki/przykład CustomLog.COM_SSL-ACCESS.Log łącznie
123456789101112131415161718 ServerAdmin [email protected] dokumentroot/var/www/przykład.Com Servername Przykład.com serveralias www.przykład.com #AllOWOORRide All ### Uznowienie w razie potrzeby SsLengine na SSLCertificateFile/Etc/PKI/TLS/CERTS/Przykład.com.crt sslcertificateKeKeyFile/etc/pki/tls/certs/przykład.com.Kluczowe dzienniki/przykład.com_ssl-error.Zaloguj dzienniki/przykład CustomLog.COM_SSL-ACCESS.Log łącznie

Oto trzy terminy używane do konfigurowania SSL VirtualHost:

  • Sslengine - Ustaw to na „włączone”
  • SslcertificateFile - Ustaw ścieżkę certyfikatu SSL
  • SSLCertificateKeyeyFile - To są pliki prywatne używane do generowania certyfikatu SSL

Następnie włącz VirtualHost i ponownie załaduj usługę Apache za pomocą następujących poleceń:

Sudo Systemctl RELOOD APACHE2.praca 

Krok 6 - Bezpieczny serwer Apache

Bezpieczeństwo jest najważniejszą częścią hostingu. Hakerzy są gotowi do wykorzystania Twojego serwera WWW. Edytuj główny plik konfiguracyjny Apache

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

Dodaj następujące wartości na końcu pliku:

Servertokens Prod Serversignature Off Traceenable Off
123 Servertokens Prod Serversignature Off Traceenable Off

Następnie edytuj domyślny plik konfiguracyjny SSL Apache:

sudo vim/etc/httpd/conf.D/SSL.conf 

Oto wiele ustawień związanych z bezpieczeństwem. Dodaj lub zaktualizuj następujące ustawienia. Nie podchodzimy do szczegółowych opisów na ten temat, ale te ustawienia są bardzo przydatne dla serwerów produkcyjnych.

#Rules pobrane z https: // cipherli.ST/ SSLCIPHERSUITE EECDH+AESGCM: EDH+AESGCM # wymaga Apache 2.4.36 i Openssl 1.1.1 sslprotocol -all +tlsv1.3 +TLSV1.2 sslopensslconfcmd krzywe x25519: secp521r1: secp384r1: prime256v1 # Starsze wersje # sslprotocol All -sslv2 -sslv3 -tlsv1 -tlsv1.1 sslhonorcipherorder On nagłówek zawsze ustawiaj ścisłe transport-security "Max-eage = 63072000; Obejmuje brzuszny; nagłówek wstępny" zawsze ustawiaj opcję X-Frame-Options zawsze ustawiaj x-content-typ-opcję nosniff #.4 SSLCompression Off SsLusEstapling na SSLstaplingCache „SHMCB: Logs/Stapling-Cache (150000)” # wymaga apache> = 2.4.11 SSLSessionTickets Off
123456789101112131415161718#Rules pobrane z https: // cipherli.ST/ SSLCIPHERSUITE EECDH+AESGCM: EDH+AESGCM# wymaga Apache 2.4.36 i Openssl 1.1.1SSLPROTOCOL -ALL +TLSV1.3 +TLSV1.2sslopensslConfcmd krzywe x25519: Secp521r1: Secp384r1: Prime256v1# Starsze wersje# sslprotocol All -sslv2 -sslv3 -tlsv1 -tlsv1.1sslhonorcipherorder Onheader zawsze ustawiaj ścisłe transport-security "Max-Age = 63072000; Obejmuje się nagłówek; nagłówek wstępny" zawsze ustawiaj x-frame-options denyheader zawsze ustawić x-content-opcję nosniff#.4SSLCompression OffssLusEstapling onsslStaplingCache „SHMCB: Logs/Stapling-Cache (150000)”# wymaga apache> = 2.4.11sssessionTickets Off

Po wprowadzeniu zmian uruchom usługi Apache, aby zastosować nową konfigurację.

Sudo Systemctl RELOOD APACHE2.praca 

Wniosek

Wszystko skończone, uruchamiasz zabezpieczony serwer Apache w systemie CentOS 8 lub RHEL 8 Linux.