Ich versuche schon über mehrere Tage es irgendwie hinzubekommen, dass der Webserver mit "https" erreichbar ist. Das gültige Zertifikat/ die Dateien habe ich schon:
cert.pem chain.pem fullchain.pem privkey.pem
Jedoch läuft der Apache-Webserver als Docker Image. Ich weiß jedoch nicht, wie ich das SSL Zertifikat hinzufüge, da keine "normale" Apache2 Config vorliegt.
<VirtualHost *:443>
SSLEngine on
SSLCertificateChainFile "path to fullchain.pem"
SSLCertificateKeyFile "path to privkey.pem"
</VirtualHost>
Dies habe ich ich dann via in den Apache2 Server-config importiert. (Wichtig zu wissen ist, dass der Pfad "sites-available" nicht exsestiert.
./configfile.conf:/etc/apache2/sites-available/000-default.conf
Port 80, also http funktioniert auch noch weiter... (80 und 443 sind freigegeben)
Weiß jemand, wie ich ein SSL Zertifikat auf einem Apache2 Server aktiviere, welcher auf Docker läuft / Wie ich die Config Datei richtig lade (denke nämlich nicht, dass diese richtig geladen wird)
Hier nochmal meine docker-compose.yml (unvollständing) :
web:
build:
context: ./php
dockerfile: Dockerfile
container_name: php73
depends_on:
- db
volumes:
- /home/pi/web_dev/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
- ./php:/var/www/html/
- ./my_vhost.conf:/vhosts/myapp.conf:ro
- ./certs:/certs
ports:
- 443:443
- 80:80
Und meine Dockerfile:
FROM php:7.3.3-apache
RUN a2enmod ssl && a2enmod rewrite
RUN mkdir -p /etc/apache2/ssl
COPY /etc/letsencrypt/live/MYIP/*.pem /etc/apache2/ssl/
COPY ../config/000-default.conf /etc/apache2/sites-available/000-default.conf
RUN apt-get update && apt-get upgrade -y
RUN docker-php-ext-install mysqli
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
ADD php.ini /home/pi/web_dev
EXPOSE 80
EXPOSE 443