CoreCP

The web terminal

A terminal in your browser: the same shell you would get over SSH, without installing an SSH client or carrying a key. Useful from a borrowed laptop, and the quickest route to wp-cli, mysqldump, or simply having a look at what is in a log f

Written for: Customer, Reseller, Administrator

A terminal in your browser: the same shell you would get over SSH, without installing an SSH client or carrying a key. Useful from a borrowed laptop, and the quickest route to wp-cli, mysqldump, or simply having a look at what is in a log file.

Screenshot — Panel → HostingAccounts → your account → Files, FTP and backups → button Terminal. Screenshots are captured with openwolf designqc into .wolf/designqc-captures/.

There are two terminals

What it isFor whom
Account terminalthe same shell this account would get over SSH: as the account itself, inside its own environment and the same limitsthe account's owner, and administrators
Server terminala root shell on the server itself, not caged and not boundedonly administrators with that server in their scope

This page is mostly about the first. The second is under Fleet → a server → Terminal, and it is deliberately scarce: everything you do there touches everybody on that machine.

Opening it

Click Terminal. The connection comes up and you see your prompt. You are in your account's home.

What to know before you start:

  • If SSH is off for your account, you get no shell here either. The web terminal is not a back door around that choice; it uses the same access setting. See Files, FTP and SSH.
  • After half an hour without input the session is closed. A forgotten tab is not an open door.
  • Opening and closing are in the audit log, with who did it and when.
  • Close the tab and whatever is running stops. For something that outlasts your attention, see Long-running work below.

What you can do with it

Everything your account itself may do. In practice:

# where am I, and what is here?
pwd
ls -la domains/

# follow a log file as it fills up
tail -f logs/yoursite.com.error.log

# search your code
grep -rn "wp-config" domains/yoursite.com/public_html --include=*.php | head

# disk usage: where is it going?
du -sh domains/* | sort -h
df -h .

# export or restore a database
mysqldump --single-transaction web1_shop | gzip > ~/shop.sql.gz
zcat ~/shop.sql.gz | mysql web1_shop

WordPress has its own tool, wp-cli, and that is where this is most powerful:

cd domains/yoursite.com/public_html

wp core version
wp plugin list
wp plugin update --all
wp search-replace 'http://yoursite.com' 'https://yoursite.com' --dry-run
wp user list
wp cache flush
Always run wp search-replace with --dry-run first. Without that flag it changes your whole database in one go, and there is no undo — only a backup.

What you cannot do with it

  • No sudo, no root. You are your own account and nothing more. That is exactly what protects your neighbours on the same server, and you.
  • No looking outside your own environment. /etc, other accounts' files and the server's configuration are not there, or not readable.
  • No installing packages with apt. What you need in a language with a package manager of its own (npm, pip, composer) you install in your own directory.
  • No starting or stopping services. systemctl is not yours.
  • No opening ports. The firewall is the server's business.

If you run into one of these, the answer is nearly always: ask your hosting provider, or it belongs in the panel rather than in a shell.

Long-running work

Anything that takes more than a couple of minutes should be detached from your session. Otherwise it stops when your tab closes or your wifi hiccups:

# keeps running if the connection drops
nohup wp plugin update --all > ~/update.log 2>&1 &
tail -f ~/update.log

If screen or tmux is available, they are more comfortable:

tmux new -s work        # start
# ctrl-b d              → detach, the session keeps running
tmux attach -t work     # rejoin later

Keys that help

ctrl-cstop what is running
ctrl-dclose the session (or exit)
ctrl-rsearch your earlier commands
ctrl-lclear the screen
tabcomplete a name
/ walk through your history

On a phone a terminal is cramped but usable: turn the device sideways, and use tab instead of typing long paths.

When something is not right

What you seeWhat it usually is
"The terminal session could not be opened"SSH is off for this account, or the server was briefly unreachable.
You type and nothing happensThe connection dropped. Click Reconnect.
"Permission denied" on a file of your ownPermissions. See chmod in Files, FTP and SSH.
"command not found" for wpYou are not in a WordPress directory, or wp-cli is not on this server.
The session keeps droppingHalf an hour without input closes it. Detach long work with nohup.
"shell is not available" on a server terminalYou do not have that server in your scope. That is on purpose.

See also

  • Files, FTP and SSH — the same shell, from your own computer.
  • Databases and phpMyAdminmysql and mysqldump in context.
  • Your WordPress sites — what the panel already does for you, without a terminal.