Installing Cockpit on Raspbian
I was playing a bit with with a Raspberry Pi B and raspbian and I wanted to install Cockpit on my pi. Sadly, we can't use the provided debian repository since they do not provide packages for our Pi's processor architecture.
So we do it ourselves.
First thing, we need to install node. If you already have a current node installation, you don't need to do that.
Starting with node, we download the latest node source code and unpack it wget https://nodejs.org/dist/v5.9.1/node-v5.9.1.tar.gz && tar -xzf node-v5.9.1.tar.gz. We now can just cd in there (cd node-v5.9.1) and build and install it (./configure && make && sudo make install). This will take quite some time. This might even take a few hours. After the configure step, you can make > makelog & and then disown in order to leave that session alone and even close it. But don't forget to sudo make install once it's done.
Now on to building Cockpit itself.
First we need to install all the build dependencies:
sudo apt-get install autoconf intltool libglib2.0-dev libsystemd-journal-dev libjson-glib-dev libpolkit-agent-1-dev libkrb5-dev libssh-dev libpam-dev libkeyutils-dev glib-networking
After we've installed all the build dependencies, we can download the sources of the latest release from github. In my case, this was 0.99.
wget https://github.com/cockpit-project/cockpit/archive/0.99.zip && unzip 0.99.zip
After we cd-ed into the source directory, we can, more or less, follow the building instructions.
Create and switch to the build directory and run autogen.sh. I had to disable pcp because I wasn't able to find the header files in the raspbian repository. We also disable documentation creation.
mkdir build
cd build
../autogen.sh --disable-pcp --disable-doc
And once this step is done, we compile it, install it and copy some authorization files.
make
sudo make install
sudo cp ../src/bridge/cockpit.pam.insecure /etc/pam.d/cockpit
sudo sh -c "cat ../src/bridge/sshd-reauthorize.pam >> /etc/pam.d/sshd"
And we're basically done. Start cockpit with sudo systemctl start cockpit.socket and enable it to run on boot with sudo systemctl enable cockpit.socket.
You're now good to go to access cockpit on port 9090 or integrate it in your cockpit landscape.