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 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!
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 https://github.com/cockpit-project/cockpit 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 http://http.debian.net/debian wheezy-backports main
to your /etc/apt/source.list file, then run
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 https://www.npmjs.com/install.sh | 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
or many features not working.
4) Build and install Cockpit
Still in root, run:
mkdir build cd build ../autogen.sh --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).
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
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)
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!)