:~
kennis :: tips

Tips & tricks. Kort en getest.

Trucs die we zelf dagelijks gebruiken op onze servers. Elke tip met het commando erbij, en een link naar de uitleg als je meer wilt weten.

#claude

Kopieer de Claude-code met Ctrl+A, niet met dubbelklikken

De code bij het koppelen van Claude bestaat uit twee delen met een # ertussen. Dubbelklikken selecteert alleen het eerste deel, en dan krijg je "Invalid code".

Claude koppelen →

claude: command not found? Kijk waar de binary staat

DirectAdmins jailshell toont alleen /usr en je home-map. Een installatie in /opt is voor gebruikers onzichtbaar. Zet de binary onder /usr/local/lib.

su - gebruiker -c 'which claude'
Uitleg →

Zeg "maak eerst een backup" bij grote klussen

Claude maakt uit zichzelf een backup voor WordPress-updates en databasewerk. Voor andere grote klussen helpt het om het er even bij te zeggen.

Maak eerst een backup en update daarna alle plugins
#wordpress

Draai WP-CLI op dezelfde PHP-versie als je site

wp gebruikt de standaard-PHP van de server. Draait je site op een andere versie, roep WP-CLI dan aan via die PHP.

/usr/local/php84/bin/php /usr/local/bin/wp plugin list
WordPress veilig updaten →

Rare uitvoer van wp? Sla de plugins over

Sommige plugins printen meldingen of voeren acties uit bij elke WP-CLI-aanroep. Met --skip-plugins --skip-themes krijg je schone uitvoer, en het werkt ook op een kapotte site.

wp --skip-plugins --skip-themes plugin list --update=available

Altijd eerst --dry-run bij search-replace

Een domein of URL vervangen in de database raakt honderden rijen. Bekijk eerst hoeveel, maak een backup, en draai het dan pas echt.

wp search-replace 'https://oud.nl' 'https://nieuw.nl' --dry-run

Eén plugin terugzetten na een mislukte update

Je hoeft niet meteen een hele backup terug te zetten. Zet alleen de plugin terug naar de vorige versie.

wp plugin update naam-van-plugin --version=1.2.3 --force
#php

PHP-instellingen per site met .user.ini

Meer geheugen of grotere uploads nodig? Zet een .user.ini in de webroot. Het kan een paar minuten duren voordat het actief is.

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
#beveiliging

PHP-bestanden in wp-content/uploads? Alarm

In de uploads-map horen afbeeldingen en documenten, geen PHP. Een .php-bestand daar is een bekend teken van een hack.

find wp-content/uploads -name '*.php' ! -name index.php
#git

Deploy key: laat "Allow write access" uit

Om je website te laten deployen hoeft de server alleen te lezen. Een sleutel met schrijfrechten kan ook naar je repository pushen.

Repository koppelen →

Verwijderd uit je repository is niet verwijderd van je site

Een deploy zet neer wat in de repository staat, maar verwijdert niets. Haal oude bestanden ook zelf van de website.

Automatisch deployen →

DirectAdmin Git op een subdomein? Gebruik het hoofddomein

De Git-API van DirectAdmin werkt alleen op hoofddomeinen. Maak de repository aan onder het hoofddomein en zet de deploy-map op de map van het subdomein.

DirectAdmin Git-API →
#hosting

Commando eindigt met "Killed"? Dan raakte je een limiet

Exitcode 137 betekent dat een proces is gestopt omdat je account zijn geheugenlimiet bereikte. Doe zware taken één voor één, of bouw elders.

Limieten →

Wijziging niet te zien? Leeg de LiteSpeed-cache

LiteSpeed Cache kan nog een oude versie van een pagina serveren. Leeg de cache na een aanpassing.

wp litespeed-purge all