Jak zainstalować Apache HTTPD na Fedorze 40 lub 39

Apache HTTP Server (HTTPD) to jeden z najczęściej używanych serwerów WWW na świecie, znany ze swojej elastyczności, solidnej wydajności i rozbudowanych opcji konfiguracyjnych. Może obsługiwać zarówno treści statyczne, jak i dynamiczne, a jego modułowa konstrukcja pozwala na szeroki zakres funkcji, takich jak szyfrowanie SSL/TLS, przekierowywanie adresów URL, uwierzytelnianie i inne. Apache HTTPD jest szczególnie preferowany w środowiskach, w których stabilność, bezpieczeństwo i skalowalność mają kluczowe znaczenie. To doskonały wybór do hostingu witryn internetowych i aplikacji, od małych projektów osobistych po rozwiązania dla dużych przedsiębiorstw.

W Fedorze 40 lub 39 Apache HTTPD można łatwo zainstalować przy użyciu Fedory AppStream za pośrednictwem menedżera pakietów dnf. Ta metoda zapewnia prosty proces instalacji z dostępem do najnowszej wersji przechowywanej w oficjalnych repozytoriach Fedory, zapewniając bezpieczny i aktualny serwer WWW. Ten przewodnik przeprowadzi Cię przez instalację Apache HTTPD przy użyciu terminala wiersza poleceń, umożliwiając ustawienie i konfigurację serwera WWW w Fedorze.

Zaktualizuj pakiety Fedory przed instalacją Apache

Na początek aktualizacja systemu Fedora gwarantuje, że będzie działać najnowsze oprogramowanie, które jest niezbędne dla kompatybilności i bezpieczeństwa.

Otwórz terminal i uruchom polecenie:

sudo dnf upgrade --refresh

To polecenie łączy użycie sudo do uprawnień administracyjnych z aktualizacją dnf w celu aktualizacji wszystkich pakietów. Opcja –refresh gwarantuje, że otrzymasz najnowsze informacje ze swoich repozytoriów. Ważne jest, aby zakończyć ten proces przed przejściem do następnego kroku, aby zachować integralność systemu i jego sprawne funkcjonowanie.

Zainstaluj Apache (HTTPD) za pomocą polecenia DNF

Po zaktualizowaniu systemu instalacja Apache, znanego również jako HTTPD, jest prosta. Fedora wykorzystuje do takich zadań menedżera pakietów DNF.

W terminalu uruchom:

sudo dnf install httpd

To polecenie pobiera i instaluje Apache w systemie Fedora. DNF obsługuje zależności i konfiguracje, upraszczając instalację. Proces ten jest zwykle szybki, a po jego zakończeniu Apache jest gotowy do użycia.

Włącz usługę Apache (HTTPD).

Po zainstalowaniu Apache następnym krokiem jest uruchomienie i włączenie usługi, aby mieć pewność, że będzie działać podczas rozruchu. Jeśli nie zostało aktywowane automatycznie, użyj następujących poleceń:

sudo systemctl start httpd
sudo systemctl enable httpd

„Sudo systemctl start httpd” uruchamia usługę Apache, a „sudo systemctl Enable httpd” ustawia ją na uruchamianie podczas rozruchu. To dwuetapowe podejście zapewnia, że ​​Apache jest aktywny i stale dostępny.

Alternatywnie możesz połączyć te kroki:

sudo systemctl enable httpd --now

Flaga –now z sudo systemctl Enable httpd uruchamia Apache natychmiast i konfiguruje go tak, aby uruchamiał się przy starcie, usprawniając proces.

Sprawdź stan usługi Apache (HTTPD).

Na koniec sprawdź status Apache:

systemctl status httpd

To polecenie podaje status operacyjny Apache. Dane wyjściowe obejmują bieżący stan usługi i wszelkie komunikaty o błędach, niezbędne do rozwiązywania problemów. Regularne sprawdzanie tego może pomóc w utrzymaniu stabilnej i funkcjonalnej konfiguracji Apache w systemie Fedora.

Skonfiguruj reguły zapory sieciowej dla Apache

Otwieranie portów dla HTTP i HTTPS

Po zainstalowaniu Apache (HTTPD) w Fedorze konieczne jest skonfigurowanie zapory sieciowej tak, aby zezwalała na ruch na portach 80 (HTTP) i 443 (HTTPS). Te kroki są niezbędne dla bezpieczeństwa i dostępności Twojej aplikacji internetowej.

Otwarcie portu 80 (HTTP):

Wykonaj następujące polecenie, aby otworzyć port 80, który jest używany dla ruchu HTTP:

