CRMSetup: verschil tussen versies

Uit MakerSpace Leiden
Ga naar: navigatie, zoeken
(In production - setup from zero =)
(In production - setup from zero =)
Regel 26: Regel 26:
 
== In production - setup from zero ===
 
== In production - setup from zero ===
  
 +
Initial checkout of cocde
 
     cd /usr/local
 
     cd /usr/local
 
     git clone https://github.com/dirkx/makerspaceleiden-crm.git
 
     git clone https://github.com/dirkx/makerspaceleiden-crm.git
  
    # Create random seed
+
Make evertyin group owned (crmadmin) and add that group to the accounts
 +
of those that need to maintain it.
 +
 
 +
Create random seed
 
     openssl rand 128 > /etc/crm_secret_key.txt
 
     openssl rand 128 > /etc/crm_secret_key.txt
 
     chmod 640 /etc/crm_secret_key.txt
 
     chmod 640 /etc/crm_secret_key.txt
 
     chgrp www-data /etc/crm_secret_key.txt
 
     chgrp www-data /etc/crm_secret_key.txt
 
      
 
      
    # Allow storing of uploads in media by the suid
+
Allow storing of uploads in media by the suid that the webserver runs as:
    # all this runs as.
+
 
 
     mkdir -p var/media
 
     mkdir -p var/media
 
     chown www-data var/media
 
     chown www-data var/media
 
      
 
      
    # Prepare env for python and pull in the various dependencies.
+
Prepare env for python and pull in the various dependencies.
 +
 
 
     python3 -mvenv venv
 
     python3 -mvenv venv
 
     source ./venv/bin/activate
 
     source ./venv/bin/activate
 
     pip3 install -r requirements
 
     pip3 install -r requirements
 
      
 
      
    # Set up the framework
+
Set up the framework
 +
 
 
     cd makerspaceleiden
 
     cd makerspaceleiden
 
     ln -s prod.py local.py
 
     ln -s prod.py local.py
Regel 55: Regel 61:
 
     EOM
 
     EOM
 
      
 
      
    # Create database & user
+
Create database & user
 +
 
 
     mysql (suply database admin arguments as and when needed)
 
     mysql (suply database admin arguments as and when needed)
 
     create database mslcrm;
 
     create database mslcrm;
Regel 62: Regel 69:
 
     flush priveleges;
 
     flush priveleges;
 
      
 
      
    # Check for issues and build database & site
+
Check for issues, init and build database & site
 +
 
 
     python manage.py check --deploy
 
     python manage.py check --deploy
 
     python3 manage.py makemigrations
 
     python3 manage.py makemigrations
Regel 68: Regel 76:
 
     python manage.py collectstatic
 
     python manage.py collectstatic
 
      
 
      
    # Create temp super user
+
Create temp super user so you can log into complete the setup
 +
 
 
     python3 manage.py createsuperuser
 
     python3 manage.py createsuperuser
 
      
 
      
    # Create apache config
+
Create apache config
 +
 
 
     cat > /etc/apache2/sites-available/crm.conf <<EOM
 
     cat > /etc/apache2/sites-available/crm.conf <<EOM
 
     WSGIScriptAlias /crm /usr/local/makerspaceleiden-crm/makerspaceleiden/wsgi.py  process-group=crm
 
     WSGIScriptAlias /crm /usr/local/makerspaceleiden-crm/makerspaceleiden/wsgi.py  process-group=crm
Regel 101: Regel 111:
 
     </Directory>
 
     </Directory>
 
     EOM
 
     EOM
 +
 +
Activate this setup
 +
 
     ln -s /etc/apache2/sites-available/crm.conf  /etc/apache2/sites-active/crm.conf  
 
     ln -s /etc/apache2/sites-available/crm.conf  /etc/apache2/sites-active/crm.conf  
 
      
 
      
    # Start server
+
Start server and keep an eye on the log:
    #
+
 
 
     apacheclt configtest
 
     apacheclt configtest
 
     apachectl restart
 
     apachectl restart
 
     tail -F /var/log/apache2/error.log
 
     tail -F /var/log/apache2/error.log
 
      
 
      
    # Create the initial members/structure. Assign the trusteeds
+
Now go to https://makerspaceleiden.nl/crm and create the initial members/structure. Assign the trustees the super user permission; then delete the temporary admin you made.
    # the super user permission; then delete the temporary admin you made.
+
 
 +
== Backup ===
 +
 
 +
To be done / written

Versie van 19 jan 2019 om 23:06

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 =

Initial checkout of cocde

   cd /usr/local
   git clone https://github.com/dirkx/makerspaceleiden-crm.git

Make evertyin group owned (crmadmin) and add that group to the accounts of those that need to maintain it.

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 that the webserver 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, init 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 so you can log into complete the setup

   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

Activate this setup

   ln -s /etc/apache2/sites-available/crm.conf  /etc/apache2/sites-active/crm.conf 
   

Start server and keep an eye on the log:

   apacheclt configtest
   apachectl restart
   tail -F /var/log/apache2/error.log
   
Now go to https://makerspaceleiden.nl/crm and create the initial members/structure. Assign the trustees the super user permission; then delete the temporary admin you made.

Backup =

To be done / written