Web Console

Web-based shell in your browser

About

Web Console is a web-based application that allows to execute shell commands on a server directly from a browser (web-based shell).

The application is very light, does not require any database and can be installed and configured in about 3 minutes. Installation process is really simple:

  • Download latest version of the Web Console.
  • Unpack archive and open file webconsole.php in your favorite text editor.
  • At the beginning of the file enter your $USER and $PASSWORD credentials, edit any other settings that you like (see description in the comments).
  • Upload changed webconsole.php file to the web server and open it in the browser.

Clean interface

Web Console has an easy to use and clean interface. It looks and feels like a real shell terminal.

Secure

You can configure HTTPS (SSL) on your web server and all Web Console traffic will be protected. Also, Web Console has a mark to search engines that will disallow the Web Console page from indexing.

Simple installation

Installation and configuration process is really simple. Web Console does not require any database and can be installed and configured in about 3 minutes. Application can be easily installed on a shared web hosting.

Open-source

Web Console is open-source application and can be customized by anyone. Checkout Web Console repository at GitHub.

Author

Web Console has been developed by Nickolay Kovalev. Also, third-party components are used in the Web Console, for more information see Web Console repository at GitHub.

Frequently Asked Questions

When I pass command to Web Console, under which user account it is executed on the web server?
By default Web Console is running under the web server user account (or for some web server configurations it is a specified user, who run scripts). All commands, which you pass to Web Console, executed using that user account. For example, execute id command in the Web Console and you will see current user account information. For example:
user@skynet /tmp$ id
uid=33(www) gid=33(www) groups=33(www)
How to run command with sudo (as root) using Web Console?
To run commands using sudo you need to configure /etc/sudoers file. You can read more information about it in sudo offical manual page. For example, execute id command in the Web Console and you will see user account under which Web Console is running:
user@skynet /tmp$ id
uid=33(www) gid=33(www) groups=33(www)
Now you need allow that user to use sudo. For example, we will allow that user to run any commands as root using sudo without password (but, we are highly recommend run Web Console with minimal permissions, depends on your Web Console usage requirements). To do that, add following line to the /etc/sudoers file:
www ALL=(ALL) NOPASSWD: ALL
Here www is a user account under which Web Console is running (see above). Now you can execute commands with sudo, for example:
user@skynet /tmp$ sudo id
uid=0(root) gid=0(root) groups=0(root)
How to run vi / vim or ping — commands that waiting for some input or executes something infinitely using Web Console?
When Web Console executes command on the web server side, it is waiting for command result (output) and sends that result back to you. So, if your command is waiting for some input (like vi / vim) or executes something infinitely (like ping) you can't directly send input (or CTRL-C) to that kind of commands using Web Console. As alternative, you can use sed text editor (see sed website) or tools like Expect that will pass required input to that kind of commands.
How to run command on remote (another) server using Web Console?
Just write script that will run passed command on the required remote server and simply call this script with Web Console and pass command to it. Also, you can use some tools like Expect. You can easily customize Web Console source code to run this script automatically for all passed commands or to wrap all passed commands with another commands that will call it on another server (see Web Console repository at GitHub).