GNU/Linux >> LINUX-Kenntnisse >  >> AlmaLinux

So installieren und konfigurieren Sie Apache (httpd) mit Let’s Encrypt TLS/SSL unter AlmaLinux 8

Apache , auch bekannt als Apache HTTP-Server, war in den letzten Jahrzehnten weltweit eine der am häufigsten verwendeten Webserver-Anwendungen. Es ist eine kostenlose Open-Source-Webanwendungssoftware, die von der Apache Software Foundation verwaltet wird . Apache bietet neben anderen beliebten Funktionen einige leistungsstarke Funktionen mit dynamisch ladbaren Modulen, einfacher Integration mit anderer Software und Handhabung statischer Dateien.

Im folgenden Tutorial erfahren Sie, wie Sie Apache Web Server auf AlmaLinux 8 installieren.

Voraussetzungen

  • Empfohlenes Betriebssystem: AlmaLinux 8.
  • Benutzerkonto: Ein Benutzerkonto mit sudo-Privilegien oder Root-Zugriff (su-Befehl) .

Betriebssystem aktualisieren

Aktualisieren Sie Ihr AlmaLinux Betriebssystem, um sicherzustellen, dass alle vorhandenen Pakete auf dem neuesten Stand sind:

sudo dnf update && sudo dnf upgrade -y

Das Tutorial verwendet den sudo-Befehl und vorausgesetzt, Sie haben den Sudo-Status . So überprüfen Sie den Sudo-Status Ihres Kontos:

sudo whoami

Beispielausgabe, die den Sudo-Status zeigt:

[joshua@localhost ~]$ sudo whoami
root

Wenn Sie noch kein sudo-Benutzerkonto eingerichtet haben und dies gerne tun würden, besuchen Sie unser Tutorial zum So fügen Sie einen Benutzer zu Sudoern auf AlmaLinux hinzu .

So verwenden Sie das Root-Konto verwenden Sie den folgenden Befehl mit dem Root-Passwort, um sich anzumelden.

su

Installieren Sie Apache (HTTPD)

Apache befindet sich standardmäßig im AlmaLinux 8 App-Stream. Dies ist für die meisten Benutzer praktischer, da es sehr stabil und sicher ist. Um Apache zu installieren, öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus:

sudo dnf install httpd

Beispielausgabe:

Geben Sie "Y" ein , und drücken Sie dann die "ENTER-TASTE" um fortzufahren.

Als nächstes standardmäßig Apache (HTTPD) kommt deaktiviert und nicht aktiviert. Starten Sie zuerst den Dienst.

sudo systemctl start httpd

Aktivieren Sie optional Apache beim Systemstart.

sudo systemctl enable httpd

Beispielausgabe bei Erfolg:

Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

Überprüfen Sie mit dem folgendensystemctl, ob Apache2 ordnungsgemäß ausgeführt wird Befehl:

systemctl status httpd

Beispielausgabe, wenn alles in Ordnung ist:

Firewall-Regeln konfigurieren

Es fügt bei der Installation von Apache nicht automatisch Firewall-Regeln zu den Standardports 80 oder 443 hinzu. Bevor Sie fortfahren, sollten Sie die folgenden Regeln festlegen, dies hängt davon ab, welche Ports Sie verwenden werden, aber alle Optionen sind aufgelistet.

Port 80 oder HTTP öffnen:

sudo firewall-cmd --permanent --zone=public --add-service=http

Port 443 oder HTTPS öffnen:

sudo firewall-cmd --permanent --zone=public --add-service=https

Firewall neu laden, damit die Änderungen wirksam werden

sudo firewall-cmd --reload

Verifizieren Sie den Apache-Webserver

Nachdem Sie nun installiert und konfiguriert haben, können Sie testen, ob Apache 2 erreichbar ist und ordnungsgemäß funktioniert, indem Sie eine Seite anfordern.

Sie können auf die standardmäßige Apache-Zielseite zugreifen, um zu überprüfen, ob die Software über die IP-Adresse Ihres Servers korrekt ausgeführt wird. Um dies herauszufinden, wenn Sie es nicht wissen, verwenden Sie den folgenden Befehl:

