vpnmanager/setup.sh

36 lines
1.5 KiB
Bash

#!/bin/bash
sudo apt update
sudo apt install -y python3-pip npm openvpn easy-rsa postfix rabbitmq-server bridge-utils
sudo pip3 install -U django django-password-reset django-cron uwsgi celery django-celery-results django-two-factor-auth django-bootstrap-form twilio argon2_cffi GitPython
sudo useradd vpn
git submodule init
git submodule update
cd lib/jq/
npm run build
cd ../..
chmod +x manage.py
sudo make-cadir /etc/openvpn/ca
chmod +x misc/generate-key
sudo cp misc/generate-key /etc/openvpn/ca
mkdir images
./manage.py collectstatic
./manage.py migrate
sudo chown vpn.vpn . /etc/openvpn/ca -R
sudo cp misc/vpnmanager.service misc/celery.service /etc/systemd/system/
chmod +x misc/cron
sudo cp misc/cron /etc/cron.d/vpnmanager
sudo mkdir -p /etc/openvpn/client-configs/files
chmod +x misc/make_config
sudo cp misc/make_config misc/base.conf /etc/openvpn/client-configs
openvpn --genkey --secret /etc/openvpn/ca/keys/ta.key
sudo chown vpn.vpn /etc/openvpn/client-configs -R
sudo mkdir /etc/openvpn/ccd
cp manager/hostname.dist.py manager/hostname.py
sudo chown vpn.vpn . -R
sudo systemctl daemon-reload
sudo systemctl enable vpnmanager
sudo systemctl start vpnmanager
sudo systemctl enable celery
sudo systemctl start celery
echo "This should be working so far. Now point your webserver to uwsgi.sock using its WSGI options. Be sure to include the static files at static/static_root/ and don't forget to set the hostname in manager/hostname.py and create necessary server certs and DH parameters"