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
-
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
wordpressdirectory 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.phpniet 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
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