aboutsummaryrefslogtreecommitdiff
path: root/scripts/provision-host
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/provision-host')
-rwxr-xr-xscripts/provision-host62
1 files changed, 62 insertions, 0 deletions
diff --git a/scripts/provision-host b/scripts/provision-host
new file mode 100755
index 0000000..12cbe52
--- /dev/null
+++ b/scripts/provision-host
@@ -0,0 +1,62 @@
+#!/bin/bash
+#
+# Provisioner for the hosting environment
+#
+
+# Parameters
+DIRNAME="`dirname $0`"
+
+# Check for sudo
+if [ "`whoami`" != "root" ]; then
+ SUDO="sudo"
+fi
+
+# Install Apache
+$SUDO apt install -y apache2
+
+# Tor
+trashman install tor
+
+# Configure an onion service
+trashman install tor-onion-service
+
+# Install python dependencies
+#pip3 install $DEPENDENCIES_PIP
+
+# Configure virtual host for the Onion Service
+cat <<-EOF | $SUDO tee /etc/apache2/sites-available/onion.conf > /dev/null
+<VirtualHost *:80>
+ ServerName slides.onion
+ ServerAlias slides.*.onion
+ DocumentRoot "/srv/shared/"
+
+ <Directory /srv/shared/>
+ AuthType Basic
+ AuthName "Protected"
+ AuthUserFile /srv/shared/.htpasswd
+ Require valid-user
+ </Directory>
+</VirtualHost>
+EOF
+
+# Configure virtual host for the local service
+cat <<-EOF | $SUDO tee /etc/apache2/sites-available/local.conf > /dev/null
+<VirtualHost *:80>
+ ServerName slides.local
+ DocumentRoot "/srv/shared/"
+
+ <Directory /srv/shared/>
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+ </Directory>
+</VirtualHost>
+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