User Tools

Site Tools


projects:hackhub

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
projects:hackhub [2020/04/18 20:28] hibbyprojects:hackhub [2022/09/07 13:29] (current) hibby
Line 1: Line 1:
 ====== Hackhub ====== ====== Hackhub ======
  
-Hackhub is our member database+Hackhub is our member database and lives on [[projects:finzean|Finzean]].
  
-{{tag>project active infrastructure ID}}+It is very closely integrated with [[projects:57_north_id|57North ID]] and both need to be running. 
 + 
 +Hackhub code is hosted at [[https://github.com/hackerdeen/hackhub|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/sh 
 +  - ''pip2 install python-cas monthdelta'' 
 +  - ''su -l hackhub'' 
 +    - ''git clone https://github.com/hackerdeen/hackhub'' 
 +    - Configure ''hackhub/local_settings.py''  
 +    - ''cd && virtualenv .hackhub'' 
 +  - Configure [[projects:57_north_id|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 ==== 
 +<code> 
 +<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 
 +</code> 
 +==== SSL ==== 
 +<code> 
 +<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> 
 +</code> 
 + 
 +{{tag>active software ormiret finzean infrastructure ID}}
projects/hackhub.1587241684.txt.gz · Last modified: 2020/07/07 20:48 (external edit)