Datum der Erstellung: 08.03.2016
Name : httpd
Architektur : x86_64
Version : 2.4.6
Ausgabe : 40.el7.centos.1
Name | Klasse | Überprüfung | Kosten |
Let’s Encrypt |
0 |
Die Inhaberinformationen werden nicht überprüft |
Das Zertifkat wird kostenlos ausgestellt |
z.B
PositiveSSL |
1 | Die E-Mail Adresse und die Domain wurde überprüft | ca ~ 40,0€ für 3 Jahre |
3 | Die persönliche Identität der Person wurde kontrolliert | ca ~ 150,0€ für 3 Jahre |
yum -y install git
httpd mod_ssl
Git lauscht auf den Port 9418, Dieser Port auf der Firewall ausgehend Freigeschaltet sein
Die Installation ist sehr einfach:
Eine Ausführliche Anleitung findet man unter http://wiki.pratznschutz.com/index.php/Let%27s_Encrypt
Es wird ein Directory erzeugt:
mkdir /var/www/acme-client
In diesem Verzeichnis wird mit "git" die Software installiert.
git clone https://github.com/letsencrypt/letsencrypt /var/www/acme-client
cd /var/www/acme-client
./letsencrypt-auto certonly
Außer der E-Mail Adresse muss noch nichts eingegeben werden.
Überprüfung der default Einstellungen
httpd -V
Server version: Apache/2.4.6 (CentOS)
Server built: May 12 2016 10:27:23
Server's Module Magic Number: 20120211:24
Server loaded: APR 1.4.8, APR-UTIL 1.5.2
Compiled using: APR 1.4.8, APR-UTIL 1.5.2
Architecture: 64-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="/run/httpd/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
ls /etc/httpd/modules | grep mod_rewrite
mod_rewrite.so
grep -i LoadModule /etc/httpd/conf.modules.d/* | grep mod_rewrite
Es sollte folgender output erscheinen:
/etc/httpd/conf.modules.d/00-base.conf:LoadModule rewrite_module modules/mod_rewrite.so
Im Verzeichnis "/etc/httpd/conf.d" löschen wir alles, was default ist:
rm /etc/httpd/conf.d/*
Im Verzeichnis "/etc/httpd/sites-enable"
werden die Konfigfiles für die V-Hosts aktiviert
mkdir /etc/httpd/sites-available
mkdir /etc/httpd/sites-enabled
Hinweis: Diese Verzeichnis Struktur wurde von Debian eingeführt und sorgt für zusätzliche Flexibilität mit unseren virtuellen Hosts. Sie lassen sich leichter verwalten (vorübergehend aktivieren und deaktivieren).
Als nächstes konfigurien wir Apache für die virtuelle Hosts. Apache soll in dem Verzeichnis "sites-enabled" suchen. Um dies zu erreichen, werden wir die Datei "/etc/httpd/conf/httpd.conf" bearbeiten. Wir fügen in diese Datei folgende Zeile hinzu:
echo "IncludeOptional sites-enabled/*.conf" >>
/etc/httpd/conf/httpd.conf
Wir erzeugen einen Virtual Host:
echo "<VirtualHost *:80> ServerName www.system-mind.de ServerName www.system-mind.de ServerAdmin webmaster ServerSignature On
CustomLog /var/log/httpd/www.system-mind-access.log combined ErrorLog /var/log/httpd/www.system-mind-error.log
DocumentRoot /var/www/html <Directory /var/www/html> Options Indexes FollowSymlinks MultiViews Require all granted </Directory>
</VirtualHost>" >
/etc/httpd/sites-available/system-mind.de.conf
ln -s /etc/httpd/sites-available/system-mind.de.conf
/etc/httpd/sites-enabled
systemctl enable httpd.service service httpd restart || systemctl status httpd.service
echo "<html>
<head>
<title>Test Page</title>
<style type=text/css>
h1 {text-align:center; font-family:Arial, Helvetica, Sans-Serif; }
{text-indent:20px; }
</style>
</head>
<body bgcolor = #ffffcc text = #000000>
<h1>Test Page</h1>
</body>
</html>" > /var/www/html/index.html
http://www.system-mind.de
Es sollte eine Webseite mit "Test Page erscheinen
Der Request von Let'sEncrypt soll an den acme-client weitergeleitet werden. Dafür erzeugen wir einen weitern Virtual Host
vi /etc/httpd/sites-available/acme-client.system-mind.de.conf
und fügen den Inhalt hinein:
<VirtualHost *:80>
DocumentRoot /var/www/acme-client
ServerName http://acme-client.system-mind.de
CustomLog /var/log/httpd/acme-client.info-access.log combined
ErrorLog /var/log/httpd/acme-client.info-error.log
ServerAdmin webmaster
<If "%{HTTP_USER_AGENT} !~ /Let\'s Encrypt validation server/">
Require all denied
</If>
</VirtualHost>
ln -s /etc/httpd/sites-available/acme-client.system-mind.de.conf
/etc/httpd/sites-enabled
systemctl enable httpd.service service httpd restart || systemctl status httpd.service
Ein Test führt zu einen 403 Forbidden
http://acme-client.system-mind.de
www.system-mind.de
Wir leiten den request von Let'sEncrypt zu den acme-client weiter.
Dazu erweitern wir den Virtual Host http://www.system-mind.de
vi
/etc/httpd/sites-available/www.system-mind.de.conf
<VirtualHost *:80> ServerName www.system-mind.de ServerName www.system-mind.de ServerAdmin webmaster ServerSignature On CustomLog /var/log/httpd/system-mind-access.log combined ErrorLog /var/log/httpd/system-mind-error.log <IfModule mod_rewrite.c> LogLevel warn mod_rewrite.c:trace3 RewriteEngine On RewriteCond %{REQUEST_URI} ^/\.well-known\/acme-challenge\/?.* RewriteRule ^ http://acme-client.system-mind.de%{REQUEST_URI} </IfModule> DocumentRoot /var/www/html <Directory /var/www/html> Options Indexes FollowSymlinks MultiViews Require all granted </Directory> </VirtualHost>
Bei dem aufruf von http://acme-client.system-mind/.well-known/acme-challenge führt ebenfalls zu einen 403 Forbidden
Wir erzeugen die Datei /etc/letsencrypt/cli.ini
echo "authenticator = webroot webroot-path = /var/www/acme-client/ renew-by-default agree-tos email = webmaster" > /etc/letsencrypt/cli.ini
Jetzt können wir das Zertifkat für nvon Let'sEncrypt anfordern
/var/www/acme-client/letsencrypt-auto --config /etc/letsencrypt/cli.ini -d www.system-mind.de certonly
systemctl enable httpd.service service httpd restart || systemctl status httpd.service
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/www.system-mind.de/fullchain.pem. Your cert
will expire on 2016-10-20. To obtain a new or tweaked version of
this certificate in the future, simply run letsencrypt-auto again.
To non-interactively renew *all* of your certificates, run
"letsencrypt-auto renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
www.system-mind.de erzeugen
Wir erzeugen den Virtual Host https:
<VirtualHost *:443> ServerName www.system-mind.de ServerAdmin webmaster CustomLog /var/log/httpd/www.system-mind-access.log combined ErrorLog /var/log/httpd/www.system-mind-error.log LogLevel warn <IfModule mod_ssl.c> SSLEngine On SSLProtocol ALL -SSLv2 -SSLv3 SSLHonorCipherOrder on SSLCipherSuite HIGH:!ADH:!RC4:!aNULL:!eNULL:!EXP:!MEDIUM:!LOW:!MD5 SSLCertificateFile /etc/letsencrypt/live/www.system-mind.de/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.system-mind.de/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/www.system-mind.de/chain.pem </IfModule> DocumentRoot /var/www/html <Directory /var/www/html> Options Indexes FollowSymlinks MultiViews Require all granted </Directory> </VirtualHost>
Ein Test führt zu https://www.system-mind.de zeigt das Zerifikat:
www.system-mind.de
Wir leiten den request von http://www.system-mind.de um. Dafür erweiterten wir die Virtual Host Konfig. Dafür entfernen wir das DocumentRoot
<VirtualHost *:80>
ServerName www.system-mind.de
ServerName www.system-mind.de
ServerAdmin webmaster
ServerSignature On
CustomLog /var/log/httpd/system-mind-access.log combined
ErrorLog /var/log/httpd/system-mind-error.log
<IfModule mod_rewrite.c>
LogLevel warn mod_rewrite.c:trace3
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/\.well-known\/acme-challenge\/?.*
RewriteRule ^ http://acme-client.system-mind.de%{REQUEST_URI}
</IfModule>
Redirect permanent / https://www.system-mind.de/
</VirtualHost>
Rufen wir die Seite
http://www.system-mind.de
so werden wir automatisch nach
https://www.system-mind.de
umgeleitetet.
Fertig.