Instructions for installation on Trisquel 10 -------------------------------------------- Let's start by installing a few needed tools/dependencies. Note that some commands, such as the 'apt install' invocations and 'adduser' need to be run as root, e.g. using 'sudo'. apt install git wget bzip2 curl The latest version of Planet Venus (as of now) only supports Python 2, but the package and several of its dependencies were removed between the Buster and Bullseye releases of Debian, and thus are not available in Trisquel 10 anymore. We need to manually download these from the Debian archive and check their sha256sums: wget https://ftp.debian.org/debian/pool/main/p/planet-venus/planet-venus_0~git9de2109-4.2_all.deb wget https://ftp.debian.org/debian/pool/main/p/python-django/python-django_1.11.29-1~deb10u1_all.deb wget https://ftp.debian.org/debian/pool/main/p/python-django/python-django-common_1.11.29-1~deb10u1_all.deb wget https://ftp.debian.org/debian/pool/main/f/feedparser/python-feedparser_5.2.1-1_all.deb wget https://ftp.debian.org/debian/pool/main/p/portalocker/python-portalocker_1.3.0-1_all.deb wget https://ftp.debian.org/debian/pool/main/u/utidylib/python-utidylib_0.5-2_all.deb sha256sum *.deb 118518429fa94d19fc61135629a27b9fddc6327473fc2f45859aeee055fea27d planet-venus_0~git9de2109-4.2_all.deb 45778d0a9f0b5ca3435dc941dcc18050199e7fa05d40397397b9feeb25fda584 python-django_1.11.29-1~deb10u1_all.deb 89b2371720b8032029d634838dda691d6292dfb157cb6ccf1d7ae5ab33d3172f python-django-common_1.11.29-1~deb10u1_all.deb f0fa9b0910b425e226a90c08319b3491bd03e8b364dca652efb56d2b7ece0ecb python-feedparser_5.2.1-1_all.deb a6fec8688b5f52e05ff93bfc04f281bfed4c5cbe329cf12c7d802337e6d607f7 python-portalocker_1.3.0-1_all.deb a43823b5867f13f3e0c678c14d22372a0eaf5307f398066975550b8dd732c36a python-utidylib_0.5-2_all.deb And then install the packages: apt install ./python-utidylib_0.5-2_all.deb apt install ./python-portalocker_1.3.0-1_all.deb apt install ./python-feedparser_5.2.1-1_all.deb apt install ./python-django-common_1.11.29-1~deb10u1_all.deb apt install ./python-django_1.11.29-1~deb10u1_all.deb apt install ./planet-venus_0~git9de2109-4.2_all.deb We now need to apply the two patches in the patches/ directory to /usr/lib/python2.7/dist-packages/planet/shell/dj.py: cd patches/ patch -Np1 < templatedoesnotexist.patch patch -Np1 < context.patch With the Planet Venus software and its dependencies installed and ready, we can move on to setting up the planet. Let's first create a non-privileged user 'venus' that we will use to run the planet software, and which will own all the planet files. adduser --system --group --gecos 'Planet Venus' venus We now need to run a series of commands as the 'venus' user, however this system user cannot be logged into; so to become the user and run commands as the user, we use 'sudo -u venus /bin/bash', followed by a 'cd' to switch to its home directory (which should be '/home/venus'): sudo -u venus /bin/bash cd git clone https://git.savannah.gnu.org/git/www/planet-config.git git clone https://git.savannah.gnu.org/git/www/planet-infra.git mkdir config/languages log cd infra/www ln -s ../../config/config ln -s ../../infra We are now done with the initial setup. To run the planet software to check if it runs successfully, we use: run-parts infra/cron Check the 'infra/www' afterwards and see if it looks good (that there is an 'index.html' file generated). If not, you can always consult the logs in the 'log' directory. When done, 'exit' the venus user. Remaining tasks include installing and configuring a web server (such as 'apache2' or 'nginx') to serve the planet, as well as adding a new cron task to run the command 'run-parts /home/venus/infra/cron >/dev/null' hourly. Note that even with seemingly correct directory and file permissions, apache2 might refuse to serve the planet from a '/home/*' path. One possible workaround would be to create a symlink somewhere outside /home and point apache2 there: cd /var/www ln -s /home/venus/infra/www planet.gnu.org