Grouprise: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 147: | Zeile 147: | ||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "stadt.settings") | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "stadt.settings") | ||
application = get_wsgi_application() | application = get_wsgi_application() | ||
</pre> | |||
==== Senden und Empfang von E-Mail ==== | |||
<pre> | |||
xyz00-groups@h00:~$ | |||
xyz00-groups@h00:~$ cd | |||
xyz00-groups@h00:~$ cat bin/mailin | |||
#!/bin/bash | |||
umask 0022 | |||
sed -e "/^Delivered-To/d"|sed -e "s/^X-Original/Delivered/"| (cd /home/pacs/xyz00/users/groups/stadtgestalten && /home/pacs/xyz00/users/groups/stadtgestalten/build/venv/bin/python manage.py processincomingmessage) | |||
xyz00-groups@h00:~$ cat .forward | |||
|/home/pacs/xyz00/users/groups/bin/mailin | |||
xyz00-groups@h00:~$ crontab -l | |||
# m h dom mon dow command | |||
HOME=/home/pacs/xyz00/users/groups | |||
VIRTUAL_ENV=/home/pacs/xyz00/users/stadt/stadtgestalten/build/venv | |||
PATH=/home/pacs/xyz00/users/groups/stadtgestalten/build/venv/bin:/home/pacs/xyz00/users/groups/.nvm/versions/node/v10.21.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games | |||
MAILTO=hallo@example.com | |||
*/2 * * * * cd $HOME/stadtgestalten && $VIRTUAL_ENV/bin/python manage.py send_mail >/dev/null 2>&1 | |||
0 */5 * * * cd $HOME/stadtgestalten && $VIRTUAL_ENV/bin/python manage.py update_index >/dev/null 2>&1 | |||
</pre> | </pre> | ||
Version vom 13. Juni 2020, 19:08 Uhr
Installation von Grouprise
Grouprise ist eine Software für die Menschen in einer Stadt oder Region. Sie ermöglicht es, dass einzelne Personen sich in Gruppen engagieren und austauschen. Grouprise ist freie Software (FOSS), die Lizenz ist die AGPL.
Vorbereitungen in HSAdmin
In HSAdmin werden angelegt:
- ein Service-User,
- eine Domain,
- ein Postgres-User und eine Datenbank,
- eine Catch-All E-Mail Adresse
xyz00@h00:~$ hsscript -i Password: ********************* xyz00@hsadmin> user.add({ set: { name:'xyz00-groups', password:'******', shell:'/bin/bash' xyz00@hsadmin> domain.add({ set: { name:'groups.hs-example.de', user:'xyz00-groups' } }) xyz00@hsadmin> postgresqluser.add({ set: { name:'xyz00_groups', password:'******' } }) xyz00@hsadmin> postgresqldb.add({ set: { name:'xyz00_groups', owner:'xyz00_groups' } }) xyz00@hsadmin> emailaddress.add({ set: { localpart:'', domain:'groups.hs-example.de', target:'xyz00-groups' } }) xyz00@hsadmin> bye xyz00@h00:~$
Installation von NodeJS
Installation von NodeJS (hier Version 10.x) für den User nach der Anleitung NodeJS
xyz00@h00:~$ sudo -u xyz00-groups -i xyz00-groups@h00:~$ touch ~/.profile xyz00-groups@h00:~$ chmod u+x ~/.profile xyz00-groups@h00:~$ wget https://raw.githubusercontent.com/creationix/nvm/v0.35.3/install.sh xyz00-groups@h00:~$ chmod u+x install.sh xyz00-groups@h00:~$ ./install.sh xyz00-groups@h00:~$ rm install.sh xyz00-groups@h00:~$ export NVM_DIR="$HOME/.nvm" xyz00-groups@h00:~$ . "$NVM_DIR/nvm.sh" xyz00-groups@h00:~$ nvm install 10 xyz00-groups@h00:~$ node -v v10.21.0
Notizen zur Installation
xyz00-groups@h00:~$ git clone https://git.hack-hro.de/stadtgestalten/stadtgestalten.git xyz00-groups@h00:~$ cd stadtgestalten/ xyz00-groups@h97:~/stadtgestalten$ git tag xyz00-groups@h97:~/stadtgestalten$ git checkout v2.4.3 xyz00-groups@h97:~/stadtgestalten$ make app_setup
Anlegen einer Datei $HOME/etc/settings.py mit folgendem Inhalt:
# grouprise settings file # see https://docs.djangoproject.com/en/2.1/ref/settings/ import os import subprocess from stadt.settings.default import * from core.assets import add_javascript_reference, add_javascript_inline, add_csp_directive, add_meta # see https://www.miniwebtool.com/django-secret-key-generator/ SECRET_KEY = 'XXXXXXXXXXXXXXXXXXXXXXXX' ALLOWED_HOSTS = ['groups.hs-example.de', 'localhost'] DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'HOST': 'localhost', 'NAME': 'xyz00_groups', 'USER': 'xyz00_groups', 'PASSWORD': '******', } } ADMINS = [ ('Admins', 'hallo@groups.hs-example.de'), ] DEFAULT_FROM_EMAIL = 'noreply@groups.hs-example.de' FROM_EMAIL_WITH_SLUG = 'noreply+{slug}@groups.hs-example.de' ANSWERABLE_FROM_EMAIL = 'noreply@groups.hs-example.de' DEFAULT_REPLY_TO_EMAIL = 'reply+{reply_key}@groups.hs-example.de' STADTGESTALTEN_BOT_EMAIL = 'grouprise-bot@groups.hs-example.de' SERVER_EMAIL = 'grouprise <noreply@groups.hs-example.de>' GROUPRISE_POSTMASTER_EMAIL = 'postmaster@groups.hs-example.de' ABOUT_GROUP_ID = 1 STADTGESTALTEN_FEEDS_IMPORTER_USER_ID = 1 GROUPRISE_FEEDS_IMPORTER_GESTALT_ID = 1 GROUPRISE_UNKNOWN_GESTALT_ID = 1 ACCOUNT_DEFAULT_HTTP_PROTOCOL = 'https' ENTITY_SLUG_BLACKLIST = [ 'all', 'alle', 'antwort', 'crew', 'facebook', 'gbr', 'info', 'kontakt', 'mail', 'noreply', 'postmaster', 'presse', 'reply', 'stadt', 'unknown', 'webmaster', 'www'] # set debug mode to false DEBUG = False # increase session cookie time to 1 year SESSION_COOKIE_AGE = 60 * 60 * 24 * 365 STADTGESTALTEN_CLAIMS = [ 'grouprise forever', 'Mailingslisten leichtgemacht', ] STATIC_URL = '/static/'
Verlinken nach $HOME/stadtgestalten/stadt/settings/local.py:
xyz00-groups@h00:~/stadtgestalten$ mkdir -p $HOME/etc xyz00-groups@h00:~/stadtgestalten$ vi $HOME/etc/settings.py xyz00-groups@h00:~/stadtgestalten$ ln -sf $HOME/etc/settings.py stadt/settings/local.py xyz00-groups@h00:~/stadtgestalten$ ls -l stadt/settings/local.py lrwxrwxrwx 1 xyz00-groups xyz00 45 Jun 13 20:32 stadt/settings/local.py -> /home/pacs/xyz00/users/groups/etc/settings.py xyz00-groups@h00:~/stadtgestalten$ . build/venv/bin/activate xyz00-groups@h00:~/stadtgestalten$ python manage.py migrate xyz00-groups@h00:~/stadtgestalten$
Integration in den Apache
xyz00-groups@h00:~/stadtgestalten$ cd $HOME/doms/groups.hs-example.de/ xyz00-groups@h97:~/doms/groups.hs-example.de$ rm -rf subs/www/ subs-ssl/www/ htdocs-ssl/.htaccess xyz00-groups@h97:~/doms/groups.hs-example.de$ vi .htaccess xyz00-groups@h97:~/doms/groups.hs-example.de$ cat .htaccess PassengerPython /home/pacs/xyz00/users/groups/stadtgestalten/build/venv/bin/python xyz00-groups@h97:~/doms/groups.hs-example.de$ cd htdocs-ssl/ xyz00-groups@h97:~/doms/groups.hs-example.de/htdocs-ssl$ ln -s $HOME/stadtgestalten/static . xyz00-groups@h97:~/doms/groups.hs-example.de/htdocs-ssl$ mkdir stadt xyz00-groups@h97:~/doms/groups.hs-example.de/htdocs-ssl$ cd stadt/ xyz00-groups@h97:~/doms/groups.hs-example.de/htdocs-ssl/stadt$ ln -s $HOME/stadtgestalten/static . xyz00-groups@h97:~/doms/groups.hs-example.de/htdocs-ssl/stadt$ cd $HOME/doms/groups.hs-example.de/app-ssl xyz00-groups@h97:~/doms/groups.hs-example.de/app-ssl$ vi passenger_wsgi.py xyz00-groups@h97:~/doms/groups.hs-example.de/app-ssl$ cat passenger_wsgi.py import sys, os sys.path.append("/home/pacs/xyz00/users/groups/stadtgestalten") from django.core.wsgi import get_wsgi_application os.environ.setdefault("DJANGO_SETTINGS_MODULE", "stadt.settings") application = get_wsgi_application()
Die Datei $HOME/doms/groups.hs-example.de/.htaccess:
PassengerPython /home/pacs/xyz00/users/groups/stadtgestalten/build/venv/bin/python
Die Datei $HOME/doms/groups.hs-example.de/app-ssl/passenger_wsgi.py:
import sys, os sys.path.append("/home/pacs/xyz00/users/groups/stadtgestalten") from django.core.wsgi import get_wsgi_application os.environ.setdefault("DJANGO_SETTINGS_MODULE", "stadt.settings") application = get_wsgi_application()
Senden und Empfang von E-Mail
xyz00-groups@h00:~$ xyz00-groups@h00:~$ cd xyz00-groups@h00:~$ cat bin/mailin #!/bin/bash umask 0022 sed -e "/^Delivered-To/d"|sed -e "s/^X-Original/Delivered/"| (cd /home/pacs/xyz00/users/groups/stadtgestalten && /home/pacs/xyz00/users/groups/stadtgestalten/build/venv/bin/python manage.py processincomingmessage) xyz00-groups@h00:~$ cat .forward |/home/pacs/xyz00/users/groups/bin/mailin xyz00-groups@h00:~$ crontab -l # m h dom mon dow command HOME=/home/pacs/xyz00/users/groups VIRTUAL_ENV=/home/pacs/xyz00/users/stadt/stadtgestalten/build/venv PATH=/home/pacs/xyz00/users/groups/stadtgestalten/build/venv/bin:/home/pacs/xyz00/users/groups/.nvm/versions/node/v10.21.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games MAILTO=hallo@example.com */2 * * * * cd $HOME/stadtgestalten && $VIRTUAL_ENV/bin/python manage.py send_mail >/dev/null 2>&1 0 */5 * * * cd $HOME/stadtgestalten && $VIRTUAL_ENV/bin/python manage.py update_index >/dev/null 2>&1
Links
Webseite
- https://grouprise.org
- https://git.hack-hro.de/stadtgestalten/stadtgestalten/ (Git Repository)
- Installationsanleitung(unvollständig)
Grouprise Installationen
- https://stadtgestalten.org/ Rostock
- https://stadtimpuls.org/ Greifswald