projects:hackhub
Table of Contents
Hackhub
Hackhub is our member database and lives on Finzean.
It is very closely integrated with 57North ID and both need to be running.
Hackhub code is hosted at Github.
Hibby's work in progress attempt to set up hackhub on a server
Requirements
Some form of OS (Debian stable):
- Python
- Flask
- Apache2
- libapache2-mod-wsgi
- sqlite3
- slapd
- ldap-utils
- ldapscripts
Process
- Install Debian Stable
apt install python-flask sqlite3 slapd ldap-utils ldapscripts git apache2 libapache2-mod-wsgi python-virtualenv python-ldap
- Import LDAP
- Migrate hackhub DB -
/home/hackhub/hackhub.db
adduser hackhub
- ensure hackhub has no password, has a/home/hackhub
and a shell of /bin/shpip2 install python-cas monthdelta
su -l hackhub
git clone https://github.com/hackerdeen/hackhub
- Configure
hackhub/local_settings.py
cd && virtualenv .hackhub
- Configure ID
LDAP
Exporting LDAP
Export Database Schema and cn=config
slapcat -n 0 -l /tmp/57nldap.config
Export user data:
slapcat -n 1 -l /tmp/57nldap.users
Copy these two files to where the new db is. Use SCP or something secure
Importing LDAP
Stop slapd:
systemctl stop slapd
Make sure that the existing slapd.d folder on the new machine is empty:
rm -rf /etc/ldap/slapd.d/*
Add the schema and cn=config:
slapadd -n 0 -F /etc/ldap/slapd.d -l /tmp/57nldap.config
Add the user data:
slapadd -n 1 -l /tmp/57nldap.users
Change the ownership of the slapd.d folder:
chown -R openldap:openldap slapd.d
Start slapd:
systemctl start slapd
Apache
Modules
a2enmod rewrite
a2enmod wsgi
Hackhub site file
Cleartext
<VirtualHost *:80> ServerName hub.57north.org.uk ServerAdmin ctte-private@57north.co RewriteEngine on RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,QSA,R=permanent] </VirtualHost> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
SSL
<IfModule mod_ssl.c> WSGIPythonPath /home/hackhub/hackhub <VirtualHost *:443> ServerName hub.57north.org.uk ServerAdmin ctte-private@57north.co SSLCertificateFile /etc/letsencrypt/live/hub.57north.org.uk/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/hub.57north.org.uk/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf WSGIDaemonProcess hackhub user=hackhub group=hackhub threads=2 WSGIScriptAlias / /home/hackhub/hackhub/hackhub.wsgi DocumentRoot /home/hackhub/hackhub RewriteEngine On RewriteRule ^/$ https://57north.org.uk [L,R=301] <Directory /home/hackhub/hackhub> WSGIProcessGroup hackhub WSGIApplicationGroup %{GLOBAL} Require all granted </Directory> </VirtualHost> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet </IfModule>
projects/hackhub.txt · Last modified: 2022/09/07 13:29 by hibby