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
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.
../autogen.sh --disable-pcp --disable-doc
And once this step is done, we compile it, install it and copy
some authorization files.
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.