· WordPress  · 4 min Lesezeit

WordPress mit Bedrock auf Uberspace installieren

Bedrock ist super. Es handelt sich hierbei um eine bessere Art, WordPress nicht nur zu installieren, sondern auch zu warten, Plugins und Themes zu installieren und zu aktualisieren. Im nachfolgenden beschreibe ich die Installation auf einem Uberspace.

Vorwort

Ich gehe erstmal davon aus, dass die Zielgruppe dieses Posts weiß, was Bedrock ist. Eine Beschreibung dessen würde den Rahmen sprengen. Mehr Informationen zu Bedrock selbst gibt es auf der Herstellerseite.

Datenbank einrichten

Da jeder einen aktuelleren MySQL-Server bevorzugt, nutzen wir den bis zum großen CentOS 7 Update bereitgestellten MariaDB-Server anstelle des default MySQL-Servers. Shell: $ uberspace-setup-mariadb

PHP einrichten

Na klar, PHP ist vorinstalliert. Allerdings nutzen wir lieber die aktuellste PHP-Version. Wir schauen also, welche Versionen auf unserem System verfügbar sind. Shell:

Terminal window
$ ls -ld /package/host/localhost/php-*
[..]
drwxr-xr-x. 9 packagesync packagesync 4096 Apr 6 2016 /package/host/localhost/php-7.0.5
drwxr-xr-x. 9 packagesync packagesync 4096 May 4 2016 /package/host/localhost/php-7.0.6
drwxr-xr-x. 9 packagesync packagesync 4096 Jun 23 2016 /package/host/localhost/php-7.0.8
lrwxrwxrwx. 1 packagesync packagesync 33 Dec 8 14:17 /package/host/localhost/php-7.1 -> /package/host/localhost/php-7.1.0

Wir können also zum 7.1er Zweig wechseln. Shell:

Terminal window
$ echo PHPVERSION=7.1 > etc/phpversion
$ killall php-cgi
$ logout

Nach dem erneuten Login sehen wir auch selbst die neue Version: Shell:

Terminal window
$ php --version
PHP 7.1.0 (cli) (built: Dec 2 2016 13:41:28) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.1.0, Copyright (c) 1999-2016, by Zend Technologies

Oder ähnlich.

Composer installieren

Composer ist ein Paketmanager für PHP und das Beste, was PHP in jüngerer Zeit vor Iterable passiert ist. Bedrock macht intensiven Gebrauch davon, um mitunter Themes oder Plugins zu verwalten. Shell:

Terminal window
$ wget https://raw.githubusercontent.com/composer/getcomposer.org/1b137f8bf6db3e79a38a5bc45324414a6b1f9df2/web/installer -O - -q | php -- --quiet
$ mv composer.phar /home/$USER/bin/composer
$ chmod +x /home/$USER/bin/composer
$ composer --version
Composer version 1.4.1 2017-03-10 09:29:45

composer steht nun systemweit bereit.

Bedrock herunterladen

Wir installieren Bedrock in /var/www/virtual/$USER/bedrock. Shell:

Terminal window
$ cd /var/www/virtual/$USER/
$ composer create-project roots/bedrock
Installing roots/bedrock (1.7.7)
- Installing roots/bedrock (1.7.7): Downloading (100%)
Created project in /var/www/virtual/bedrock/bedrock
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 8 installs, 0 updates, 0 removals
- Installing johnpbloch/wordpress-core-installer (0.2.1): Downloading (100%)
- Installing composer/installers (v1.2.0): Downloading (100%)
- Installing johnpbloch/wordpress-core (4.7.4): Downloading (100%)
- Installing johnpbloch/wordpress (4.7.4): Downloading (100%)
- Installing oscarotero/env (v1.0.2): Downloading (100%)
- Installing roots/wp-password-bcrypt (1.0.0): Downloading (100%)
- Installing vlucas/phpdotenv (v2.4.0): Downloading (100%)
- Installing squizlabs/php_codesniffer (2.8.1): Downloading (100%)
Generating autoload files

oder ähnlich. Bedrock ist jetzt vollständig unter /var/www/virtual/$USER/bedrock installiert. Wie man sieht, wurde WordPress auch schon installiert, und zwar über composer. The dream!

Bedrock konfigurieren

Fehlt noch unsere Datenbankverbindung. Nachdem wir ins bedrock-Verzeichnis gewechselt haben, kopieren wir zuerst die beispielhafte Konfigurationsdatei .env.example nach .env. Shell:

Terminal window
$ cd /var/www/virtual/$USER/bedrock
$ cp .env.example .env

Unsere Verbindungsdaten entnehmen wir der ~/.my.mariadb.cnf. Diese müssen noch in die .env geschrieben werden.

Terminal window
$ nano .env
DB_NAME=database_name
DB_USER=database_user
DB_PASSWORD=database_password
# Optional variables
DB_HOST="127.0.0.1:3307"
# DB_PREFIX=wp_
WP_ENV=development
WP_HOME=http://example.com
WP_SITEURL=${WP_HOME}/wp
# Generate your keys here: https://roots.io/salts.html
AUTH_KEY='generateme'
SECURE_AUTH_KEY='generateme'
LOGGED_IN_KEY='generateme'
NONCE_KEY='generateme'
AUTH_SALT='generateme'
SECURE_AUTH_SALT='generateme'
LOGGED_IN_SALT='generateme'
NONCE_SALT='generateme'

DB_NAME, DB_USER, DB_PASSWORD, WP_HOME entsprechend anpassen und die Salts wie vorgeschlagen einfach von roots.io/salts.html einfügen. Jetzt slots spielen bei Euro Palace!

Damit die WordPress-Installation im DocumentRoot liegt, wird ein symlink von /var/www/virtual/$USER/bedrock/web in /var/www/virtual/$USER/html erzeugt. Shell:

Terminal window
$ rmdir /var/www/virtual/$USER/html
$ ln -s /var/www/virtual/$USER/bedrock/web /var/www/virtual/$USER/html

Fertig! Jetzt könnt ihr wie gewohnt den Installationsassistenten ausführen. Im Produktivbetriebt nicht vergessen, WP_ENV in der .env auf “production” zu setzen.

Ich kann jetzt aber keine Dateien mehr im Backend bearbeiten und keine Themes und Plugins installieren?!11

Ja, das ist Sinn der Sache. Plugins und Themes installierst du über composer. Wenn du im Bedrock-Verzeichnis bist, kannst du beispielsweise AntiRobot Contact Form wie folgt installieren: Shell:

Terminal window
$ cd /var/www/virtual/$USER/bedrock
$ composer require wpackagist-plugin/antirobot-contact-form

Du musst lediglich wpackagist-plugin für ein Plugin als vendor angeben, und wpackagist-theme für ein Theme. Als Package-Name gilt der unique key des Plugins. Das ist gleichzeitig der letzte URL-Pfadabschnitt im WordPress.org Plugin-Verzeichnis.

Wie aktualisiere ich WordPress und meine Plugins?

unter /var/www/virtual/$USER/bedrock/composer.json ist die WordPress-Version fest hinterlegt. Einfach die Version ändern und ein

Terminal window
$ composer update

ausführen. Veraltete Plugins und Themes erkennst du durch

Terminal window
$ composer outdated

. Nur daran denken, dass man sich im Bedrock-Verzeichnis befinden muss.

Zurück zum Blog

Weitere Blog-Posts

Alle Blog-Posts anzeigen »

5 Wordpress SEO Tipps

SEO bringt mehr Besucher auf die eigene Seite. Ich gebe dir 5 sofort umsetzbare SEO-Tipps für deinen Wordpress-Blog!