English English French French Spanish Spanish German German
Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

Wie installiere ich Apache und sicher mit dem Let's Encrypt-Zertifikat?

Install-Apache-and-Secure-with-Lets-Encrypt-Certificate
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Lassen Sie uns lernen, wie Sie den Apache HTTP-Server installieren und mit dem Let's Encrypt-Zertifikat sichern.

Introduction

Apache ist einer der am weitesten verbreiteten HTTP-Webserver. Das Einrichten des Apache und das Sichern mit einem SSL-Zertifikat ist der erste Schritt, den Sie für Ihre Webanwendungen ausführen müssen.

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

Zu Demonstrationszwecken. Ich werde den Testdomänennamen verwenden test.sanakil.xyz, welches ist von Cloudflare aufgeladen.

Vergessen Sie nicht, das zu ersetzen test.sanakil.xyz Domain mit Ihrer eigentlichen Domain. 📢

DNS Record Creation

Melden Sie sich bei Cloudflare oder Ihrem Domain-Registrar (falls nicht Cloudflare) an und erstellen Sie eine Ein Rekord um die Domäne auf die IP der Cloud-VM zu verweisen.

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

Installing Apache(Ubuntu)

Um die verfügbaren Pakete auf den neuesten Stand zu bringen

sudo apt-get update

Installieren Sie Apache

sudo apt-get install apache2

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

sudo ufw allow 'Apache Full'

Überprüfen Sie, ob Ihr installierter Apache ordnungsgemäß ausgeführt wird

sudo systemctl status apache2

Installing Apache(CentOS)

Aktualisieren Sie die verfügbaren Pakete auf dem neuesten Stand.

sudo yum update

Installieren Sie Apache

sudo yum install httpd

Fügen Sie die Ports 80 und 443 in der Firewall hinzu, um auf die Web-App zuzugreifen.

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 laufenden Status

sudo systemctl start httpd
sudo systemctl status httpd

Create VirtualHost for the website

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

Angenommen, die Anwendung verfügt bereits über einen Webserver wie Node, der auf einem Port ausgeführt wird. Wir können a verwenden Proxy, um es in Apache zu dienen. Oder wenn die App die Dateien nur wie statische Sites bereitstellt. Wir können die spezifizieren Pfad der Anwendung, die in Apache bereitgestellt werden soll.

Erstellen Sie eine virtuelle Hostdatei in Apache - die Konfigurationsdatei kann einen beliebigen Namen haben. Die Beibehaltung des Domainnamens, den wir für die Web-App bereitstellen, ist jedoch für eine einfache Identifizierung besser.

Zusätzliches Setup für CentOS

In CentOS (SELinux) ist nicht alles standardmäßig aktiviert wie in Ubuntu.

Wir müssen schaffen Websites aktiviert und Websites verfügbar Ordner in Apache.

Websites aktiviert - Weist Apache an, den Besucher mit den darin enthaltenen conf-Dateien zu bedienen

Websites verfügbar - Speichern Sie die Konfigurationsdateien des virtuellen Hosts

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

Weisen Sie nun den Apachen 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

Configure Apache to serve files

  • Erstellen Sie einen Ordner für die Bereitstellung Ihrer Web-App
sudo mkdir -p /var/www/test.sanakil.xyz/webapp
sudo vi /var/www/test.sanakil.xyz/webapp/index.html
  • Fügen Sie das folgende HTML-Snippet zum Testen ein
<!DOCTYPE html>
<html lang="en">
<head>
<title>Apache webapp</title>
</head>
<body>
<h1>My Apache webapp is working in test.sanakil.xyz</h1>
</body>
</html>
  • Erstellen Sie einen Ordner zum Generieren 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
  • Conf-Datei öffnen (CentOS)
sudo vi /etc/httpd/sites-available/test.sankil.xyz.conf
  • Fügen Sie das folgende Conf-Snippet ein, indem Sie Ihren Domain-Namen ä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 combined
</VirtualHost>
  • Geben Sie die erforderliche Berechtigung 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 Ihre Konfigurationsdatei für den virtuellen Host in Apache (Ubuntu).
sudo a2ensite test.sanakil.xyz.conf

Deaktivieren Sie die Standard-Conf-Datei aus Sicherheitsgründen

sudo a2dissite 000-default.conf

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

sudo systemctl restart apache2

Aktivieren Sie Ihre Konfigurationsdatei für den virtuellen Host 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, damit die Änderungen wirksam werden.

sudo systemctl restart httpd

Enabling HTTPS

Das Aktivieren von HTTPS auf dem Apache-Webserver in Ubuntu wurde durch die Verwendung vereinfacht certbot und Lassen Sie uns verschlüsseln. 

Lass uns verschlüsseln ist eine gemeinnützige Organisation, die SSL-Zertifikate für Millionen von Websites kostenlos zur Verfügung gestellt hat.

Certbot ist eine Software, die HTTPS für unsere Website mithilfe von Let's Encrypt automatisch 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

Holen Sie sich das SSL-Zertifikat

sudo certbot --apache -d your-domain-name

Wenn die gesamte Überprüfung von certbot ohne Probleme durchgeführt wird.

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

Das ist es.

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

Fazit

Ich hoffe, dies gibt Ihnen eine Vorstellung von der Installation und Implementierung eines SSL-Zertifikats auf Apache.

Als nächstes finden Sie heraus, wie es geht Implementieren Sie ein Zertifikat in Nginx.

Danke an unsere Sponsoren
Weitere großartige Lektüren zu Apache HTTP
Macht Ihr Geschäft
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder