Cockpit is an easy to use server administrator for Linux based systems. It is a free software which is released under LGPL v2.1. Its purpose is to be able to manage multiple servers in a user-friendly manner. Unlike other tools, it does not go deep into server configuration but tries to simplify the server administration especially for beginners. Cockpit is useful in performing simple tasks like starting and stopping of different services, administering storage, journal inspection etc. It makes use of systemd underneath.
I have used a CentOS 7 system in this article and as Cockpit is not available in the CentOS repository, it needs to be cloned from the sig-atomic-buildscripts repository.
[[email protected] ~]# git clone https://github.com/baude/sig-atomic-buildscripts
Cloning into 'sig-atomic-buildscripts'...
remote: Counting objects: 95, done.
remote: Total 95 (delta 0), reused 0 (delta 0), pack-reused 95
Unpacking objects: 100% (95/95), done.
Now you can install it using yum:
yum install cockpit
If you are using Ubuntu, execute the following commands:
sudo add-apt-repository ppa:jpsutton/cockpit
sudo apt-get update
sudo apt-get install cockpit
Enable cockpit service
[[email protected] ~]# systemctl enable cockpit.socket
ln -s '/usr/lib/systemd/system/cockpit.socket' '/etc/systemd/system/sockets.target.wants/cockpit.socket'
If firewall is enabled in your system, you need to add Cockpit to the list of trusted services and restart firewall.
[[email protected] ~]# firewall-cmd --peranent --zone=public --add-service=cockpit [[email protected] ~]#firewall-cmd --reload
Start the service
[[email protected] ~]# systemctl start cockpit.socket
If you are on CentOS, you will need another step before you start using Cockpit. We need to modify the cockpit service file to disable SSL as there seems to be some issue with this. For this, edit the file /usr/lib/systemd/system/cockpit.service and change the line starting with ExecStart to the following:
Please note that this work around may not be recommended on a production environment. After this, reload systemd and restart cockpit.
[[email protected] ~]# systemctl daemon-reload [[email protected] ~]# systemctl restart cockpit
Now you are ready to use the Cockpit GUI.
The Cockpit web interface can be accessed by using the server's ip address with port 9090
You can login as root and start administering the servers. Once logged in, you will notice the below screen which displays an overview of CPU, Memory, Network Traffic and Disk I/O usage.
Moving to the Services section, you have different tabs here namely Targets, System Services, Sockets, Timers and Paths. They show the different system services, whether they are enabled, disabled, active, inactive etc.
Containers part shows if Docker is installed / activated or not. If not, you can install / activate it from here.
The journaling, networking and storage display the different logs, network and storage usage details respectively.
Under the Tools section, we have Administrator Accounts using which we can either create new accounts or switch between different accounts.
Tools also provides a working console for the administrators.
Cockpit provides a pretty neat and simple user interface for new admins to manage Linux servers. But remember that it is accessible only via the web. You can visit its official page for more details. As this is relatively new, it might take some time before it gets wide-spread support.