Wordpress auf einer Linux VM installieren
In diesem Artikel werden Schritte aufgezeigt um Wordpress samt Datenbank aufzusetzen.
Zuerst wird das System geupdated.
sudo apt update && sudo apt upgrade
Anschließend installieren wir den Webserver apache2 als auch den Datenbankserver mariadb. Zudem werden noch einige php Module installiert.
sudo apt install apache2 mariadb-server unzip vim libapache2-mod-php php-gd php-mysql \ php-curl php-mbstring php-intl php-gmp php-bcmath php-xml php-imagick php-zip
Anschließend bereiten wir die Datenbank vor.
sudo mysql
Folgende Befehle müssen innerhalb der SQL-Shell ausgeführt werden:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; CREATE DATABASE IF NOT EXISTS wordpress_wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; GRANT ALL PRIVILEGES ON wordpress.* TO 'username'@'localhost'; FLUSH PRIVILEGES;
Anschließend beenden wir die SQL-Shell.
quit;
Jetzt können wir die Wordpress Dateien herunterladen. Das aktuellste Packet findet man unter https://wordpress.org/latest.zip.
cd /var/www wget https://wordpress.org/latest.zip unzip latest.zip
Anschließend werden noch die Rechte gesetzt, sodass der Webserver auf den Ordner und den darin liegenden Dateien zugreifen kann.
sudo chown -R www-data:www-data /var/www/nextcloud
Nach dem entpacken der zip kann nun in das Verzeichnis /var/www/wordpress gewechselt werden. Hier kann vorab die Konfiguration vorgenommen werden. Dazu kopieren wir uns die Datei mit folgender Zeile und bearbeiten im Anschluss die neue Datei wp-config.php mit den oben erstellten Datenbank Zugangsdaten.
cd /var/www/wordpress cp wp-config-sample.php wp-config.php vim wp-config.php
Folgende Zeilen müssen bearbeitet werden:
// ** Database settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define( 'DB_NAME', 'wordpress_wordpress' ); /** Database username */ define( 'DB_USER', 'wordpress' ); /** Database password */ define( 'DB_PASSWORD', 'password' ); /** Database hostname */ define( 'DB_HOST', 'localhost' ); /** Database charset to use in creating database tables. */ define( 'DB_CHARSET', 'utf8mb4' ); /** The database collate type. Don't change this if in doubt. */ define( 'DB_COLLATE', '' );
Falls die Wordpress Instanz hinter einem Reverse Proxy erreicht wird, muss noch etwas beachtet werden. Dazu muss in der gleichen Datei wp-config.php ganz oben folgendes eingetragen werden, sodass Wordpress mit unverschlüsselten Anfragen zurecht kommt, da diese nach dem Reverse Proxy spätestens verschlüsselt stattfinden.
<?php define('FORCE_SSL_ADMIN', true); if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) $_SERVER['HTTPS']='on';
Im Anschluss wird noch der Webserver konfiguriert.
vim /etc/apache2/sites-enabled/000-default.conf # hier muss der Servername abgeändert werden # diese Zeile kann auch auszementiert bleiben, dann hört der Webserver auf alle Anfragen. ServerName www.example.com # hier muss der Root Pfad abgeändert werden DocumentRoot /var/www/wordpress
Nun muss noch der Webserver neu gestartet werden und die Wordpress installation kann wie gewohnt über die Weboberfläche gestartet werden.
systemctl restart apache2
