Geekflare wird von unserem Publikum unterstützt. Es kann sein, dass wir durch den Kauf von Links auf dieser Seite Affiliate-Provisionen verdienen.
Unter Apache-HTTP und Sicherheit Zuletzt aktualisiert: September 24, 2023
Weitergeben:
Invicti Web Application Security Scanner - die einzige Lösung, die eine automatische Überprüfung von Schwachstellen mit Proof-Based Scanning™ ermöglicht.

Hier erfahren Sie, wie Sie den Apache HTTP-Server installieren und mit dem Let’s Encrypt-Zertifikat sichern.

Einführung

Apache ist einer der am häufigsten verwendeten HTTP-Webserver. Den Apache einzurichten und mit einem SSL-Zertifikat zu sichern, ist der erste Schritt, den Sie für Ihre Webanwendungen tun müssen.

In diesem Tutorial erfahren Sie, wie Sie Apache für Ihre Website unter Ubuntu und CentOS einrichten. Ich habe dies auf einer DigitalOcean VM getestet.

Zu Demonstrationszwecken. Ich verwende die Testdomain test.sanakil.xyz, die von Cloudflare aufgeladen wird.

Vergessen Sie nicht, die Domain test.sanakil.xyz durch Ihre tatsächliche Domain zu ersetzen. 📢

DNS-Eintrag erstellen

Melden Sie sich bei Cloudflare oder Ihrem Domain-Registrar an (falls nicht bei Cloudflare) und erstellen Sie einen A-Eintrag, um die Domain auf die IP der Cloud-VM zu verweisen.

Melden Sie sich über SSH bei Ihrem Cloud-Server an.

Installation von Apache (Ubuntu)

Um die verfügbaren Pakete zu aktualisieren

sudo apt-get update

Installieren Sie Apache

sudo apt-get install apache2

Erlauben Sie die Ports 80 und 443 in Ihrer Firewall für den HTTP-Server.

sudo ufw allow 'Apache Full'

Prüfen Sie, ob Ihr installierter Apache korrekt läuft

sudo systemctl status apache2

Installation von Apache (CentOS)

Aktualisieren Sie die verfügbaren Pakete.

sudo yum aktualisieren

Installieren Sie Apache

sudo yum install httpd

Fügen Sie in der Firewall die Ports 80 und 443 für den Zugriff auf die Web-App hinzu.

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

Starten Sie apache und überprüfen Sie den Status der Ausführung

sudo systemctl start httpd
sudo systemctl status httpd

VirtualHost für die Website erstellen

Ein virtueller Host kann auf zwei Arten erstellt werden, je nachdem, welche Art von Webanwendung/Website wir bedienen.

Angenommen, die Anwendung hat bereits einen Webserver wie Node, der auf einem Port läuft. Wir können einen Vollmacht verwenden , um ihn in Apache zu bedienen. Oder wenn die Anwendung nur die Dateien wie statische Websites bereitstellt. Wir können den Pfad der Anwendung angeben. , die im Apache bereitgestellt werden soll.

Erstellen Sie eine virtuelle Hostdatei im Apache - die Konfigurationsdatei kann einen beliebigen Namen haben. Es ist jedoch besser, wenn Sie den Namen der Domäne beibehalten, unter der die Webanwendung bereitgestellt wird, um sie leichter identifizieren zu können.

Zusätzliche Einrichtung für CentOS

Unter CentOS (SELinux) ist nicht alles standardmäßig aktiviert wie unter Ubuntu.

Wir müssen im Apache die Ordner sites-enabled und site-available anlegen.

sites-enabled - weist den Apache an, den Besucher mit den darin enthaltenen conf-Dateien zu bedienen

site-available - speichert die Konfigurationsdateien der virtuellen Hosts

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

Weisen Sie nun den Apache an, die conf-Datei im Ordner sites-enabled zu lesen.

sudo vi /etc/httpd/conf/httpd.conf

Fügen Sie die folgende Zeile am Ende der Datei hinzu

