So installieren und sichern Sie Apache auf Ubuntu 20.04

So installieren und sichern Sie Apache auf Ubuntu 20.04

In diesem Tutorial können Sie den Apache -Webserver auf Ubuntu 20 installieren.04 LTS (fokales Fossa) Betriebssystem. Sie lernen auch, wie Sie Ihre Domain mit Let's Encrypt SSL -Zertifikat sichern können. Dieses Tutorial wird auch auf Ubuntu 18 funktionieren.04, Ubuntu 16.04 und Ubuntu 19.10 Linux -Systeme.

Bevor wir anfangen

Bevor Sie mit Ihrer Arbeit beginnen:

  • Ubuntu 20 laufen.04 System mit sudo privileges Shell -Zugriff.
  • Vollständige Anweisungen zur Erstseriener -Setup -Anweisung abschließen
  • Ein Domainnamen registriert und auf die öffentliche IP -Adresse Ihres Servers hingewiesen. Für dieses Tutorial verwenden wir Webhost.Tecadmin.Netz, das auf unseren Server hingewiesen wird.

Schritt 1 - Apache installieren

Apache -Pakete sind unter den Standard -Software -Repositorys von UBUNTS verfügbar. Sie können es problemlos über das herkömmliche Paket -Management -Tool installieren.

Aktualisieren Sie zunächst den lokalen Paketindex, um die neuesten Upstream -Änderungen widerzuspiegeln. Installieren Sie dann Apache2 Webserver.

sudo APT aktualisieren sudo apt apache2 installieren 

Nach der Bestätigung installiert APT Apache und andere erforderliche Abhängigkeiten von Ihrem System.

Schritt 2 - Testen Sie Ihren Webserver

Nach Abschluss der Installation startet der Apache -Service automatisch in Ihrem Ubuntu -System. Sie können den Apache -Dienststatus finden, indem Sie den folgenden Befehl ausführen:

sudo systemctl Status apache2 

Beispielausgabe:

● Apache2.Service - Der Apache HTTP -Server geladen: geladen (/lib/systemd/system/apache2.Service; ermöglicht; Anbieter Voreinstellung: aktiviert) aktiv: aktiv (laufend) seit der Sonne 2020-04-26 05:28:08 UTC; Vor 10 Minuten Dokumente: https: // httpd.Apache.org/docs/2.4/ Hauptpid: 15464 (Apache2) Aufgaben: 55 (Grenze: 2283) Speicher: 6.9m Cgroup: /System.Slice/Apache2.Service ├─15464/usr/sbin/apache2 -k Start ├─18646/usr/sbin/apache2 -k Start └─18647/usr/sbin/apache2 -k Start 26 April 05:28:08 Tecadmin systemd [1]: Starten Sie den Apache HTTP -Server… 26. April 05:28:08 Tecadmin Systemd [1]: Starten. 

Der Ergebnisstatus wie "Active: Active (Laufen)" bedeutet Apache -Dienst hat erfolgreich begonnen. Die beste Möglichkeit, Webserver zu testen, fordern Sie jedoch eine Seite von Apache im Webbrowser an.

Sie sehen die Standard -Apache -Landing -Seite. Dies bedeutet, dass der Apache -Webserver in Ihrem System ordnungsgemäß ausgeführt wird.

Schritt 3 - Erstellen Sie einen virtuellen Host

Mit Hilfe virtueller Hosts können Sie mehr als eine Domäne von einem einzelnen Server hosten. Ein virtueller Host verkapuliert die Konfiguration einer Domäne dazu. Wir werden einen virtuellen Host mit einer Unterdomäne namens Webhost einrichten.Tecamin.Netz, aber Sie sollten dies durch Ihren eigenen Domain -Namen ersetzen.

Beginnen wir mit einem Verzeichnis für unsere Domain wie folgt:

sudo mkdir/var/www/webhost sudo chmod -r 755/var/www/webhost sudo chown -r www -data: www -data/var/www/webhost 

Erstellen Sie als nächstes einen Beispielindex.HTML -Seite, um auf dieser Subdomain zu hosten. Bearbeiten Sie diese Datei in Ihrem bevorzugten Texteditor wie Vim oder Nano:

Nano/var/www/webroot/Index.html 

Fügen Sie den folgenden Beispiel -HTML -Inhalt hinzu:

Willkommen in Tecadmin.Netz!

Erfolg!!!

12345678 Willkommen in Tecadmin.Netz!

Erfolg!!!

Datei speichern und schließen Sie sie.

Mit dem neu installierten Apache-Server sehen Sie eine standardmäßige virtuelle Host-Konfigurationsdatei unter etc/apache2/sites-verfügbar/000-Default.Conf. Dies ist jedoch ein gutes Habbit, um eine separate Konfigurationsdatei für jeden virtuellen Host zu erstellen. Erstellen Sie also eine neue virtuelle Hostdatei als/etc/apache2/sites-verfügbar/webhost.Tecadmin.Netz.conf:

sudo nano/etc/apache2/sites-verfügbare/webhost.Tecadmin.Netz.Conf 

Fügen Sie die folgende Konfiguration zur virtuellen Hostdatei hinzu. Stellen Sie sicher. Sie können auch Serveralien einfügen, um mehr Domänen oder Subdomains hinzuzufügen. Stellen Sie dann das korrekte Dokumentroot wie oben erstellt ein.

Serveradmin [email protected] ServerName Webhost.Tecadmin.Netz #Serveralias www.Web-Host.Tecadmin.NET ## Überbrückung Es verwendet Dokumentroot/var/www/webhost erlaubteOverride alle Fehlerlog $ apache_log_dir/fehler.Log CustomLog $ apache_log_dir/Access.log kombiniert
1234567891011 Serveradmin [email protected] ServerName Webhost.Tecadmin.Netz #Serveralias www.Web-Host.Tecadmin.NET ## Überbrückung, um documentroot/var/www/webhost zu verwenden ALLESRIDE ALLES Fehlerlog $ apache_log_dir/fehler.Log CustomLog $ apache_log_dir/Access.log kombiniert

Datei speichern und schließen Sie sie.

Standardmäßig liest Apache virtuelle Host-Konfigurationsdateien unter/etc/apache2/sites-verfügbar. Verwenden Sie ein A2ensit -Tool, um diesen virtuellen Host zu ermöglichen:

sudo a2ensit webhost.Tecadmin.Netz.Conf 

Der obige Befehl erstellt einen symbolischen Link -Webhost.Tecadmin.Netz.Conf-Datei zu Websites-verfügbaren Verzeichnissen.

Führen Sie nach Abschluss den Befehl unten aus, um die Konfigurationsdateien zu überprüfen:

sudo apache2ctl configtest 

Sie sollten die folgende Ausgabe sehen:

Syntax OK 

Starten Sie den Apache -Dienst als nächstes neu, um Ihre Änderungen anzuwenden:

sudo systemctl starten Sie Apache2 neu 

Apache ist bereit, Ihren Inhalt auf Ihrem konfigurierten Domänennamen zu bedienen. Sie können dies testen, indem Sie zu http: // webhost navigieren.Tecadmin.Netz,

Schritt 4 - Konfigurieren Sie lasst uns SSL verschlüsseln

Wir verwenden das SSL -Zertifikat von Let Let Let Lecrypt, um die Website auf Apache Web Server zu sichern. Certbot ist das Dienstprogramm für Befehlszeilen, um mit Let's Encrypt -Zertifikaten zusammenzuarbeiten. Führen Sie den folgenden Befehl aus, um Certbot Binary zu installieren:

sudo apt installieren Python3-Zertbot-Apache 

Dadurch werden alle erforderlichen Pakete für den Certbot installiert.

Sobald der Installationsprozess abgeschlossen ist. Führen Sie den folgenden Befehl aus, um die Zertifikatberechnung zu fordern, um Zertifikat für unseren Domain Webhost auszustellen.Tecadmin.Netz. Sie können mehrere Domänen oder Subdomänen mit separaten „-D“ -Parametern hinzufügen.

certbot -d webhost.Tecadmin.Netz 

Der Assistent bittet Ihre E -Mail -Adresse, Ihre Updates zu senden. Nehmen Sie dann die Nutzungsbedingungen an, um fortzufahren. Unten finden Sie die vollständigen Befehlsprotokolle:

Speichern von Debug -Protokoll in/var/log/letSencrypt/letSencrypt.Ausgewählte Protokoll -Plugins: Authenticator Apache, Installer Apache Eingeben Sie eine E -Mail -Adresse (werden für dringende Erneuerungs- und Sicherheitsbekanntmachungen verwendet) (Geben Sie 'C' ab, um abzubrechen): [E -Mail geschützt] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bitte lesen Sie die Nutzungsbedingungen unter https: // letSecrypt.org/dokumente/le-sav1.2-November-15.-2017.PDF. Sie müssen zustimmen, um sich beim ACME-Server unter https: // acme-v02 zu registrieren.API.letSencrypt.org/Verzeichnis - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (a) GREE/(C. ) Ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wären Sie bereit, Ihre E-Mail-Adresse mit der Electronic Frontier Foundation, einem Gründungspartner des LET's Encrypt-Projekts und der gemeinnützigen Organisation, die Certbot zu entwickeln? Wir möchten Ihnen E -Mails über unsere Arbeit senden, um Web, EFF -Nachrichten, Kampagnen und Möglichkeiten zur Unterstützung der digitalen Freiheit zu vergrößen. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Ja Nein: Y Erhalten Sie ein neues Zertifikat, in dem die folgenden Herausforderungen durchgeführt werden: HTTP-01 Challenge für Webhost.Tecadmin.Net-aktiviertes Apache-Umschreibe-Modul Warten auf Überprüfung… Die Aufräumarbeiten erzeugt einen SSL VHOST AT/ETC/Apache2/Sites-verfügbare/webhost.Tecadmin.Net-le-Ssl.confleidisch apache socache_shmcb Modul aktiviert Apache SSL Modul Bereitstellenzertifikat für virtualHost/etc/apache2/seiten-verfügbare/webhost.Tecadmin.Net-le-Ssl.Conf aktivieren verfügbare Site:/etc/apache2/sites-verfügbar.Tecadmin.Net-le-Ssl.conf Bitte wählen Sie, ob Sie den HTTP -Datenverkehr in HTTPS umleiten und den HTTP -Zugriff beseitigen können. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: Keine Weiterleitung - Nehmen Sie keine weiteren Änderungen an der Webserver -Konfiguration vor. 2: Weiterleiten - Stellen Sie alle Anfragen um, um den HTTPS -Zugriff zu sichern. Wählen Sie dies für neue Websites oder wenn Sie sicher sind, dass Ihre Website auf HTTPS funktioniert. Sie können diese Änderung rückgängig machen, indem Sie die Konfiguration Ihres Webservers bearbeiten. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wählen Sie die entsprechende Nummer [1-2] und dann [ENTER] (Drücken Sie 'C', um abzubrechen): 2 Aktiviert Apache Rewrite-Modul umgeleitet Vhost in/etc/apache2/sites-fähig/webhost.Tecadmin.Netz.Conf to SSL VHOST IN/ETC/AP ACHE2/SITES-AUFTRAGEN/WEBHOST.Tecadmin.Net-le-Ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - gratuliert! Sie haben erfolgreich https: // webhost aktiviert.Tecadmin.NET Sie sollten Ihre Konfiguration unter: https: // www testen.SSlllabs.com/ssltest/analysieren.html?D = Webhost.Tecadmin.NET - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wichtige Anmerkungen: - Herzlichen Glückwunsch! Ihr Zertifikat und Ihre Kette wurden unter:/etc/letsencrypt/live/webhost gespeichert.Tecadmin.Netz/Fullchain.pem Ihre Schlüsseldatei wurde unter:/etc/letsencrypt/live/webhost gespeichert.Tecadmin.Netz/privke.PEM Ihr Zertifikat wird am 2020-07-25 verfallen. Um in Zukunft eine neue oder optimierte Version dieses Zertifikats zu erhalten. Führen Sie "certbot renew" nicht interaktiv erneuert * alle * Ihrer Zertifikate. Sie sollten jetzt eine sichere Sicherung dieses Ordners erstellen. Dieses Konfigurationsverzeichnis enthält auch Zertifikate und private Schlüssel, die von Certbot erhalten wurden. Es ist daher ideal, regelmäßige Sicherungen dieses Ordners zu erstellen. - Wenn Sie Certbot mögen, sollten Sie unsere Arbeit unterstützen, um zu iSRG/zu spenden, lass uns verschlüsseln: https: // letSencrypt.org/spenden Spende an EFF: https: // eff.org/spenden-le 

Sie haben Ihre Domain mit SSL -Zertifikat erfolgreich konfiguriert. Jetzt können Sie über das HTTPS -Protokoll auf Ihre Domäne zugreifen, wie im folgenden Screenshot gezeigt:

Schritt 5 - Anpassen der Firewall -Regeln

Sie können den Dienstnamen wie "HTTP" oder "HTTPS" verwenden, um in der Firewalld zuzulassen. So öffnen Sie den HTTP- und HTTPS -Port in Firewalld. Führen Sie die folgenden Befehle aus:

sudo firewall-cmd --permanent --add-service = http sudo firewall-cmd --permanent --add-service = https 

Sobald Sie die Regeln hinzufügen, laden Sie Änderungen mit dem folgenden Befehl neu laden.

Sudo Firewall-CMD-Reload 

Schritt 6 - Apache -Dienst verwalten

Jetzt haben Sie Ihren Apache -Webserver zum Laufen.

Um Apache Web Server zu stoppen, geben Sie ein:

sudo systemctl stop apache2 

Um Apache Web Server (falls gestoppt) zu starten, geben Sie ein:

sudo systemctl starten apache2 

Um den Apache -Dienst neu zu starten (stoppen und dann starten), geben Sie ein:

sudo systemctl starten Sie Apache2 neu 

Anstelle von Stop Starten Sie dann einen laufenden Server, um die Änderungen der Konfigurationsdatei zu verwenden, ohne aktuelle Verbindungen abzugeben. Dies wird jedoch keine neue Konfigurationsdatei lesen:

sudo systemctl laden apache2 neu laden2 

Um den Apache -Service für den automatischen Start auf dem Systemstart zu deaktivieren, geben Sie ein:

sudo systemctl deaktivieren apache2 

Geben Sie den Apache -Service zum automatischen Start des Systemstarts ein: Geben Sie:

sudo systemctl aktivieren apache2 

Abschluss

Der Apache -Webserver wird auf Ihrem Ubuntu 20 ausgeführt.04 LTS -Betriebssystem.