sudo firewall-cmd --permanent --add-port=80/tcp

To polecenie konfiguruje zaporę sieciową tak, aby zezwalała na przychodzący ruch TCP na porcie 80, powszechnie używanym w przypadku niezaszyfrowanego ruchu sieciowego.

Otwieranie portu 443 (HTTPS):

Aby umożliwić bezpieczny, szyfrowany ruch, otwórz port 443 za pomocą tego polecenia:

sudo firewall-cmd --permanent --add-port=443/tcp

Port 443 jest używany dla ruchu HTTPS, zapewniając szyfrowaną komunikację pomiędzy klientami a serwerem.

Stosowanie zmian zapory sieciowej:

Po ustawieniu reguł zastosuj je, ponownie ładując Firewalld:

sudo firewall-cmd --reload

Ponowne załadowanie zapory zapewnia, że ​​wszystkie zmiany będą natychmiast aktywne i skuteczne.

Względy bezpieczeństwa

Zrozumienie konsekwencji tych zmian dla bezpieczeństwa jest niezwykle istotne. Otwieranie tylko niezbędnych portów minimalizuje potencjalne luki, chroniąc aplikację przed nieautoryzowanym dostępem i zagrożeniami.

Weryfikacja dostępności Apache

Aby potwierdzić pomyślną konfigurację, wejdź na stronę docelową Apache (HTTPD):

  1. Otwórz przeglądarkę internetową.
  2. Przejdź do http://localhost lub http:// .

Jeśli skonfigurowano poprawnie, powinna pojawić się domyślna strona Apache, potwierdzająca status operacyjny serwera.

Rozwiązywanie problemów z dostępem

Jeśli nie możesz uzyskać dostępu do strony docelowej, rozważ następujące kroki:

  • Przejrzyj reguły zapory sieciowej pod kątem dokładności.
  • Sprawdź status usługi Apache.
  • Sprawdź konfiguracje serwerów pod kątem błędów.

Zajęcie się tymi aspektami pomoże Ci zidentyfikować i rozwiązać wszelkie problemy utrudniające dostęp do Apache w Fedorze.

Utwórz wirtualnego hosta na Apache

Tworzenie i konfigurowanie katalogów dla hosta wirtualnego

Zacznij od utworzenia katalogu dla swojego wirtualnego hosta w Fedorze Linux. Katalog ten będzie głównym katalogiem plików Twojej witryny. W przypadku domeny takiej jak „example.com” użyj następującego polecenia:

sudo mkdir /var/www/example.com

Zamień „example.com” na rzeczywistą nazwę swojej domeny. W tym katalogu będą przechowywane wszystkie pliki witryny, w tym HTML, obrazy i skrypty. Ze względów organizacyjnych i bezpieczeństwa zaleca się utworzenie oddzielnych katalogów dla różnych hostów wirtualnych.

Ustaw własność katalogu i uprawnienia, aby Apache mógł uzyskać do niego dostęp:

sudo chown -R apache:apache /var/www/example.com
sudo chmod -R 755 /var/www/example.com

Pierwsze polecenie zmienia właściciela katalogu na użytkownika i grupę Apache, a drugie ustawia niezbędne uprawnienia.

Utwórz plik Index.html w tym katalogu. Ten plik jest pierwszą stroną, którą odwiedzający widzą. Użyj edytora tekstu, takiego jak Nano, aby utworzyć ten plik:

sudo nano /var/www/example.com/index.html

Wewnątrz edytora możesz dodać następującą strukturę HTML:

<html>
  <head>
    <title>Example Domain</title>
  </head>
  <body>
    <h1>Welcome to Example Domain</h1>
    <p>This is a sample page for the domain example.com.</p>
  </body>
</html>

Dostosuj ten kod HTML do potrzeb swojej witryny. Zapisz i wyjdź z edytora za pomocą Ctrl + X, a następnie Y i Enter.

Tworzenie wirtualnego hosta

Konfigurowanie katalogów dla Apache

Najpierw utwórz katalogi z dostępnymi witrynami i katalogami z obsługą witryn:

sudo mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled

Katalogi te pomagają organizować konfiguracje hostów wirtualnych. Teraz edytuj plik konfiguracyjny Apache:

sudo nano /etc/httpd/conf/httpd.conf

Na końcu pliku dodaj:

