CoreCP

De webterminal

Een terminal in je browser: dezelfde shell die je over SSH zou krijgen, zonder dat je een SSH-client hoeft te installeren of een sleutel bij je hoeft te hebben. Handig vanaf een geleende laptop, en de snelste weg naar wp-cli,

Geschreven voor: Klant, Reseller, Beheerder

Een terminal in je browser: dezelfde shell die je over SSH zou krijgen, zonder dat je een SSH-client hoeft te installeren of een sleutel bij je hoeft te hebben. Handig vanaf een geleende laptop, en de snelste weg naar wp-cli, mysqldump of gewoon even kijken wat er in een logbestand staat.

Beeld — Paneel → HostingAccounts → jouw account → Bestanden, FTP en backups → knop Terminal. Schermafdrukken worden gemaakt met openwolf designqc en staan in .wolf/designqc-captures/.

Er zijn twee terminals

Wat het isVoor wie
Accountterminaldezelfde shell die dit account over SSH zou krijgen: als het account zelf, binnen zijn eigen omgeving en dezelfde limietende eigenaar van het account, en beheerders
Serverterminaleen root-shell op de server zelf, niet ingeperkt en niet begrensdalleen beheerders met die server in hun bereik

Deze pagina gaat vooral over de eerste. De tweede vind je onder Vloot → een server → Terminal, en die is bewust schaars: alles wat je daar doet raakt iedereen op die machine.

Openen

Klik op Terminal. De verbinding komt tot stand en je ziet je prompt. Je staat in de home van je account.

Wat je moet weten voordat je begint:

  • Staat SSH uit voor je account, dan krijg je hier ook geen shell. De webterminal is geen achterdeur om die keuze heen; hij gebruikt dezelfde toegangsinstelling. Zie Bestanden, FTP en SSH.
  • Na een half uur zonder invoer wordt de sessie gesloten. Een vergeten tabblad is geen open deur.
  • Openen en sluiten staan in de auditlog, met wie het deed en wanneer.
  • Sluit je het tabblad, dan stopt wat er draait. Voor iets dat langer duurt dan je aandacht, zie Lang werk hieronder.

Wat je er wél mee kunt

Alles wat je account zelf mag. In de praktijk:

# waar sta ik, en wat is er?
pwd
ls -la domains/

# een logbestand meelezen terwijl het volloopt
tail -f logs/jouwsite.nl.error.log

# zoeken in je code
grep -rn "wp-config" domains/jouwsite.nl/public_html --include=*.php | head

# schijfgebruik: waar zit het in?
du -sh domains/* | sort -h
df -h .

# een database exporteren of terugzetten
mysqldump --single-transaction web1_shop | gzip > ~/shop.sql.gz
zcat ~/shop.sql.gz | mysql web1_shop

WordPress heeft zijn eigen gereedschap, wp-cli, en dat is hier het krachtigst:

cd domains/jouwsite.nl/public_html

wp core version
wp plugin list
wp plugin update --all
wp search-replace 'http://jouwsite.nl' 'https://jouwsite.nl' --dry-run
wp user list
wp cache flush
Draai wp search-replace altijd eerst met --dry-run. Zonder die vlag verandert hij je hele database in één keer, en er is geen ongedaan-maken — alleen een backup.

Wat je er niet mee kunt

  • Geen sudo, geen root. Je bent je eigen account en niets meer. Dat is precies wat je buren op dezelfde server beschermt, en jou.
  • Niet buiten je eigen omgeving kijken. /etc, de bestanden van andere accounts en de configuratie van de server zijn er niet, of niet leesbaar.
  • Geen pakketten installeren met apt. Wat je nodig hebt in een taal met een eigen pakketbeheerder (npm, pip, composer) installeer je in je eigen map.
  • Geen diensten starten of stoppen. systemctl is niet van jou.
  • Geen poorten openzetten. De firewall is een zaak van de server.

Loop je hier tegenaan, dan is het antwoord bijna altijd: vraag het je hostingpartij, of het hoort in het paneel thuis in plaats van in een shell.

Lang werk

Alles wat langer duurt dan een paar minuten, laat je losstaan van je sessie. Anders stopt het als je tabblad dichtvalt of je wifi hapert:

# blijft draaien als de verbinding wegvalt
nohup wp plugin update --all > ~/update.log 2>&1 &
tail -f ~/update.log

Is screen of tmux beschikbaar, dan zijn die comfortabeler:

tmux new -s werk        # start
# ctrl-b d              → losmaken, sessie blijft draaien
tmux attach -t werk     # later weer erbij

Toetsen die helpen

ctrl-cstop wat er draait
ctrl-dsessie sluiten (of exit)
ctrl-rzoeken in je eerdere commando's
ctrl-lscherm leegmaken
tabnaam aanvullen
/ door je geschiedenis bladeren

Op een telefoon is een terminal krap maar bruikbaar: draai je toestel dwars, en gebruik tab in plaats van lange paden te typen.

Als er iets niet klopt

Wat je zietWat het meestal is
"De terminalsessie kon niet worden geopend"SSH staat uit voor dit account, of de server was even niet bereikbaar.
Je typt, maar er gebeurt nietsDe verbinding is verbroken. Klik Opnieuw verbinden.
"Permission denied" op een eigen bestandRechten. Zie chmod in Bestanden, FTP en SSH.
"command not found" voor wpJe staat niet in een WordPress-map, of wp-cli staat op deze server niet.
De sessie valt telkens wegEen half uur zonder invoer sluit hem. Zet lang werk met nohup los.
"shell is not available" op een serverterminalJe hebt die server niet in je bereik. Dat is met opzet.

Zie ook

  • Bestanden, FTP en SSH — dezelfde shell, dan vanaf je eigen computer.
  • Databases en phpMyAdminmysql en mysqldump in context.
  • Je WordPress-sites — wat het paneel al voor je doet, zonder terminal.