WordPress: Installation

Installation des WordPress CMS auf einem Linux Debian 11 System, mit bereits vorhandener VirtualHost Konfiguration.

Installation der Abhängigkeiten

# apt update && apt upgrade

WordPress ist ein in PHP geschriebenes Content Management System (CMS) und basiert auf eine MySQL oder MariaDB Datenbank. Die folgenden Pakete sind auf einem Out of the box Debian 11 mit bereits vorhandenem Apache2 Webserver noch zu installieren.

# apt install mariadb-server php libapache2-mod-php php-mysql wget

MySQL und MariaDB installieren auf UNIX System ein Skript, welches dem Administrator die Möglichkeit die Datenbank mit grundsätzlichen Einstellungen abszusichern. mysql_secure_installation bietet die Möglichkeit ein Root-Passwort (für die Datenbank) zu setzen, Remotezugänge zu deaktivieren, Test-Benutzer und -Datenbanken zu entfernen etc:

# mysql_secure_installation

Datenbank und Datenbank-Benutzer für WordPress erstellen

Die folgenden vier SQL-Statements richten eine Datenbank wordpress ein, erstellen einen Datenbankbenutzer wpuser mit dem Passwort wppasswd und erteilen diesem Benutzer die Rechte ALL PRIVILEGES an der Datenbank:

# mysql -u root

MariaDB [(none)]> CREATE DATABASE wordpress;
Query OK, 1 row affected (0.001 sec)

MariaDB [(none)]> CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'wppasswd';
Query OK, 0 rows affected (0.003 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> ^DBye
Document-Root und VirtualHost im Apache Webserver erstellen. WordPress Instanz installieren

Die in der Infobox oben verlinkte Grundkonfiguration des Apache Webservers für die Verwendung virtueller Hosts wird nun für diese WordPress-Instanz erweitert.

Das Document-Root Verzeichnis wp.prontosystems.de wird für den gleichnamigen FQDN angelegt. WordPress herunterladen und im Document Root entpacken und abschließend die Berechtigungen für die WordPress Instanz setzen:

# cd /var/www/
/var/www# mkdir wp.prontosystems.de
/var/www# cd wp.prontosystems.de/
/var/www/wp.prontosystems.de# wget http://wordpress.org/latest.tar.gz
/var/www/wp.prontosystems.de# tar xfv latest.tar.gz
/var/www/wp.prontosystems.de# rm latest.tar.gz
/var/www/wp.prontosystems.de# chown -R www-data:www-data wordpress
/var/www/wp.prontosystems.de# chmod -R 755 wordpress/

Eine Konfigurationsdatei für den VirtualHost dieser Instanz muss noch erstellt und aktiviert werden:

# touch /etc/apache2/sites-available/wp.prontosystems.de.conf
<VirtualHost *:80>
  ServerAdmin webmaster@prontosystems.de
  ServerName wp.prontosystems.de
  DocumentRoot /var/www/wp.prontosystems.de/wordpress
  ErrorLog ${APACHE_LOG_DIR}/wp.prontosystems.de_error.log
  CustomLog ${APACHE_LOG_DIR}/wp.prontosystems.de_access.log combined
</VirtualHost>
# a2ensite wp.prontosystems.de
# systemctl reload apache2

WordPress Instanz konfigurieren

Im entpackten Verzeichnis befindet sich die Konfigurationsdatei wp-config-sample.php die umbenannt werden muss und in der umbenannten Kopie müssen dann die oben eingestellten Datenbank-Parameter wie Datenbankname, Datenbankbenutzer und Passwort eingestellt werden:

/var/www/wp.prontosystems.de/wordpress# cp wp-config-sample.php wp-config.php
/var/www/wp.prontosystems.de/wordpress# chown www-data:www-data wp-config.php
// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );
/** Database username */
define( 'DB_USER', 'wpuser' );
/** Database password */
define( 'DB_PASSWORD', 'wppasswd' );

Das macht die Datei wp-config.php zu einer der sensibelsten Dateien der WordPress Installation, daher werden aus Sicherheitsgründen der Benutzergruppe Jeder die Berechtigungen entzogen:

/var/www/wp.prontosystems.de/wordpress# chmod 650 wp-config.php

Ein abschließender Reload der Apache Konfiguration finalisiert die Konfiguration, die damit im Backend abgeschlossen ist:

# systemctl reload apache2

Webseite SSL verschlüsseln

Bevor Sie mit dem Customizen Ihrer neuen WordPress Instanz beginnen, sollten Sie die Seite https verschlüsseln. WordPress kann ziemlich empfindlich auf nachträgliche Änderungen der URL reagieren und schon ein Wechsel von http:// auf https:// kann am Ende häßliche Zertifikatswarnungen in bereits vorhandenen Elementen erzeugen. Das ganze läßt sich zwar idR wieder reparieren aber wenn man es vermeiden kann, kann man sich das Gefummel auch schenken.

Um eine Webseite https zu verschlüsseln, benötigt man ein Server Zertifikat. Ein solches kann eingekauft werden oder ist im Webhosting Paket bereits enthalten. Wer seine Webseiten auf einem eigenen Server hostet wird sehr wahrscheinlich zu Let's Encrypt Zertifikaten greifen. Die Installation eines Let's Entcrypt Zertifikats wird im Artikel Let's Encrypt Zertifikate mit Certbot beschrieben.

Updated on 10. Oktober 2022

Was this article helpful?

Related Articles