Das CMS WordPress benötigt zum Ablegen der Daten und Inhalte eurer erstellten Web-Seiten eine Datenbank. Diese Datenbank wird bereits für die Konfiguration während der Installation von WordPress benötigt. Also legen wir vor der Installation von WordPress zuerst eine Datenbank für WordPress mit Hilfe des Programms mySQL an.
Anlegen einer Datenbank für WordPress
Das Anlegen der Datenbank kann entweder in der Benutzeroberfläche phpmyadmin oder im Kommandozeilen-Fenster erfolgen. Im folgenden beschreibe ich das Anlegen der Datenbank und des Datenbank-Benutzers für das Kommandozeilen-Fenster mit einer SSH-Verbindung. In der Benutzeroberfläche müsst ihr euch im Wesentlichen durch die Menüs von phpmyadmin arbeiten, um Datenbank und Benutzer anlegen.
Um die Datenbank anzulegen, meldet ihr euch zunächst als Datenbank-Administrator (root) an den Datenbank-Server an. Im Kommandozeilen-Fenster könnt ihr das mit diesem Befehl tun:
mysql -uroot -pyourPassword
Damit ruft das Tool mysql aufgerufen. Mit dem Parameter -u wird der Name des Datenbank-Administrators und mit dem Parameter -p das Passwort des Datenbank-Administrators übergeben.
Nach erfolgreicher Anmeldung legt ihr eine neue Datenbank für WordPress an:
mysql> create database yourdatabasename; mysql> commit;
Im Prinzip würde das schon ausreichen. Ihr könntet alle Tabellen, die WordPress benötigt, für den Benutzer root in der Datenbank yourdatabasename während der WordPress-Konfiguration anlegen lassen. Dadurch, dass ihr bei der Installation von WordPress ein Prefix für die Tabellen-Namen angeben könnt, ist es möglich auch mehrere WordPress-Installation für denselben Benutzer (in dem Fall root) in einer gemeinsamen Datenbank anzulegen.
WordPress verlangt bei der Installation den Namen des Datenbank-Servers und einen Benutzer-Namen mit Passwort, für den eine Datenbank vorhanden ist (in unserem Fall wäre das der Benutzer root mit der eben angelegten Datenbank yourdatabasename). Danach geht WordPress her und legt in dieser Datenbank einen Satz Tabellen an, in denen die Daten eurer Web-Seiten und System-Daten von WordPress gespeichert werden. Jede Tabelle erhält das während der WordPress-Installation angegebene Prefix. Im Prinzip schaut dann eine Installation mit zwei WordPress-Installationen so aus:
Wir wollen jedoch für jede WordPress-Installation eine eigene Datenbank und einen eigenen Datenbank-Benutzer mit seinem eigenen Set an WordPress-Tabellen erstellen. Dadurch ist der Inhalt verschiedener WordPress-Installationen sauber getrennt. Meldet ihr euch als WordPress-Benutzer an die Datenbank an, seht ihr auch nur dessen Tabellen und nicht die der anderen Benutzer. Nur der Datenbank-Administrator (root) sieht alle Datenbanken und Benutzer.
Also legen wir einen neuen Datenbank-Benutzer für die WordPress-Installation in der gerade erzeugten Datenbank an. Das anlegen weiterer Datenbanken und Benutzer für weitere WordPress-Installationen verläuft dann analog. Zunächst meldet ihr euch wieder als Administrator root an:
mysql -uroot -pyourPassword
Danach legt ihr einen Benutzer für die eben erzeugte Datenbank an:
mysql> create user 'yourusername' identified by 'youruserpassword'; mysql> grant all privileges on yourdatabasename.* to 'yourusername'; mysql> flush privileges; mysql> commit; mysql> exit;
Beim mysql-Befehl create gebt ihr mit dem Parameter user den Namen und mit dem Parameter identified by das Password eures Datenbank-Benutzers an. Mit dem mysql-Befehl grant, bekommt der neue Benutzer alle benötigten Rechte zum Zugriff auf die WordPress-Tabellen der Datenbank.
Nun könnt ihr euch z.B. mit phpMyAdmin und dem neuen Benutzer-Namen sowie Passwort anmelden. Der angemeldete Benutzer hat nur Zugriff auf die eigene Datenbank (aktuell noch ohne Tabellen, die dann später durch WordPress angelegt werden).
Meldet ihr euch als Benutzer root unter phpmyadmin an, habt ihr wieder Zugriff auf alle Datenbanken, Benutzer und Tabellen.
Installation von WordPress
Nun könntet ihr Wordpress herunterladen und direkt im Dokument-Root-Verzeichnis (/var/www/html) installieren. Plant ihr aber mehrere Domains mit unterschiedlichen WordPress-Installationen, ist es besser, für jede WordPress-Installation ein eigenes Verzeichnis anzulegen:
cd /var/www/html sudo mkdir yourwordpress
Mit dem Unix-Befehl mkdir legt ihr das neue Verzeichnis für WordPress an.
Danach könnt ihr in das Verzeichnis mit dem Unix-Befehl cd wechseln:
cd yourwordpress
Jetzt könnt ihr die neuesten Versionen von WordPress herunterladen:
- Die aktuellste deutschsprachige Version von WordPress befindet sich unter: https://de.wordpress.org/latest-de_DE.tar.gz
- Die aktuellste englischprachige Version von WordPress befindet sich unter: http://wordpress.org/latest.tar.gz
Die passende Version könnt ihr euch mit dem Befehl wget herunterladen:
sudo wget https://de.wordpress.org/latest-de_DE.tar.gz
Dann könnt ihr das Paket mit dem Tool tar entpacken:
sudo tar xzf latest-de_DE.tar.gz
Das WordPress-Paket wurde beim Entpacken in das Verzeichnis yourwordpress/wordpress entpackt Damit das WordPress-Paket direkt in eurem Verzeichnis mywordpress liegt, verschiebt ihr das entpackte Paket mit dem Unix-Befehl mv aus dem Verzeichnis wordpress in das Verzeichnis, in dem ihr euch gerade befindet:
sudo mv wordpress/* .
Den Inhalt eures WordPress-Verzeichnis, könnt ihr euch mit dem Unix-Befehl ls anzeigen lassen:
ls -al
Euer WordPress-Verzeichnis sollte nun ungefähr so aussehen:
drwxr-xr-x 6 root root 4096 Mai 30 14:01 . drwxr-xr-x 5 www-data www-data 4096 Mai 30 13:54 .. -rw-r--r-- 1 1001 1001 418 Sep 25 2013 index.php -rw-r--r-- 1 root root 8206746 Mai 19 14:40 latest-de_DE.tar.gz -rw-r--r-- 1 1001 1001 19935 Mär 5 21:14 license.txt -rw-r--r-- 1 1001 1001 8663 Mai 19 14:40 liesmich.html -rw-r--r-- 1 1001 1001 7360 Apr 26 22:25 readme.html drwxr-xr-x 2 1001 1001 4096 Mai 30 14:01 wordpress -rw-r--r-- 1 1001 1001 5032 Jan 28 04:35 wp-activate.php drwxr-xr-x 9 1001 1001 4096 Mai 19 14:40 wp-admin -rw-r--r-- 1 1001 1001 364 Dez 19 12:20 wp-blog-header.php -rw-r--r-- 1 1001 1001 1476 Jan 30 22:56 wp-comments-post.php -rw-r--r-- 1 1001 1001 3636 Mai 19 14:40 wp-config-sample.php drwxr-xr-x 5 1001 1001 4096 Mai 19 14:40 wp-content -rw-r--r-- 1 1001 1001 3286 Mai 24 2015 wp-cron.php drwxr-xr-x 16 1001 1001 12288 Mai 19 14:40 wp-includes -rw-r--r-- 1 1001 1001 2380 Okt 25 2013 wp-links-opml.php -rw-r--r-- 1 1001 1001 3316 Nov 6 2015 wp-load.php -rw-r--r-- 1 1001 1001 33837 Mär 6 04:06 wp-login.php -rw-r--r-- 1 1001 1001 7887 Okt 6 2015 wp-mail.php -rw-r--r-- 1 1001 1001 13106 Feb 17 23:58 wp-settings.php -rw-r--r-- 1 1001 1001 28624 Jan 28 04:51 wp-signup.php -rw-r--r-- 1 1001 1001 4035 Nov 30 2014 wp-trackback.php -rw-r--r-- 1 1001 1001 3061 Okt 3 2015 xmlrpc.php
Das Verzeichnis wordpress ist nun leer und kann gelöscht werden, Das heruntergeladene WordPress-Paket, latest-de_DE.tar.gz, wird ebenfalls nicht mehr benötigt und kann gelöscht werden:
sudo rm -rf wordpress sudo rm latest-de_DE.tar.gz
Vor der Konfiguration von WordPress, muss der Apache-Webserver-Benutzer Lese- und Schreib-Rechte auf euer WordPress-Verzeichnis /var/www/html/mywordpress und alle darunterliegenden Daten und Verzeichnisse erhalten. Dies ist z.B. notwendig für:
- Updates durch WordPress
- Anlegen und Update der Konfigurationsdateien, wie .htaccess oder wp-config.php, durch WordPress
- Installieren oder löschen von Plugins
- Installieren oder löschen von Themes
- Installieren oder löschen von Widgets
Der Gruppen- und auch Benutzer-Name des Apache-Webservers lautet jeweils www-data.
Also setzen wir als Eigentümer des WordPress-Verzeichnis und für alle darunter liegenden Dateien und Verzeichnisse, die Gruppe und den Benutzer www-data des Apache Webservers.
sudo chown -R www-data:www-data .
Wir kontrollieren das mit:
ls -al
Danach sollte das WordPress-Verzeichnis so oder so ähnlich aussehen:
drwxr-xr-x 5 www-data www-data 4096 Mai 30 14:15 . drwxr-xr-x 5 www-data www-data 4096 Mai 30 13:54 .. -rw-r--r-- 1 www-data www-data 418 Sep 25 2013 index.php -rw-r--r-- 1 www-data www-data 19935 Mär 5 21:14 license.txt -rw-r--r-- 1 www-data www-data 8663 Mai 19 14:40 liesmich.html -rw-r--r-- 1 www-data www-data 7360 Apr 26 22:25 readme.html -rw-r--r-- 1 www-data www-data 5032 Jan 28 04:35 wp-activate.php drwxr-xr-x 9 www-data www-data 4096 Mai 19 14:40 wp-admin -rw-r--r-- 1 www-data www-data 364 Dez 19 12:20 wp-blog-header.php -rw-r--r-- 1 www-data www-data 1476 Jan 30 22:56 wp-comments-post.php -rw-r--r-- 1 www-data www-data 3636 Mai 19 14:40 wp-config-sample.php drwxr-xr-x 5 www-data www-data 4096 Mai 19 14:40 wp-content -rw-r--r-- 1 www-data www-data 3286 Mai 24 2015 wp-cron.php drwxr-xr-x 16 www-data www-data 12288 Mai 19 14:40 wp-includes -rw-r--r-- 1 www-data www-data 2380 Okt 25 2013 wp-links-opml.php -rw-r--r-- 1 www-data www-data 3316 Nov 6 2015 wp-load.php -rw-r--r-- 1 www-data www-data 33837 Mär 6 04:06 wp-login.php -rw-r--r-- 1 www-data www-data 7887 Okt 6 2015 wp-mail.php -rw-r--r-- 1 www-data www-data 13106 Feb 17 23:58 wp-settings.php -rw-r--r-- 1 www-data www-data 28624 Jan 28 04:51 wp-signup.php -rw-r--r-- 1 www-data www-data 4035 Nov 30 2014 wp-trackback.php -rw-r--r-- 1 www-data www-data 3061 Okt 3 2015 xmlrpc.php
Das Verzeichnis (d = directory) wp-content gehört dem Benutzer www-data und der Gruppe www-data. Dieser Benutzer hat Lese- und Schreibzugriff auf das Verzeichnis (rwx), während die Gruppe und alle anderen Benutzer das Verzeichnis nur lesen und Dateien darin ausführen dürfen (r-x und r-x).
Wenn alles passt, kann nun WordPress zum ersten mal im Web-Browser aufgerufen werden.
WordPress konfigurieren
Aufruf von WordPress mit:
http://raspberrypi/yourwordpress
oder mit IP-Adresse:
http://192.168.2.9/yourwordpress
Danach wird die Startseite von WordPress angezeigt, die so oder so ähnlich aussehen sollte:
Zum Konfigurieren von WordPress benötigt ihr die im Startfenster angezeigten Daten:
- Name der Datenbank (yourdatabasename)
- Benutzername der Datenbank (yourusername)
- Passwort für den Datenbank-Benutzer (youruserpassword)
- Datenbankserver (hier localhost)
- Frei wählbares Prefix für die Tabellen-Namen von WordPress
Im nächsten Fenster könnt ihr diese Daten eingegeben:
Klappt die Verbindung zur Datenbank meldet es Wordpress mit einer Erfolgsmeldung.
Mit einem Klick auf den Button Installation ausführen legt WordPress alle benötigten Tabellen in der Datenbank an und die restliche Konfiguration wird durchgeführt.
Geht alles gut erscheint die Willkommens-Seite von WordPress. Hier müsst ihr nur noch folgende Daten eingegeben:
- Name eurer Webseite
- Benutzername und Passwort für den WordPress-Administrator
- Eure E-Mail-Adresse
Geht auch hier alles gut meldet sich WordPress wieder mit einer Erfolgsmeldung.
Danach könnt ihr euch als Administrator an WordPress anmelden. Nach erfolgreicher Anmeldung landet ihr im sogenannten Dashboard von WordPress und könnt loslegen.
Um zu prüfen, ob WordPress funktioniert und die Schreibrechte für eure WordPress-Verzeichnis korrekt sind, solltet ihr folgende Tests durchführen:
- Updates durchführen
- Plugin installieren
- Theme installieren
- Medien (Bilder, …) hochladen
Sollte WordPress beim Hochladen von Medien oder Beim installieren von Updates nach einem FTP-Server fragen, fehlen möglicherweise Schreibrechte für den Apache-User www-data für euer WordPress-Verzeichnis.
Oder es fehlt eventuell ein Eintrag in der WordPress-Konfigurations-Datei wp-config.php:
define('FS_METHOD','direct');
Bitte achtet bei der Eingabe darauf, dass ihr die einfachen Anführungszeichen verwendet. Bei einem fehlerhaften Eintrag in der Konfiguration-Datei kann es passieren, dass sich die Admin-Oberfläche von WordPress nicht mehr aufrufen lässt.
Friendly Links
Um leichter lesbare Links, sogenannte Friendly-Links a la http://meinedomain/mysite zu aktivieren, wählt ihr im Dashboard von WordPress unter Einstellungen -> Permalink die Option Beitragsname aus.
Die aktuelle Version von WordPress (bei mir war es die Version 4.5.2) sollte bereits eine Datei mit dem Namen .htaccess in eurem WordPress-Verzeichnis angelegt haben. Dort solltet ihr dies Zeilen zu finden:
RewriteEngine On RewriteBase /yourwordpress/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /yourwordpress/index.php [L]
Zusätzlich muss der Virtuell-Host vom Apache-Server entsprechend für die Friendly Links konfiguriert werden.
Dazu aktiviert ihr das Modul für Friendly-Links für den Apache-Server mit:
sudo a2enmod rewrite
Zusätzlich müssen folgende Zeilen in die Datei 000-default.conf im Verzeichnis /etc/apache2/sites-enabled eingefügt werden:
... DocumentRoot /var/www/html <Directory /var/www/html> Options -Indexes +FollowSymlinks +Multiviews AllowOverride All Require all granted </Directory> ...
Dazu die Datei mit dem Editor aufrufen und die Zeilen mit Copy und Paste einfügen, falls sie noch nicht vorhanden sind:
sudo nano /etc/apache2/sites-enabled/000-default.conf
Mit CTRL-O und ENTER speichern und mit CTRL-X den Editor verlassen. Die Option -Indexes verhindert zusätzlich das Auflisten eines Verzeichnis im Web-Browser.
Danach müsst ihr den Apache-Server einmal neu durchstarten:
sudo service apache2 restart
Jetzt sollte WordPress voll funktionsfähig sein und ihr könnt mit dem Erstellen euerer Webseite starten. Auf der nächsten Seite findet ihr noch ein paar Tipps und Tricks für den Backup und den Umzug eurer Webseiten zu eurem Internet-Provider.