(Geschätzte Lesezeit: 6 - 12 Minuten)

Vorbereitungen

Zuerst sollte die Software auf den aktuellen Stand gebracht werden. Zur Zeit, als dieser Artikel entstand war das Wampserver 3.3.6 (64 Bit) und der Tray Menu Manager (Wampserver.exe) 3.2.6.7 (64 Bit). Zudem müssen die letzten Versionen vom Microsofts C++ Runtime Libraries installiert sein, und zwar (wieso auch immer) sowohl in der 32-bit, als auch in der 64-bit Version. Das waren aktuell die Versionen VC17 - 14.40.33816. Die Pakete können hier heruntergeladen werden. Bei dieser Gelegenheit empfiehlt es sich auch, die PHP-, Apache-, MySQL- bzw. MariaDB- Versionen zu aktualisieren.

Bearbeiten der Apache Konfiguration

Zuerst müssen wir nun dafür sorgen, dass der Apacheserver in der Lage ist, SSL zu verstehen. Dazu muss er mit einer weiteren Konfigurationsdatei bekannt gemacht werden, nämlich jener Datei, die die gesamte SSL-Konfiguration enthält. Bei gestopptem Server laden wir also die Haupkonfigurationsdatei des Apache. Sie liegt unter [LW]/wamp64/bin/apache[version]/conf/httpd.conf - wobei [LW] durch das Laufwerk mit dem Wampserver und [version] durch die Apache-Version (z.B. apache2.4.58) zu ersetzen sind.

Wir suchen die Zeile #Include conf/extra/httpd-ssl.conf  Die Raute (#) am Anfang der Zeile steht für einen Kommentar. Wir entfernen das #, dadurch wird die Anweisung aktiv, und der Server lädt die ssl.conf  Datei.Bearbeiten der Apache-SSL Konfiguration.

Als Nächstes öffnen wir die SSL Konfigurationsdatei. Sie liegt unter [LW]/wamp64/bin/apache[version]/conf/extra/httpd-ssl.conf . Wir ersetzen den gesamten Inhalt dieser Datei durch folgendes:

## BEGIN OF SSL VIRTUAL HOSTS CONTEXT
Define SERVERNAMEVHOSTSSL joomla5.loc
Define DOCUMENTROOTVHOSTSSL w:/wamp64/www/joomlamuster5.loc
<VirtualHost *:443>
  ServerName ${SERVERNAMEVHOSTSSL}
  DocumentRoot "${DOCUMENTROOTVHOSTSSL}"
  SSLEngine on
  SSLCertificateFile      "${CERTIFICATS}/${SERVERNAMEVHOSTSSL}-certonly.pem"
  SSLCertificateKeyFile   "${CERTIFICATS}/${SERVERNAMEVHOSTSSL}-privatekey.pem"
  <Directory "${DOCUMENTROOTVHOSTSSL}/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride all
    Require local
  </Directory>
  CustomLog "${INSTALL_DIR}/logs/custom.log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

## END OF this SSL VIRTUAL HOSTS CONTEXT

Die Zeilen ab Nummer 30 bis zur Zeile # Do not remove these lines UnDefine enthalten die Virtual Host Konfigurationen für die vHosts mit SSL Zertifikat, und zwar pro Abschnitt für einen Host (Webseite). Um nicht Äpfel mit Birnen zu vermischen, ist der Ansatz der, dass die vHost Konfiguration vom Server in die Datei  .../conf/extra/httpd-vhost.conf geschrieben wird, die dazugehörende SSL Konfiguration aber in die Datei .../conf/extra/httpd-ssl.conf. Leider muss letztere von Hand eingepflegt werden. Jeder Abschnitt für einen vHost fängt folglich mit Define SERVERNAMEHOSTSSL... an und endet mit </VirtualHost>. Dazu weiter unten im Abschnitt Die SSL-Konfiguration wird nachgetragen mehr.