servers:nginx:gauth
This is an old revision of the document!
Table of Contents
https://github.com/gbraad/gauth
Information
Prerequisites
Download Source
sudo git clone -b 'master' 'https://github.com/gbraad/gauth.git' '/var/www/2fa' --depth 1 && sudo chown -R 'nginx':'nginx' '/var/www/2fa' && sync
nginx Configuration
Server Block
sudo -e '/etc/nginx/conf.d/2fa.conf' && sudo systemctl reload 'nginx'
server { listen '443' 'ssl' 'http2'; server_name 'test.realmofespionage.xyz'; root '/var/www/2fa'; index 'index.html'; include '/etc/nginx/default.d/restrictions.conf'; # access_log /var/log/nginx/2fa-access.log; # error_log /var/log/nginx/2fa-error.log; location / { allow 192.168.1.0/24; deny all; } }
Services
Updater
Service
sudo -e '/etc/systemd/system/2fa-up.service'
[Service] User=nginx Group=nginx Type=oneshot ExecStart='/usr/bin/git' -C '/var/www/2fa' pull origin 'master' ExecStartPost='/bin/sync'
Timer
sudo -e '/etc/systemd/system/2fa-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable '2fa-up.timer' --now && sudo systemctl start '2fa-up' && sudo systemctl status '2fa-up' -l
[Unit] Description=GAuth Git Updater After=network-online.target Wants=network-online.target [Timer] OnCalendar=*-*-* 01:00:00 Persistent=true [Install] WantedBy=timers.target
Backup
- This backs up an archive to the local disk and to a NAS
Service
mkdir -p ~/'backups' && sudo -e '/etc/systemd/system/2fa-fb.service' && sudo sed -i 's/CHANGEME/'$USER'/g' '/etc/systemd/system/2fa-fb.service'
[Service] Type=oneshot WorkingDirectory=/var/www/2fa ExecStart='/bin/bash' -c '"/bin/tar" -cvzf "/home/CHANGEME/backups/gauth-files-auto-"$$(date +%%Y-%%m-%%d)".tar.gz" "data/pages" "data/meta" "data/media" "data/media_meta" "data/attic" "data/media_attic" "conf"' ExecStartPost='/bin/sync'
Timer
sudo -e '/etc/systemd/system/wiki-fb.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'wiki-fb.timer' --now && sudo systemctl start 'wiki-fb' && sudo systemctl status 'wiki-fb' -l
[Unit] Description=DokuWiki Files Backup [Timer] OnCalendar=*-*-* 01:05:00 Persistent=true [Install] WantedBy=timers.target
Backup
- Create backup archive on server and transfer to client computer
Server
Archive Folders
cd '/var/www/wiki' && sudo tar -cvzf ~/'dokuwiki-files-manual-'$(date +%Y-%m-%d)'.tar.gz' 'data/pages' 'data/meta' 'data/media' 'data/media_meta' 'data/attic' 'data/media_attic' 'conf' && cd ~ && sync
Client
Transfer Archive to Client
scp espionage724@192.168.1.153:~/'dokuwiki-files-'*'.tar.gz' ~/'Downloads' && sync
Restore
Client
Transfer Archive to Server
scp ~/'Downloads/dokuwiki-files-'*'.tar.gz' espionage724@192.168.1.153:~
Remove Archive
rm ~/'Downloads/dokuwiki-files-'*'.tar.gz' && sync
Server
Stop nginx
sudo systemctl stop 'nginx'
Remove Previous Folders
sudo rm -Rf '/var/www/wiki/data/pages' '/var/www/wiki/data/meta' '/var/www/wiki/data/media' '/var/www/wiki/data/media_meta' '/var/www/wiki/data/attic' '/var/www/wiki/data/media_attic' '/var/www/wiki/conf'
Restore Folders
cd '/var/www/wiki' && sudo tar -xvzf ~/'gauth-files-'*'.tar.gz' 'data/pages' 'data/meta' 'data/media' 'data/media_meta' 'data/attic' 'data/media_attic' 'conf' && sudo chown -R 'nginx':'nginx' '/var/www/wiki' && cd ~ && sync
Start nginx
sudo systemctl start 'nginx'
Remove Archive
- Verify that GAuth works before running
rm -R ~/'gauth-files-'*'.tar.gz' && sync
/var/www/wiki/data/attic/servers/nginx/gauth.1505520196.txt.gz ยท Last modified: 2017/09/15 20:03 by Sean Rhone