Docker NGINX Reverse Proxy mit LetsEncrypt – Mixed Content Problem

Ich wollte letztens WordPress auf Docker testen! Der Datenverkehr soll auch mit Letsencrypt verschlüsselt sein. Dafür habe ich einen Github Projekt gefunden, der das ganze verfahren automatisiert. Alles lief gut bis ich auf das “Mixed-Content” Problem gestoßen bin, wo die WordPress Seite über einen verschlüsselten Adresse abrufbar war, aber die ganzen Bilder/CSS/scripts unverschlüsselt übertragen worden. Nach einem Tag Recherche habe ich gefunden, dass der einfachsten weg das Problem zu lösen ist einfach in die Datei wp-config.php diese Zeile einzufügen:

$_SERVER['HTTPS'] = 'on';

 

Plugins/Themes Update FTP Login abfrage los werden!

Falls Ihr WordPress Lokal auf eurem Rechner oder auf einem Root Server installiert habt wo ihr wisst, dass Ihr nur die einzigen die darauf zugreift, dann könnt ihr die FTP Login abfrage beim Versuch eines Updates, los werden. Indem Ihr einfach die rechte für das WordPress Verzeichnis ändert.

chown -R www-data:www-data /usr/share/wordpress

danach sollte die FTP Abfrage nicht mehr erscheinen.

WordPress auf Jessie installieren

Hier werde ich erklären wie man den bekannten WordPress Blog aus dem Debian Repostries (Jessie) installiert.

Um WordPress zu installieren führt man folgendes Befehl:

sudo apt-get install wordpress

Nach dem man WordPress installiert hat, muss man nun den Apache Service sagen wo sich unsere WordPress Installation befindet.

Dafür müssen wir einen WordPress config Datei in /etc/apache2/sites-available/ anlegen.

mit eurem beliebigen Editor:

vim /etc/apache2/sites-available/wordpress.conf
<VirtualHost *:80>
ServerName wordpress.domain.com
DocumentRoot /usr/share/wordpress

<Directory /usr/share/wordpress>
Options FollowSymLinks
AllowOverride Limit Options FileInfo
DirectoryIndex index.php
Require all granted
</Directory>

<Directory /var/lib/wordpress/wp-content>
Options FollowSymLinks
Require all granted
</Directory>

</VirtualHost>

jetzt müssen wir die Website aktivieren.

sudo a2ensite wordpress

nun müssen wir den Apache Server neu starten damit die Änderungen wirksam werden.

sudo service apache2 restart

Jetzt müssen wir den WordPress Konfigurieren damit es den MySQL Datenbank benutzt.

dafür müssen wir eine config Datei /etc/wordpress/config-NAME_OF_YOUR_VIRTUAL_HOST.php anlegen.

vim /etc/wordpress/config-wordpress.domain.com.php

und folgendes rein schreiben:


<?php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'passwort');
define('DB_HOST', 'localhost');
define('WP_CONTENT_DIR', '/usr/share/wordpress/wp-content');
?>

nun müssen wir die MySQL DB erstellen, falls die MySQL Server ist noch nicht auf eurem Server installiert, man kann es mit folgendes Befehl installieren:

sudo apt-get install mysql-server
mysql -u root -p
CREATE DATABASE wordpress;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER
ON wordpress.*
TO wordpress@localhost
IDENTIFIED BY 'passwort';
FLUSH PRIVILEGES;

nun könnt Ihr eure WordPress Installation über den Web Interface aufrufen. http://wordpress.domain.com

Default top bar text