#IncludeOptional conf.d/*.conf
IncludeOptional sites-enabled/*.conf

Zapisz i wyjdź za pomocą Ctrl + O i Ctrl + X.

Konfigurowanie hosta wirtualnego

Utwórz plik konfiguracyjny dla swojej domeny:

sudo nano /etc/httpd/sites-available/example.com.conf

W pliku dodaj następującą konfigurację, dostosowując odpowiednio parametry ServerName, ServerAlias ​​i DocumentRoot:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName example_domain
    ServerAlias www.example_domain
    DocumentRoot /var/www/example.com/
</VirtualHost>

Modyfikowanie uprawnień dostępu

Zmodyfikuj uprawnienia dostępu Apache, aby umożliwić dostęp publiczny. Edytuj główny plik konfiguracyjny:

sudo nano /etc/httpd/conf/httpd.conf

Dodaj te linie na końcu:

<Directory /var/www/example.com/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

Zapisz i wyjdź za pomocą Ctrl + O i Ctrl + X.

Włączanie hosta wirtualnego

Utwórz dowiązanie symboliczne, aby włączyć hosta wirtualnego:

sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/

Uruchom ponownie Apache, aby zastosować zmiany:

sudo systemctl restart httpd

Po ponownym uruchomieniu Apache odwiedź http://example_domain w swojej przeglądarce internetowej. Użyj adresu IP serwera, jeśli nie zarejestrowałeś domeny. Powinieneś zobaczyć utworzoną wcześniej stronę docelową.

Zarządzaj usługą Apache (HTTPD)0

Dzienniki serwera Apache

Dzienniki serwera Apache mają kluczowe znaczenie dla monitorowania i rozwiązywania problemów. Domyślnie znajdują się one w /var/log/httpd/; standardowe nazwy plików to access.log dla dzienników dostępu i error.log dla dzienników błędów. Można jednak dostosować te nazwy plików w pliku konfiguracyjnym hosta wirtualnego.

Dostosowywanie nazw plików dziennika

Aby zmienić nazwy plików dziennika, dokonaj edycji pliku konfiguracyjnego hosta wirtualnego. Oto przykład niestandardowych nazw dzienników:

<VirtualHost *:80>
    ServerName www.example.com
    DocumentRoot /var/www/example.com
    
    # Change access log to custom-access.log
    CustomLog /var/log/httpd/custom-access.log combined
    
    # Change error log to custom-error.log
    ErrorLog /var/log/httpd/custom-error.log
</VirtualHost>

Ta konfiguracja ustawia niestandardowe pliki dostępu i niestandardowe błędy.log jako nowe nazwy plików dzienników dostępu i błędów. Podczas konfigurowania niestandardowych nazw dzienników pamiętaj o podaniu prawidłowej ścieżki pliku.

Polecenia Apache do zarządzania usługami

Zarządzanie usługą Apache polega na zestawie poleceń pozwalających kontrolować jej działanie:

Zatrzymywanie Apache'a:

Aby zatrzymać serwer Apache, użyj:

sudo systemctl stop httpd

To polecenie zatrzymuje usługę Apache do czasu jej ponownego uruchomienia.

Uruchamianie Apache’a:

Aby uruchomić serwer Apache, użyj:

sudo systemctl start httpd

To polecenie aktywuje usługę Apache, przygotowując ją do udostępniania treści internetowych.

Ponowne uruchamianie Apache'a:

Aby zrestartować serwer Apache, użyj:

sudo systemctl restart httpd

Ponowne uruchomienie jest przydatne do zastosowania zmian w konfiguracji lub odzyskiwania danych po błędach niekrytycznych.

Ponowne ładowanie Apache'a:

Aby ponownie załadować serwer Apache, użyj:

sudo systemctl reload httpd

Ponowne załadowanie powoduje zastosowanie zmian w konfiguracji bez zakłócania działającej usługi.

Wyłączanie Apache podczas uruchamiania:

Aby zapobiec automatycznemu uruchamianiu Apache podczas uruchamiania, użyj:

sudo systemctl disable httpd

To polecenie usuwa Apache z listy usług uruchamianych podczas uruchamiania systemu.

Włączanie Apache podczas rozruchu:

Aby ustawić Apache tak, aby uruchamiał się automatycznie przy starcie, użyj:

sudo systemctl enable httpd

Dzięki temu Apache uruchamia się przy każdym uruchomieniu systemu, zapewniając stałą dostępność usług sieciowych.

Zabezpiecz Apache za pomocą bezpłatnego certyfikatu Let's Encrypt SSL

Zainstaluj Certbota do automatyzacji certyfikatów SSL/TLS

Zacznij od zainstalowania Certbota, narzędzia do automatyzacji pozyskiwania i odnawiania certyfikatów SSL/TLS, zapewniającego szyfrowanie HTTPS dla Twojej witryny. Aby zainstalować Certbota, wykonaj:

sudo dnf install certbot python3-certbot-apache

Wygeneruj certyfikat SSL/TLS dla swojej domeny

Po instalacji wygeneruj certyfikat SSL/TLS dla swojej domeny za pomocą tego polecenia:

sudo certbot --apache -d example.com

Zamień „example.com” na rzeczywistą nazwę swojej domeny.

Alternatywne polecenie generowania certyfikatu SSL

Aby przeprowadzić kompleksową konfigurację protokołu SSL, użyj następującego polecenia:

sudo certbot --dry-run --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com
  • –dry-run: testuje generowanie certyfikatu bez modyfikowania systemu.
  • –apache: wskazuje, że certyfikat dotyczy serwera Apache.
  • –agree-tos: wyraża zgodę na warunki korzystania z usługi Let's Encrypt.
  • –redirect: przekierowuje ruch HTTP do HTTPS.
  • –hsts: Włącza ścisłe zabezpieczenia transportu HTTP, zapewniając tylko bezpieczne połączenia HTTPS.
  • –staple-ocsp: Aktywuje zszywanie OCSP w celu weryfikacji certyfikatu SSL.
  • –email: Twój adres e-mail powiązany z certyfikatem.
  • -d: nazwa domeny certyfikatu, tutaj „www.example.com”.

Konfigurowanie Apache do korzystania z certyfikatu SSL

Aby skonfigurować Apache, otwórz plik konfiguracyjny SSL:

sudo nano /etc/httpd/conf.d/ssl.conf

W tym pliku dodaj następujące wiersze, zastępując „example.com” swoją domeną:

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem

Weryfikacja i odnawianie certyfikatu SSL

Po instalacji Twoja witryna internetowa zostanie zmieniona z „HTTP://www.example.com” na „HTTPS://www.example.com”, zapewniając szyfrowaną i bezpieczną komunikację.

Konfigurowanie automatycznego odnawiania certyfikatu

Aby aktualizować certyfikat SSL, skonfiguruj zadanie cron w celu odnowienia Certbota. Najpierw przetestuj proces odnawiania:

sudo systemctl restart httpd 

Ten test sprawdza, czy skrypt odnawiania działa poprawnie przed zaplanowaniem go jako zadania cron.

sudo certbot renew --dry-run

Odnawianie i zarządzanie certyfikatami SSL

Weryfikacja statusu certyfikatu SSL

Przed zautomatyzowaniem procesu odnawiania ważne jest, aby zrozumieć aktualny stan swoich certyfikatów SSL. Aby sprawdzić status, w tym daty wygaśnięcia wszystkich certyfikatów zarządzanych przez Certbota, użyj polecenia:

sudo certbot certificates

To polecenie udostępnia listę wszystkich certyfikatów SSL obsługiwanych przez Certbota wraz z datami ich wygaśnięcia. Informacje te są niezbędne do potwierdzenia, że ​​Twoje certyfikaty są aktywne i zrozumienia, kiedy będą wymagały odnowienia.

Automatyczne odnawianie certyfikatu SSL

Aby zapewnić nieprzerwaną usługę HTTPS, certyfikaty SSL muszą być okresowo odnawiane. Automatyzacja tego procesu jest kluczowa dla utrzymania bezpieczeństwa strony internetowej.

Instalowanie Cronie dla zadań Cron

Jeśli Cronie, menedżer zadań cron, nie jest zainstalowany w twoim systemie Fedora, zainstaluj go za pomocą:

sudo crontab -e

Cronie umożliwia planowanie zadań takich jak skrypt odnawiający Certbota, które będą uruchamiane w określonych godzinach i odstępach czasu.

Edytowanie konfiguracji zadania Cron

Po zainstalowaniu Cronie zaplanuj odnowienie certyfikatu SSL, edytując konfigurację zadania cron:

sudo dnf install cronie

To polecenie otwiera edytor crontab, w którym możesz dodawać zaplanowane zadania.

Planowanie zadania odnowienia

W edytorze crontab dodaj następujący wiersz, aby zaplanować uruchamianie polecenia odnawiania dwa razy dziennie:

0 6,18 * * * certbot renew --quiet

To zadanie cron ma uruchamiać polecenie certbot renew codziennie o 6:00 i 18:00. Opcja –quiet zapewnia, że ​​Certbot działa cicho, bez generowania niepotrzebnych danych wyjściowych.

Zrozumienie procesu odnawiania Certbota

Certbot inteligentnie zarządza procesem odnowienia. Próbuje odnowić tylko certyfikaty, które minęły w ciągu 30 dni od daty wygaśnięcia. Jeśli certyfikat nie wymaga odnowienia, Certbot nie wykona żadnej akcji. Dzięki tej wydajności Twój serwer nie będzie obciążony niepotrzebnymi procesami, a Twoje certyfikaty SSL będą zawsze aktualne.

Skonfigurowanie tego automatycznego procesu odnawiania to najlepsza praktyka zapewniająca ciągłe szyfrowanie HTTPS, dzięki czemu Twoja witryna internetowa pozostaje bezpieczna i budzi zaufanie użytkowników i wyszukiwarek.

Dodatkowe polecenia i wskazówki

Bezpieczne katalogi i pliki na Apache

Zapewnienie bezpieczeństwa Twojego serwera wiąże się z ustawieniem odpowiednich uprawnień do plików i katalogów. Zbyt liberalne ustawienia mogą narazić serwer na ryzyko.

Ustawianie bezpiecznych uprawnień

W przypadku katalogów i plików w katalogu /var/www/example.com/ użyj następujących poleceń:

sudo find /var/www/example.com/ -type d -exec chmod 755 "{}" \;
sudo find /var/www/example.com/ -type f -exec chmod 644 "{}" \;

Polecenia te ustawiają katalogi na 755 (odczyt, zapis, wykonywanie dla właściciela oraz odczyt i wykonywanie dla innych), a pliki na 644 (odczyt i zapis dla właściciela, odczyt dla innych), co stanowi standardowe bezpieczne uprawnienia.

Specjalne uprawnienia dla określonych zastosowań

Pamiętaj, że niektóre aplikacje, takie jak phpBB, mogą wymagać uprawnień 777 do niektórych folderów. Zawsze dostosowuj uprawnienia w oparciu o wymagania aplikacji.

Kompleksowe podejście do bezpieczeństwa

Pamiętaj, że ustawianie uprawnień to tylko jeden z aspektów bezpieczeństwa. Wdrożenie certyfikatów SSL i właściwa konfiguracja zapory sieciowej ma kluczowe znaczenie dla niezawodnej ochrony serwera.

Zaktualizuj Apache (HTTPD) w Fedorze

Aktualizowanie Apache ma kluczowe znaczenie dla bezpieczeństwa i wydajności.

Aktualizowanie Apache'a

Aby zaktualizować Apache wraz z innymi pakietami systemowymi, użyj:

sudo dnf update --refresh

To polecenie odświeża bazę danych pakietów i aktualizuje wszystkie zainstalowane pakiety, w tym Apache.

Środki ostrożności przed aktualizacją

Zawsze twórz kopię zapasową systemu lub twórz obrazy przed wykonaniem aktualizacji, aby zabezpieczyć się przed potencjalnymi problemami.

Usuń (odinstaluj) Apache z Fedory

W scenariuszach, w których konieczne jest usunięcie Apache z systemu, wykonaj następujące kroki:

Wyłączanie i zatrzymywanie Apache

Najpierw wyłącz i zatrzymaj usługę Apache:

sudo systemctl disable httpd --now

To polecenie zatrzymuje usługę Apache i zapobiega jej automatycznemu uruchomieniu podczas rozruchu.

Odinstalowanie Apache'a

Aby usunąć Apache z systemu, wykonaj:

sudo dnf remove httpd

To polecenie odinstalowuje pakiet Apache.

Czyszczenie pozostałych plików

Po dezinstalacji usuń wszelkie pozostałe pliki z katalogu konfiguracyjnego Apache:

sudo rm -R /etc/httpd/

Ten krok gwarantuje, że wszystkie pliki związane z Apache zostaną całkowicie usunięte z systemu.

Wniosek

Instalując Apache HTTPD w Fedorze poprzez AppStream, zyskujesz potężny i niezawodny serwer WWW, który jest dobrze zintegrowany z Twoim systemem Fedora. Menedżer pakietów dnf zapewnia bezproblemową instalację i łatwe zarządzanie aktualizacjami. Po instalacji rozważ skorzystanie z rozbudowanych opcji konfiguracyjnych Apache, aby dostosować serwer do swoich konkretnych potrzeb, niezależnie od tego, czy ma on służyć do obsługi statycznych stron internetowych, uruchamiania dynamicznych aplikacji czy zarządzania złożonymi środowiskami internetowymi.

Joshua James
Chodź za mną
Najnowsze posty autorstwa Joshua James (widzieć wszystko)

Dodaj komentarz