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
- 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
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.