· 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:
$ ls -ld /package/host/localhost/php-*[..]drwxr-xr-x. 9 packagesync packagesync 4096 Apr 6 2016 /package/host/localhost/php-7.0.5drwxr-xr-x. 9 packagesync packagesync 4096 May 4 2016 /package/host/localhost/php-7.0.6drwxr-xr-x. 9 packagesync packagesync 4096 Jun 23 2016 /package/host/localhost/php-7.0.8lrwxrwxrwx. 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:
$ echo PHPVERSION=7.1 > etc/phpversion$ killall php-cgi$ logout
Nach dem erneuten Login sehen wir auch selbst die neue Version: Shell:
$ php --versionPHP 7.1.0 (cli) (built: Dec 2 2016 13:41:28) ( NTS )Copyright (c) 1997-2016 The PHP GroupZend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologieswith 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:
$ 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 --versionComposer 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:
$ cd /var/www/virtual/$USER/$ composer create-project roots/bedrockInstalling roots/bedrock (1.7.7)- Installing roots/bedrock (1.7.7): Downloading (100%)Created project in /var/www/virtual/bedrock/bedrockLoading composer repositories with package informationInstalling dependencies (including require-dev) from lock filePackage 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:
$ 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.
$ nano .envDB_NAME=database_nameDB_USER=database_userDB_PASSWORD=database_password# Optional variablesDB_HOST="127.0.0.1:3307"# DB_PREFIX=wp_WP_ENV=developmentWP_HOME=http://example.comWP_SITEURL=${WP_HOME}/wp# Generate your keys here: https://roots.io/salts.htmlAUTH_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!
Symlink anlegen
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:
$ 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:
$ 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
$ composer update
ausführen. Veraltete Plugins und Themes erkennst du durch
$ composer outdated
. Nur daran denken, dass man sich im Bedrock-Verzeichnis befinden muss.