Table of Contents

Wordpress binnen Netboot

Dit beschrijft de basis installatie van Wordpress op onze netboot hosting omgeving. Een vereiste voor deze opzet is dat de webserver de juiste vhost configuratie heeft. Neem contact met on op om na te gaan of dit het geval is, of om dit in te laten stellen.

Inleiding

Vanwege de scheiding van code en data binnen ons platform zijn er wat aanpassingen nodig zodat we zonder problemen files kunnen uploaden in het CMS. Om themes, plugins en code updates door te voeren gebruiken we wp-cli. Dit kunnen we vanaf een uploadserver draaien, waarmee we wel schrijftoegang in de “pages” directory hebben.

Installatie

# vervang websites.domein.nl door de juiste naam
$site=website.domein.nl
mkdir /e/ap/$site/data/uploads
ln -sfn /e/ap/$site/data/uploads /e/ap/$site/pages/current/web/wp-content/uploads

WP-CLI

Het installeren en updaten van themes, plugins en de Wordpress core zal niet werken vanuit /wp-admin. Dit komt omdat de php code op een filesysteem ligt wat niet schrijfbaar is voor de (php)servers. Vanaf een upload server is deze wel schrijfbaar. Om binnen Wordpress updates en installaties te toen, kan er gebruik gemaakt worden van WP-CLI. Hiermee kunnen ook cronjobs ingesteld worden om updates geautomatiseerd door te voeren.

Voorbereidingen

Om wp-cli te kunnen gebruiken, zal dit gedownload moeten worden. Download de laatste installatie vanaf: http://wp-cli.org/#installing. Dit ziet er als volgt uit bijvoorbeeld:

ssh upload-sites.omroep.nl
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar


Als je eenmaal wordpress hebt geinstalleerd, voeg dan de volgende regels toe aan wp-config.php

/** File-permissions */
define( 'FS_CHMOD_DIR', ( 02775 & ~umask() ));
define( 'FS_CHMOD_FILE', ( 0664 & ~umask() ));

Commando's

Het uitvoeren van ./wp-cli.phar geeft een uitleg van de verschillende commando's weer.

Je kunt bijvoorbeeld core,plugin en theme updates doorvoeren met de volgende commando's:

./wp-cli.phar core update --path=/e/ap/website.domein.nl/pages/current/web
./wp-cli.phar plugin update --all --path=/e/ap/website.domein.nl/pages/current/web
./wp-cli.phar theme update --all --path=/e/ap/website.domein.nl/pages/current/web

Om een specifieke plugin te installeren en te activeren doe je:

./wp-cli.phar plugin install contact-form-7 --path=/e/ap/website.domein.nl/pages/current/web --activate

Cronjob

Om de updates te automatiseren, kan een cronjob ingesteld worden. Deze kan er bijvoorbeeld als volgt uit zien:

MAILTO="email@domein.nl"
PATH=/local/bin
 
# path naar de documentroot
ap=/e/ap/website.domein.nl/pages/current/web
 
# Elke dag om 7:15 updates uitvoeren van core,plugins en themes
7 15  * * *	~/wp-cli.phar core update --path=$ap --quiet && ~/wp-cli.phar plugin update --all --path=$ap --quiet && ~/wp-cli.phar theme update --all --path=$ap --quiet