Jak zainstalować i skonfigurować Apache na Debian 10

Jak zainstalować i skonfigurować Apache na Debian 10

PRZYKŁADY

Musisz mieć SSH z uprawnieniami sudo dostęp do serwera do instalacji serwera WWW Apache w Debian 10.

Zainstaluj Apache na Debian 10

Przede wszystkim zaloguj się do systemu Debain 10 za pośrednictwem SSH i zaktualizuj pamięć podręczną APT. Następnie zainstaluj pakiety serwera HTTP Apache2 jak poniżej:

sudo apt aktualizacja sudo apt instal apache2 

Zarządzaj usługą Apache

Usługa Apache jest zarządzana z wierszem poleceń Systemctl. Po instalacji użyj następującego polecenia, aby sprawdzić status usługi Apache.

SUDO SYSTEMCTL STATUS APACHE2.praca 

Oto inne polecenia do zatrzymania, uruchomienia lub ponownego uruchomienia usługi Apache za pośrednictwem wiersza poleceń.

Sudo Systemctl Stop Apache2.serwis sudo systemctl start apache2.Service Sudo Systemctl restart apache2.praca 

Przetestuj konfigurację Apache

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

Apache2 -V Wersja serwera: Apache/2.4.38 (Debian) Serwer Zbudowany: 2019-10-15T19: 53: 42 

Teraz uzyskaj dostęp do serwera Apache za pomocą adresu IP serwera lub domeny wskazanej na adres IP serwera. W przeglądarce internetowej zobaczysz domyślną stronę Apache. Oznacza to, że Apache Web Server z powodzeniem zainstalował w twoim systemie Debian 10.

Utwórz wirtualne hosty

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 sudo echo "Witaj przykład.com ">/var/www/przykład.com/indeks.html 

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

sudo vim/etc/apache2/witryny-dostępny/przykład.com.conf 

Dodaj następującą zawartość w pliku konfiguracyjnym. 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 #AllOWOORRIDE All ### Uznowienie w razie potrzeby w razie potrzeby Błądlog $ apache_log_dir/przykład.com_error.log CustomLog $ apache_log_dir/przykład.com_access.Log łącznie
123456789101112 ServerAdmin [email protected] dokumentroot/var/www/przykład.Com Servername Przykład.com serveralias www.przykład.com #AllOWOORRide All ### Uznowienie w razie potrzeby ErrorLog $ apache_log_dir/przykład.com_error.log CustomLog $ apache_log_dir/przykład.com_access.Log łącznie

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

Przykład sudo a2ensite.com sudo systemCtl RELOOD APACHE2.praca 

Skonfiguruj SSL VirtualHost

Możesz pominąć ten krok, jeśli nie potrzebujesz SSL. Ale bezpieczeństwo jest zawsze głównym koncertem dla każdej strony internetowej.

Domyślny apache HTTPS słuchaj na porcie 443. Upewnij się, że żadne inne usługi korzystają z tego samego portu. Teraz musisz włączyć moduł Apache SSL, który jest domyślnie wyłączony.

sudo a2enmod ssl 

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

Następnie utwórz nowy wirtualny plik hosta i edytuj go:

sudo vim/etc/apache2/witryny-dostępny/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.Kluczowy błądLog $ apache_log_dir/przykład.com_ssl-error.log CustomLog $ apache_log_dir/przykład.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.Kluczowy błądLog $ apache_log_dir/przykład.com_ssl-error.log CustomLog $ apache_log_dir/przykład.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ń:

Przykład sudo a2ensite.com_ssl sudo systemCtl RELOOD APACHE2.praca 

Bezpieczny serwer Apache

Edytuj plik konfiguracji bezpieczeństwa Apache

sudo vim/etc/apache2/conf-obsługujący/bezpieczeństwo.conf 

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

Servertokens PRED SERVERSIGENTURATE Off Traceenable Off Header zawsze dołącz X-frame-options Header samorigin zawsze ustawiaj X-XSS-Protection: „1; tryb = blok” zawsze ustawiaj opcję typu x-content typu: „Nosniff” zawsze ustawiaj ścisłe-- Transport-Security „Max-Age = 31536000; Obejmuje nagłówek” zawsze edytuj set-Cookie ^(.*) $ 1 $; httponly; bezpieczne
12345678Servertokens Prodserversignature OfftraceEnable Offheader zawsze dołącz X-frame-options sameoriginheader zawsze ustawę X-XSS-Protection: „1; tryb = blok” nagłówek zawsze ustawiaj opcję typu x-content typu: „nosniff” zawsze ustawiaj bezpieczeństwo Strithsport-Security ” Max-Age = 31536000; obejmuje poddominy „Nagłówek zawsze edytuj set-Cookie ^(.*) $ 1 $; httponly; bezpieczne

Teraz edytuj plik konfiguracyjny SSL. Tutaj możesz ustawić serwer szeroki protokół SSL i SSLCIPHERSUIT.

sudo vim/etc/apache2/mods-obsługujący/ssl.conf 
Sslprotocol -all +tlsv1.2 SSLCIPHERSUITE HIGH:!anull:!MD5
12Sslprotocol -all +tlsv1.2SSLCIPHERSUITE HIGH:!anull:!MD5

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

Sudo Systemctl RELOOD APACHE2.praca 

Wniosek

Wszystko skończone masz zabezpieczony serwer Apache działający w systemie Linux Debian 10.