hostname -I

Sie sollten als Beispiel die interne IP-Adresse zurückerhalten, auf der sich der Server befindet:

###EXAMPLE ONLY###
192.168.50.15 

Sie erhalten möglicherweise 2 bis 3 Ergebnisse zurück. Probieren Sie jede aus, bis Sie die richtige IP-Adresse gefunden haben.

Wenn Sie Ihre öffentliche IP-Adresse (extern) benötigen, verwenden Sie stattdessen den folgenden Befehl:

curl -4 icanhazip.com

Möglicherweise müssen Sie das CURL-Paket installieren, falls es fehlt. Führen Sie dazu den folgenden Befehl aus:

sudo dnf install curl -y

Sobald Sie die IP-Adresse Ihres Servers haben, öffnen Sie Ihren bevorzugten Internetbrowser und geben Sie Folgendes ein:

http://your_server_ip

Sie sollten die folgende Seite in Ihrem Internetbrowser erhalten:

Herzlichen Glückwunsch, Sie haben den Apache 2-Webserver installiert und arbeiten derzeit.

Der nächste Schritt besteht darin, virtuelle Hosts einzurichten.

Virtuelle Hosts für Apache erstellen und/oder konfigurieren

Mit dem Apache-Webserver können Sie virtuelle Hosts erstellen, um Konfigurationen für mehr als eine Domäne zu verwalten, die auf einem einzelnen Server ausgeführt werden. Wenn Sie zuvor Nginx verwendet haben, ist dies das Äquivalent zu Serverblöcken. Im folgenden Beispiel erstellt das Tutorial eine Domain example-domain.com, die Sie durch Ihren Domainnamen ersetzen.

Verzeichnisse erstellen und/oder konfigurieren

Verlassen Sie zunächst /var/www/html Verzeichnis intakt als Standardverzeichnis, erstellen Sie dann ein neues Verzeichnis, zum Beispiel-domain.com, wie unten:

sudo mkdir /var/www/example_domain

Der nächste Schritt besteht darin, den Besitz des Verzeichnisses mit der Umgebungsvariable $USER zuzuweisen:

sudo chown -R $USER:$USER /var/www/example_domain

Normalerweise sollten die Webroot-Berechtigungen korrekt eingestellt sein, und Sie können dies mit dem Befehl -ls l überprüfen :

ls -l /var/www/example_domain

Beispielausgabe:

drwxr-xr-x 2 joshua joshua 4096 Oct 10 11:46 example_domain

Wie Sie sehen können, haben wir die Erlaubnis von drwxr-xr-x, das entspricht chmod 755 . Wenn Sie diesen Berechtigungssatz nicht haben, führen Sie den folgenden Befehl aus:

sudo chmod -R 755 /var/www/example_domain

Erstellen Sie jetzt mit Ihrem bevorzugten Texteditor eine Beispielseite index.html. Das Tutorial verwendet Nano wie folgt:

sudo nano /var/www/example_domain/index.html

Kopieren Sie in der Datei den folgenden Code und fügen Sie ihn ein:

<html>
    <head>
        <title>Welcome to Website!</title>
    </head>
    <body>
        <h1>Success! The virtual host is working! You did not mess it up thanks to Linuxcapable.com</h1>
    </body>
</html>

Speichern Sie die Datei (STRG+O) , dann beenden (STRG+X) .

Virtuellen Host erstellen

Nun, da Sie eine Zielseite erstellt und die richtigen Eigentümer und Berechtigungen festgelegt haben. Standardmäßig müssen die erforderlichen Verzeichnisse erstellt und eingerichtet werden.

Machen Sie zunächst die für Sites erforderlichen Verzeichnisse verfügbar und für Sites aktiviert. Nginx-Benutzer wären auch mit diesem Setup vertraut.

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

Als Nächstes müssen Sie Apache anweisen, nach virtuellen Hostdateien zu suchen, die sich unter /etc/httpd/sites-available befinden müssen Verzeichnis.

Öffnen Sie die Konfigurationsdatei.

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

Fügen Sie am Ende der Datei Folgendes hinzu.

