Website mijn.makerspaceleiden.nl setup: verschil tussen versies
(→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 | ||
− | + | 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 that the webserver 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. | |
+ | |||
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 | |
+ | |||
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 | |
+ | |||
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, 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 so you can log into complete the setup | |
+ | |||
python3 manage.py createsuperuser | python3 manage.py createsuperuser | ||
− | + | 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 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 | ||
− | + | 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 |
Versie van 19 jan 2019 om 22:06
Inhoud
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