Cockpit is a very nice web-based management interface for linux servers. It has a very sleek looking interface, and allows you to review and administer servers. One great benefit of it is that it can be used to discover and administer other remote servers which are also running Cockpit, meaning you can control all of them by logging into your single central administration server. This is especially useful when you have multiple VMs running.
Cockpit is not included in the main Ubuntu software repositories, so to install it you must add the Cockpit repository.
sudo add-apt-repository ppa:cockpit-project/cockpit
Then update your servers list of repositories, install it and start the service running
sudo apt-get update
sudo apt-get install cockpit
sudo systemctl enable –now cockpit.socket
To log in, go to port 9090 of your servers IP address, https://<IP_Address>:9090. Cockpit runs over a secure website, so when you go to log in you will be met with a browser warning about the security certificate. Click through this and log in using your server username and password. Be sure to tick the box for ‘Reuse my password for privileged tasks’, or else you will be limited as to what you can do when logged in.
When you log in, the home screen has a very nice, simplistic, layout, showing some server information and some real-time graphs of critical server performance: CPU, Memory, Disk I/O and Network Traffic. There are menu options along the left hand side for various aspects of your server, the most interesting of which are the Logs, Services and Terminal.
The Logs option allows you to review the logs being collected by the server. These include a variety of system and networking logs. You can filter the logs based on their Severity (Problems, Errors, Warnings and Notices) and on when they occurred. There are no options to search or sort the logs to any great extent, which would be useful in reviewing them for useful data.
The Services option allows you to review the services which are running on your machine. This is a very nice and user friendly way to review these, and separated into various categories. Clicking onto any of these allows you to Start, Stop or Reload the service.
The Terminal option presents a very useful terminal in your web interface for doing any more administration work on your server. For any additional work you need to do on the server, this is a very useful way to complete this without having to leave your web browser.
Remote Server Administration
One of the most useful uses for Cockpit is in administering other servers remotely. By clicking into the Dashboard tab, at the top of the screen, you can add other servers which are also running Cockpit. Their CPU, Memory, Network and Disk I/O stats are overlaid with your main server on this screen, and to do work directly on the remote server, you select it from the Machines tab at the top left.
While not having as strong a set of features as Webmin, the look and feel of this control panel and its ease of use make it a worthwhile installation. The features it does have are professional, well finished, and very nice to work with. The Terminal in particular, is on par to a PuTTY terminal, and definitely superior to Webmins in-browser terminal. Its strengths really come to the fore though when you add additional remote servers, as administering them is superbly easy.
A very nicely finished control panel, I would definitely recommend installing it to give it a try.