IncludeOptional sites-enabled/*.conf

Optional können Sie den Standardordner deaktivieren, in dem Apache nach virtuellen Hostdateien sucht, was möglicherweise Verwirrung vermeiden wollte. Platzieren Sie einfach einen Kommentar neben IncludeOptional conf.d/*.conf .

Beispiel:

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

Speichern Sie die Datei (STRG+O), Beenden Sie dann (STRG+X) .

Verwenden Sie als Nächstes Ihren bevorzugten Texteditor, um eine Konfigurationsdatei für virtuelle Hosts zu erstellen, die sich unter /etc/httpd/sites-available/example_domain.conf befindet wie unten:

sudo nano /etc/httpd/sites-available/example_domain.conf

Kopieren Sie nun Folgendes und fügen Sie es in die Konfigurationsblockdatei ein. Beachten Sie, dass Sie Ihren ServerName, ServerAlias ersetzen müssen und Dokumentenstamm mit Ihrem eigenen:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName example_domain
    ServerAlias www.example_domain
    DocumentRoot /var/www/example_domain
    ErrorLog /var/www/example_domain/error.log
    CustomLog /var/www/example_domain/requests.log combined
</VirtualHost>

Beachten Sie, dass Sie nicht vergessen, die erforderlichen Server-Direktiven in Ihre eigenen zu ändern.

Speichern Sie die Konfigurationsdatei mit (STRG+O) und mit (CTRL+X) beenden .

Virtuellen Host aktivieren

Der nächste Schritt besteht darin, den virtuellen Host zu aktivieren. Zunächst haben Sie zwei Verzeichnisse erstellt, sites-available und sites-enabled. Jetzt müssen Sie einen symlink erstellen zu sites-enabled um den virtuellen Host zu aktivieren.

Um einen Symlink zu erstellen, verwenden Sie das folgende Beispiel in Ihrem Terminal.

sudo ln -s /etc/httpd/sites-available/example_domain.conf /etc/httpd/example_domain.conf

Wenn Sie fertig sind, starten Sie den Apache-Dienst neu.

sudo systemctl restart httpd

Öffnen Sie Ihren Internetbrowser und geben Sie Ihren Domainnamen HTTP://example_domain ein wo Sie die folgende Zielseite erhalten sollten, die Sie in der Datei index.html erstellt haben:

Herzlichen Glückwunsch, Sie haben Ihren virtuellen Host erfolgreich erstellt und auf Ihrer Domain erfolgreich zum Laufen gebracht.

Apache mit Let’s Encrypt SSL Free Certificate sichern

Idealerweise möchten Sie Ihren Apache auf HTTPS mit einem SSL-Zertifikat ausführen . Verwenden Sie dazu am besten Let’s Encrypt eine kostenlose, automatisierte und offene Zertifizierungsstelle, die von der gemeinnützigen Internet Security Research Group (ISRG) betrieben wird .

Installieren Sie zuerst das EPEL -Repository und das mod_ssl Paket für besser aktualisierte Pakete und Sicherheit.

sudo dnf install epel-release mod_ssl -y

Installieren Sie als Nächstes das certbot-Paket wie folgt:

sudo dnf install python3-certbot-apache -y

Führen Sie nach der Installation den folgenden Befehl aus, um die Erstellung Ihres Zertifikats zu starten:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d www.example.com

Dies ist das ideale Setup, das erzwungene HTTPS-301-Umleitungen, Strict-Transport-Security-Header und OCSP-Stapling umfasst. Passen Sie einfach E-Mail und Domainnamen an Ihre Anforderungen an.

Jetzt lautet Ihre URL https://www.example.com statt HTTP://www.example.com .

Beachten Sie, wenn Sie die alte HTTP-URL verwenden , wird automatisch auf HTTPS umgeleitet .

Optional können Sie einen Cronjob einrichten, um die Zertifikate automatisch zu erneuern. Certbot bietet ein Skript an, das dies automatisch durchführt, und Sie können zuerst testen, ob alles funktioniert, indem Sie einen Probelauf durchführen.

sudo certbot renew --dry-run

Wenn alles funktioniert, öffnen Sie Ihr Crontab-Fenster mit dem folgenden Terminalbefehl.

sudo crontab -e

Geben Sie als Nächstes die Zeit an, zu der es automatisch verlängert werden soll. Dies sollte mindestens täglich überprüft werden, und wenn das Zertifikat erneuert werden muss, aktualisiert das Skript das Zertifikat nicht. Wenn Sie Hilfe dabei benötigen, einen guten Zeitpunkt zum Einstellen zu finden, verwenden Sie das kostenlose Tool crontab.guru.

00 00 */1 * * /usr/sbin/certbot-auto renew

