#!/bin/bash # # Provisioner # # Parameters DIRNAME="`dirname $0`" # Basic dependencies DEPENDENCIES="mkdocs apache2 python3-pip pandoc pandoc-citeproc" # Dependenicies for genesis-get DEPENDENCIES="$DEPENDENCIES tor python3-requests python3-bs4 python3-socks python3-pybtex python3-tqdm" # PyPI dependencies DEPENDENCIES_PIP="mkdocs-bibtex mkdocs-material mkdocs-awesome-pages-plugin mkdocs-static-i18n" # Ensure an up-to-date system sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get autoremove -y && sudo apt-get clean # Install dependencies sudo apt install -y $DEPENDENCIES # Install python dependencies pip3 install --break-system-packages $DEPENDENCIES_PIP # Configure an onion service trashman install tor-onion-service # Configure virtual host for the Onion Service cat <<-EOF | sudo tee /etc/apache2/sites-available/onion.conf > /dev/null ServerName localhost ServerAlias *.onion DocumentRoot "/srv/shared/site" AuthType Basic AuthName "Protected" AuthUserFile /srv/shared/.htpasswd Require valid-user EOF # Configure virtual host for the local service cat <<-EOF | sudo tee /etc/apache2/sites-available/local.conf > /dev/null ServerName protocolos.local DocumentRoot "/srv/shared/site" Options Indexes FollowSymLinks AllowOverride All Require all granted EOF # Enable virtual host sudo a2ensite onion local sudo systemctl reload apache2 # Configure PATH mkdir -p ~/.custom echo 'export PATH=$PATH:/srv/shared/scripts' > ~/.custom/profile