Apache – SSL

In diesem Tutorial zeige ich, wie man beim Apache Webserver das SSL aktivieren kann.

Dann mal Los!

 

Zuerst sollte man überprüfen ob man openssl installiert hat:

 apt-get install openssl

Bekommt man die Meldung, dass die neueste Version den Paketes schon installiert ist, kann es weiter gehen.

 

Wir erstellen uns ein Verzeichnis wo das SSL Zertifikat gespeichert ist.

mkdir /etc/apache2/ssl

 

Dann generieren wir uns unser Zertifikat:

openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem

Das generierte Zertifikat ist dann 365 Tage also ein Jahr gültig.

 

Danach die Dateirechte für das Zertifikat ändern:

chmod 600 /etc/apache2/apache.pem

 

Als nächstes wechseln wir ins Verzeichnis /etc/apache2/sites-available/

cd /etc/apache2/sites-available

 

Und erstellen uns eine Kopie der, in den meisten Fällen schon vorher erstellen Virtualhost Konfiguration.

 cp default ssl

 

Nun öffnen wir die kopierte Datei:

vi  ssl

und fügen die rot markierten Änderungen ein:

<VirtualHost *:443>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory „/usr/lib/cgi-bin“>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined

Alias /doc/ „/usr/share/doc/“
<Directory „/usr/share/doc/“>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>

 

Danach checken wir ob in der ports.conf der Port 443 aktiviert ist.

Die Datei sollte so aussehen:

NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule>

<IfModule mod_gnutls.c>
Listen 443
</IfModule>

 

Dann das SSL Modul von Apache aktivieren:

a2enmod ssl

 

Und abschließend Apache neustarten:

service apache2 restart

 

Hinweis:

Es ist ein normales Verhalten, wenn beim Aufruf eurer Hompage über https:// eine  Zertifikatswarnung erscheint.

Der Grund dafür ist: Wir haben uns das Zertifikat selbst erstellt. Das bedeutet niemand kann bestätigen, dass das Zertifikat öffentlich gültig ist.

Aber damit eine https:// Verbindung  Zustande kommt, muss man ein Zertifikat besitzen, egal ob privat oder öffentlich!

 

 

Das war’s!

Ich hoffe, ich habe jemanden geholfen.

Falls schon, hinterlasse ein Danke.

Wünsche, Beschwerden, Anregungen sind gerne gesehen!