Cockpit – Administer your server via a web browser

cockpit logoYou thought I will never write again!! WRRRONNG! (…Well that was close!)

Long story short, I’ve changed country, job and got a baby to take care of.

But here I am with Cockpit, an open source web administration tool to monitor and manage your GNU/Linux server.

Easy to use and light, Cockpit (hosted on github) will greatly help new (or lazy like me) sysadmins, to perfom simple administration tasks such as monitoring the health of your server (Storage, running services) but also to inspect log and even to start/stop services directly.

cockpit main

Cockpit is also multi servers. Simply add additional servers with a single click and your machine will look after others machines.

What I like about Cockpit is their interactive and lightweight interface. (With a modern design too). It also includes a web SSH command line interface!

cockpit embedded SSH

No more talking, let’s see how to install it!


It’s actually not that easy for Debian/Ubuntu system, as this project has been made for Fedora and RedHat and some features won’t work with Debian/Ubuntu….

You will need many dependencies if you build it from git directly (There are some tarball out there that will greatly reduce the number of dependencies to install, but I did not find a up to date tarball so far…so well, we will do the hard way!)

It tooks me quite sometime to go over each dependencies….but finally succeed it. Here is the result!


You will first need to clone their git repository and install few dependencies.


1) Install git and clone their repository
  • If you don’t have git installed already (You must be a new comer here! \o/ ), simply run in root (or with sudo)

    apt-get install git-core

(git-core is lighter than git, perfect if you just need to clone rep)

  • Then clone their git repository inside your /var/www

    cd /var/www git clone cd cockpit


2) Install NodeJS and NPM

It will be useful to easily handle most of the dependencies.

– If you use Ubuntu or Debian 8 (Jessie), simple run (as root)

apt-get install nodejs npm nodejs-legacy

– For Debian Wheezy (Time to upgrade!), you can install nodejs from wheezy-backports. If you don’t have them in your source.list, you will need to add the line

deb wheezy-backports main

to your /etc/apt/source.list file, then run

apt-get update

to update the packages list and then install nodejs with the following command:

apt-get install nodejs nodejs-legacy curl

and for npm, you can use the installer (still in root)

curl | sh
3) Install additional dependencies

You will also need to following dependencies

This is where you will have to wait quite some time (Thank you XMLTO principally…)

apt-get install dh-autoreconf libgtk2.0-dev intltool libjson-glib-dev libpolkit-agent-1-dev libkrb5-dev libssh-dev libdbus-1-dev libpam0g-dev libkeyutils-dev pcp libpcp3-dev xsltproc xmlto libsystemd-journal-dev libpcp-import1-dev node-requirejs mock libpcp-pmda3-dev glib-networking realmd
npm install -g phantomjs

Otherwise you are very likely to get the following many error messages regarding modules not found or simply:

Warning: macro ‘AM_GLIB_GNU_GETTEXT’ not found in library

For libgtk2.0-dev

or many features not working.


4) Build and install Cockpit
  • Still in root, run:

    mkdir build cd build ../ --prefix=/usr --enable-maintainer-mode --enable-debug

The last one might takes some time. If any error happen, you are good to go to the next step. If not, you need to install the missing package(s).

  • Next steps:

    make make install cp ../src/bridge/cockpit.pam.insecure /etc/pam.d/cockpit sh -c "cat ../src/bridge/sshd-reauthorize.pam >> /etc/pam.d/sshd"


5) Run Cockpit

Simply run:

systemctl start cockpit.socket

And should you be able to access to the web interface of Cockpit through http://YourIP:9090

It will redirect you to HTTPS with its self signed certificate (So make sure to have enabled SSL)

cockpit login

You can log in using your regular Linux user.


Obviously, if you have questions, feel free to ask here, or the best, directly on their github project.

But as I might have some glitches, please let me know if something doesn’t work (Or if you have found the solution!)


Loves to discover web-based apps to install on his own server@home and write articles about it


Add a comment