Speichern (STRG+O) Beenden Sie dann (STRG+X), und der Cronjob wird automatisch aktiviert.

Verwalten des Apache-Dienstes

Nachdem Sie nun Apache erfolgreich auf Ihrem Server ausgeführt haben, lauten einige Management-Keynotes wie folgt.

Apache-Serverprotokolle

Apache-Serverprotokolle finden Sie im Verzeichnis var/www/example_domain mit custom.log und error.log Dabei handelt es sich respektvoll um die angegebenen Standardzugriffs- und Fehlernamen. Dies kann in Zukunft in Ihrer virtuellen Host-Konfigurationsdatei in andere Namen geändert werden.

Apache-Befehle

Die folgenden Befehle, die Sie zweifellos in Ihrer täglichen Verwaltung verwenden werden, wenn Sie mit Apache arbeiten. Einige der häufigsten sind:

So stoppen Sie den Apache-Webserver:

sudo systemctl stop httpd

So starten Sie den Apache-Webserver:

sudo systemctl start httpd

So starten Sie den Apache-Webserver neu:

sudo systemctl restart httpd

Zum Neuladen des Apache-Webservers (Für kleinere Änderungen, die keinen Neustart erfordern) :

sudo systemctl reload httpd

So deaktivieren Sie Apache beim Serverstart:

sudo systemctl disable httpd

So starten Sie Apache beim Serverstart (wird bei der Installation automatisch aktiviert) :

sudo systemctl enable httpd

Apache aktualisieren

Um Apache in Zukunft zu aktualisieren, geschieht dies mit dem Befehl, mit dem Sie überprüft haben, ob Ihr System auf dem neuesten Stand ist. Beachten Sie, dass Sie immer Backups oder Images erstellen, wenn Sie einen Apache-Dienst haben, der kritische Dienste ausführt. Normalerweise ist ein Upgrade ziemlich sicher, aber manchmal können wie bei jedem Software-Upgrade Fehler auftreten.

Um Apache zu aktualisieren, verwenden Sie den folgenden Befehl:

sudo dnf update

Wenn ein Apache-Upgrade verfügbar ist, verwenden Sie den Befehl:

sudo dnf upgrade

Wie man Apache entfernt (deinstalliert)

Um Apache zu entfernen, wenn Sie es nicht mehr verwenden, können Sie dies mit dem folgenden Befehl tun:

sudo dnf autoremove httpd

Dieser Befehl entfernt auch alle ungenutzten Abhängigkeiten, die mit der Installation geliefert wurden.


AlmaLinux
  1. So installieren Sie WordPress mit Apache und Let’s Encrypt SSL unter Debian 11

  2. So installieren Sie Let’s Encrypt SSL in Apache unter Debian 11

  3. So installieren Sie Apache mit Let’s Encrypt auf RHEL 8

  4. So installieren Sie Let’s Encrypt auf Ubuntu 20.04 mit Apache

  5. So installieren Sie Let’s Encrypt SSL mit Apache unter Debian 11

So installieren Sie Let’s Encrypt SSL mit Lighttpd unter CentOS 7

So installieren Sie Nginx mit Let’s Encrypt SSL auf Fedora 35

So installieren Sie Let’s Encrypt SSL auf Ubuntu mit Apache

So installieren Sie Nginx mit Let’s Encrypt SSL unter Ubuntu 20.04 LTS

So installieren Sie Apache mit Let’s Encrypt SSL unter Ubuntu 20.04 LTS

So sichern Sie Apache mit Let’s Encrypt SSL-Zertifikat auf CentOS 8