IncludeOptional sites-enabled/*.conf

Konfigurieren Sie den Apache für die Bereitstellung von Dateien

  • Erstellen Sie einen Ordner für die Bereitstellung Ihrer Webanwendung
sudo mkdir -p /var/www/test.sanakil.xyz/webapp
sudo vi /var/www/test.sanakil.xyz/webapp/index.html
  • Fügen Sie den folgenden HTML-Ausschnitt zum Testen ein
<!DOCTYPE html>
<html lang="en">
<head>
<title>Apache Webapp</title>
</head>
<body>
<h1>Meine Apache Webapp funktioniert im Test.sanakil.xyz</h1>
</body>
</html>
  • Erstellen Sie einen Ordner zum Erzeugen und Speichern von Protokollen
sudo mkdir -p /var/www/test.sanakil.xyz/log
sudo touch /var/www/test.sanakil.xyz/request.log
sudo touch /var/www/test.sanakil.xyz/log/error.log
Konfiguration des virtuellen Hosts
  • Conf-Datei öffnen(Ubuntu)
sudo vi /etc/apache2/sites-available/test.sanakil.xyz.conf
  • Konf-Datei öffnen(CentOS)
sudo vi /etc/httpd/sites-available/test.sankil.xyz.conf
  • Fügen Sie den folgenden Conf-Ausschnitt ein, indem Sie Ihren Domänennamen ändern.
<VirtualHost *:80>
ServerName test.sanakil.xyz
ServerAlias test.sanaki.xyz
DocumentRoot /var/www/test.sanakil.xyz/webapp
ErrorLog /var/www/test.sankil.xyz/log/error.log
CustomLog /var/www/test.sanakil.xyz/log/requests.log kombiniert
</VirtualHost>
  • Erteilen Sie die erforderlichen Berechtigungen für Ihren Ordner.
sudo chown -R $USER:$USER /var/www/test.sanakil.xyz
sudo chmod -R 755 /var/www/test.sanakil.xyz
Aktivieren Sie die Konfigurationsdatei Ihres virtuellen Hosts im Apache (Ubuntu)
sudo a2ensite test.sanakil.xyz.conf

Deaktivieren Sie die Standardkonfigurationsdatei aus Sicherheitsgründen

sudo a2dissite 000-default.conf

Starten Sie apache neu, damit die Änderungen wirksam werden.

sudo systemctl neustart apache2

Aktivieren Sie die Konfigurationsdatei Ihres virtuellen Hosts in apache(CentOS)

Erstellen Sie einen symbolischen Link für apache

sudo ln -s /etc/httpd/sites-available/test.sanakil.xyz.conf 
/etc/httpd/sites-enabled/test.sanakil.xyz.conf

Starten Sie Apache neu, um die Änderungen wirksam werden zu lassen.

sudo systemctl restart httpd

Aktivieren von HTTPS

Die Aktivierung von HTTPS im Apache-Webserver unter Ubuntu wird durch die Verwendung von certbot und Let's Encrypt vereinfacht .

Let's Encrypt ist eine Non-Profit-Organisation, die SSL-Zertifikate für Millionen von Websites kostenlos zur Verfügung stellt.

Certbot ist eine Software, die automatisch HTTPS für unsere Website mit Let’s Encrypt einrichtet.

Hinzufügen und Installieren von Certbot für Apache (Ubuntu)

sudo add-apt-repository ppa:certbot/certbot
sudo apt install python-certbot-apache

Hinzufügen und Installieren von certbot für Apache (CentOS)

sudo yum install epel-release
sudo yum install certbot python2-certbot-apache mod_ssl

SSL-Zertifikat abrufen

sudo certbot --apache -d ihr-domain-name

Wenn alle Überprüfungen von certbot ohne Probleme durchgeführt wurden.

Es wird nach einer HTTPS-Umleitung gefragt. Wählen Sie Option 2 und geben Sie sie ein.

Das war's schon.

Wenn alles korrekt funktioniert, zeigt https://test.sanakil.xyz eine einfache HTML-Indexseite an, die wir erstellt haben.

Fazit

Ich hoffe, dass Ihnen dies einen Einblick in die Installation und Implementierung eines SSL-Zertifikats für Apache gibt.

Als nächstes erfahren Sie, wie Sie ein Zertifikat in Nginx implementierenieren.

  • Aghilan Baskar
    Autor
Dank an unsere Sponsoren
Weitere gute Lektüre über Apache HTTP
Energie für Ihr Unternehmen
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti nutzt das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu überprüfen und innerhalb weniger Stunden verwertbare Ergebnisse zu erzielen.
    Versuchen Sie Invicti
  • Web Scraping, Residential Proxy, Proxy Manager, Web Unlocker, Search Engine Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie Brightdata
  • Monday.com ist ein All-in-One-Betriebssystem, mit dem Sie Projekte, Aufgaben, Arbeit, Vertrieb, CRM, Arbeitsabläufe und vieles mehr verwalten können.
    Versuch Montag
  • Intruder ist ein Online-Schwachstellen-Scanner, der Schwachstellen in Ihrer Infrastruktur aufspürt, um kostspielige Datenschutzverletzungen zu vermeiden.
    Versuchen Sie Intruder