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 op met onze servicedesk om na te gaan of dit het geval is, of om dit in te laten stellen.

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.

  • Log in op de ssh shell server (upload-sites.omroep.nl of upload-testsites.omroep.nl)
  • Pak de wordpress tgz file uit in de pages directory. Verwijder eventueel de extra wordpress directory door de files direct in de documentroot te zetten.
  • Open nu je browser naar de url van de website. Voer de database en overige gegevens in.
  • Er zal een melding verschijnen dat wp-config.php niet weggeschreven kan worden. Kopieer de inhoud vanuit het browserscherm en maak dit file via ssh via de upload server aan.
  • Omdat data en code gescheiden zijn, dient er een symlink aangemaakt te worden voor de 'uploads'.
# 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

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
  • sterretje-cluster/appcluster-hosting_wordpress.txt
  • Last modified: 2019/04/26 10:34
  • (external edit)