Eine Schritt für Schritt Anleitung zur Installation von WordPress auf Ubuntu 18.04.
Ausgangslage ist ein aktuelles Ubuntu mit fester IP Adresse.

Als erstes melden wir uns mit dem root Benutzer an

sudo -s

Nun installieren wir den mysql-server.

apt-get -y install mysql-server

Um den SQL Server sicher zu machen führen wir die secure installation durch

mysql_secure_installation

nun wird man diverse Sachen gefragt, welche man alle mit „y“ beantwortet, dabei wird ein sicheres Kennwort für den SQL Server verwendet und Testdatenbanken etc. gelöscht.

Die Anmeldung am SQL Server erfolgt mit diesem Befehl:

mysql -u root -p

Es wird eine Datenbank erstellt

create database wordpress;

Dann wird ein SQL User erstellt

create user wordpress@localhost identified by 'PASSWORT';

Jetzt geben wir dem erstellten User Rechte auf die Datenbank

grant all privileges on wordpress.* to wordpress@localhost;

dann lassen wir dem SQL Server die Rechte neu einlesen

flush privileges;

dann können wir den SQL-Server verlassen

exit;

Jetzt wird die Ordnerstruktur erstell und WordPress heruntergeladen

als erstes erstellen wir die Ordnerstruktur

mkdir -p /var/www

dann navigieren wir in den erstellten Pfad

cd /var/www

nun laden wir das aktuellste WordPress herunter

wget http://wordpress.org/latest.tar.gz -O - | tar xvfz -

ein neuer Ordner wird erstellt, in dieses navigieren wir

cd wordpress

als nächstes wird die WordPress Konfiguration angepasst

cp wp-config-sample.php wp-config.php

die unbenannte Datei wird jetzt bearbeitet

nano wp-config.php

wordpress config

 

diese Felder müssen angepasst werden mit dem zuvor erstellten SQL Benutzer
in diesem Beispiel sieht es dann wie folgt aus:

wordpress config fertig

 

mit STRG-O können wir die Änderungen speichern und mit STRG-X verlassen wir den Editor

Jetzt muss natürlich noch der Webserver installiert werden

apt-get -y install apache2

zusätzlich werden noch ein paar Module benötigt

apt-get -y install libapache2-mod-php7.2 php7.2-mysql php7.2-gd

nun können wir den Webserver Apache2 anpassen, dazu in die richtige Ordnerstruktur

 cd /etc/apache2/sites-enabled

danach die Datei bearbeiten

nano 000-default.conf

Hier ändern wir folgende Zeile so ab: DocumentRoot /var/www/wordpress

wordpress wordpress wordpress html
mit STRG-O können wir die Änderungen speichern und mit STRG-X verlassen wir den Editor

Damit WordPress Änderungen durchführen kann, müssen hierfür noch die Rechte angepasst werden

chown -R www-data:www-data /var/www/wordpress

Nun ist WordPress über die Weboberfläche erreichbar.
Jedoch noch nicht bereit um diesen Webserver nun im Internet freizugeben.
Hierfür werden noch ein SSL Zertifikat benötigt, von HTTP auf HTTPS weitergeleitet.

Bei mir übernimmt der Proxy von der Sophos UTM das signierte Zertifikat, jedoch soll die Sophos mit dem Webserver trotzdem über SSL kommunizieren.
Dies funktioniert so:

SSL aktivieren:

a2enmod ssl

Verzeichnis erstellen für das Zertifikat

mkdir /etc/apache2/ssl

Zertifikat erstellen

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Nun muss das Zertifikat ausgefüllt werden. Dies ist selbsterklärend.

Die default-ssl.conf muss noch angepasst werden

 nano /etc/apache2/sites-available/default-ssl.conf

<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
</IfModule>
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key

SSL Konfiguration aktivieren:

a2ensite default-ssl.conf

Security Warnungen vermeiden

a2enmod headers

und zum Schluss den Webserver neustarten

systemctl restart apache2

Phh viel geschafft und fast fertig..

Nur noch mod rewrite aktivieren, damit WordPress selbstständig die URLs anpassen kann

Modul aktivieren

a2enmod rewrite

apache2.conf anpassen

nano /etc/apache2/apache2.conf

Hier in der Zeile AllowOverride None durch All ersetzen
modrewrite

Nun kann man über die IP Adresse des Webservers auf die Weboberfläche zugreifen und die Ersteinrichtung vornehmen.