Website mijn.makerspaceleiden.nl setup

Uit MakerSpace Leiden
Naar navigatie springen Naar zoeken springen
De printervriendelijke versie wordt niet langer ondersteund en kan weergavefouten bevatten. Werk uw browserbladwijzers bij en gebruik de gewone afdrukfunctie van de browser.

On a demo/local laptop

   git clone https://github.com/dirkx/makerspaceleiden-crm.git
   cd makerspaceleiden-crm
   sh loaddemo.sh

then visit http://localhost:8000/

Prepare for restarts with

 source venv/bin/activate

and then do :

 python3 manage.py runsever

as needed

Om production -- update

 cd /usr/local/makerspaceleiden-crm
 git pull <right version>
 
 source venv/bin/activate
 python3 manage.py makemigrations
 python3 manage.py migrate

In production - setup from zero =

   cd /usr/local
   git clone https://github.com/dirkx/makerspaceleiden-crm.git
   # Create random seed
   openssl rand 128 > /etc/crm_secret_key.txt
   chmod 640 /etc/crm_secret_key.txt
   chgrp www-data /etc/crm_secret_key.txt
   
   # Allow storing of uploads in media by the suid
   # all this runs as.
   mkdir -p var/media
   chown www-data var/media
   
   # Prepare env for python and pull in the various dependencies.
   python3 -mvenv venv
   source ./venv/bin/activate
   pip3 install -r requirements
   
   # Set up the framework
   cd makerspaceleiden
   ln -s prod.py local.py
   cat > makerspaceledien/my.cnf <<EOM
   [client]
   database = mslcrm
   user = mslcrmuser
   password = XXXX-passowrd-XXX
   default-character-set = utf8
   EOM
   
   # Create database & user
   mysql (suply database admin arguments as and when needed)
   create database mslcrm;
   create user 'mslcrmuser'@'localhost' identified by 'XXXX-passowrd-XXX';
   grant all priveleges on mslcrm.* to 'mslcrmuser'@'localhost';
   flush priveleges;
   
   # Check for issues and build database & site
   python manage.py check --deploy
   python3 manage.py makemigrations
   python3 manage.py migrate
   python manage.py collectstatic
   
   # Create temp super user
   python3 manage.py createsuperuser
   
   # Create apache config
   cat > /etc/apache2/sites-available/crm.conf <<EOM
   WSGIScriptAlias /crm /usr/local/makerspaceleiden-crm/makerspaceleiden/wsgi.py  process-group=crm
   
   WSGIDaemonProcess crm python-home=/usr/local/makerspaceleiden-crm/venv python-path=/usr/local/makerspaceleiden-crm/
   WSGIProcessGroup  crm 
   
   Alias /crm-static/ /usr/local/makerspaceleiden-crm/static/
   Alias /media/      /usr/local/makerspaceleiden-crm/var/media/
   
   <Directory /usr/local/makerspaceleiden-crm/>
     <Files wsgi.py>
        Require all granted
     </Files>
   </Directory>
   
   <Directory /usr/local/makerspaceleiden-crm/static>
           Options None
           order deny,allow
           allow from all
           Require all granted
   </Directory>
   
   <Directory /usr/local/makerspaceleiden-crm/var/media>
           Options None
           order deny,allow
           allow from all
           Require all granted
   </Directory>
   EOM
   ln -s /etc/apache2/sites-available/crm.conf  /etc/apache2/sites-active/crm.conf 
   
   # Start server
   #
   apacheclt configtest
   apachectl restart
   tail -F /var/log/apache2/error.log
   
   # Create the initial members/structure. Assign the trusteeds
   # the super user permission; then delete the temporary admin you made.