Wagtail installieren: Unterschied zwischen den Versionen
Tim00 (Diskussion | Beiträge) K (Kategorien ergänzt) |
Tim00 (Diskussion | Beiträge) (Generalüberholung des Artikels zur Installation von Wagtail) |
||
Zeile 1: | Zeile 1: | ||
== Allgemein == | |||
=== Beschreibung === | |||
[https://wagtail.io/ Wagtail] ist eine freie Content Management Software (CMS). | |||
Wagtail ist in Python geschrieben und läuft auf der Django Plattform. | |||
Wagtail steht unter der BSD Lizenz. | |||
== Installation == | |||
== Design == | |||
xyz00 ist | Diese Installationsanleitung beschreibt, wie Wagtail in einer eigens dafür [[Domainverwaltung#Lokale_Subdomains_durch_Aufschalten.3B_Delegieren|aufgeschalteten Subdomain]] über SSL betrieben wird. | ||
Der Vorteil einer Installation in einer aufgeschalteten Subdomain ist, daß die Installation leicht von anderen Domaininhalten, Passenger-Konfigurationen, oder sogar von anderen Domain-Administratoren, isoliert werden kann. | |||
== Vorbereitung in HSAdmin == | |||
Mit Hilfe von HSAdmin werden angelegt: | |||
* ein User mit der Shell '/bin/bash', im Beispiel "xyz00-wagtail" | |||
* beim User wird eine Domain aufgeschaltet, mein Beispiel ist: "wagtail.example.org" | |||
* ein PostgreSQL-User und eine PostgreSQL-Datenbank, beide heißen hier: "xyz00_wagtail" | |||
== Installation von Wagtail == | |||
Als Domain-Admin <tt>xyz00-wagtail</tt> folgende Schritte ausführen: | |||
Installation einer eigenen Pythonumgebung und Installation von wagtail: | Installation einer eigenen Pythonumgebung und Installation von wagtail: | ||
<pre> | <pre><nowiki> | ||
mkdir wagtail | xyz00-wagtail$ mkdir ~/wagtail | ||
cd wagtail | xyz00-wagtail$ cd ~/wagtail | ||
xyz00-wagtail$ python3 -m venv virtualenv | |||
virtualenv/bin/pip install wagtail | xyz00-wagtail$ source virtualenv/bin/activate | ||
</pre> | (virtualenv) xyz00-wagtail$ pip install wagtail | ||
(virtualenv) xyz00-wagtail$ pip install psycopg2-binary | |||
</nowiki></pre> | |||
Anlegen des Projekts "mysite": | Anlegen des Projekts "mysite": | ||
<pre> | <pre><nowiki> | ||
virtualenv | (virtualenv) xyz00-wagtail$ wagtail start mysite | ||
</pre> | </nowiki></pre> | ||
== Einrichtung der Datenbank == | |||
Zusätzlich sind individuelle Settings in der Anwendungskonfiguration | Zusätzlich sind individuelle Settings in der Anwendungskonfiguration | ||
(z.B. production.py) zu hinterlegen, z.B. die zu verwendende Datenbank. | (z.B. production.py) zu hinterlegen, z.B. die zu verwendende Datenbank. | ||
Beispiel Inhalt von <code>~/wagtail/mysite/mysite/settings/production.py</code>: | |||
<pre><nowiki> | |||
from .base import * | |||
DEBUG = False | |||
try: | |||
from .local import * | |||
except ImportError: | |||
pass | |||
# SECURITY WARNING: keep the secret key used in production secret! | |||
SECRET_KEY = 'Key generated with get_random_secret_key' | |||
ALLOWED_HOSTS = ['wagtail.example.de'] | |||
DATABASES = { | |||
'default': { | |||
'ENGINE': 'django.db.backends.postgresql', | |||
'NAME': 'xyz00_wagtail', | |||
'USER': 'xyz00_wagtail', | |||
'PASSWORD': 'topsecret', | |||
'HOST': '127.0.0.1', | |||
'PORT': '5432', | |||
} | |||
} | |||
</nowiki></pre> | |||
Aufruf von migrate und collectstatic, um die Datenbank zu initialisieren und die statischen Dateien bereitzustellen: | Aufruf von migrate und collectstatic, um die Datenbank zu initialisieren und die statischen Dateien bereitzustellen: | ||
<pre> | <pre> | ||
cd mysite | xyz00-wagtail$ cd ~/wagtail/mysite | ||
xyz00-wagtail$ source virtualenv/bin/activate | |||
.. | (virtualenv) xyz00-wagtail$ export DJANGO_SETTINGS_MODULE=mysite.settings.production | ||
</pre> | (virtualenv) xyz00-wagtail$ python3 ./manage.py migrate | ||
(virtualenv) xyz00-wagtail$ python3 ./manage.py collectstatic | |||
(virtualenv) xyz00-wagtail$ python3 ./manage.py createsuperuser | |||
Username (leave blank to use 'tim01-wagtailtest'): admin | |||
Email address: admin@example.org | |||
Password: | |||
Password (again): | |||
Superuser created successfully. | |||
</nowiki></pre> | |||
== Einrichten der Webseite == | |||
Anlegen eines symbolischen Links zur Auslieferung der statischen Inhalte: | Anlegen eines symbolischen Links zur Auslieferung der statischen Inhalte: | ||
<pre><nowiki> | |||
<pre> | xyz00-wagtail$ cd ~/doms/wagtail.example.org/htdocs-ssl | ||
PassengerPython /home/pacs/xyz00/wagtail/virtualenv/bin/ | xyz00-wagtail$ rm .htaccess | ||
xyz00-wagtail$ ln -s /home/pacs/xyz00/users/wagtail/wagtail/mysite/static static | |||
</nowiki></pre> | |||
Es muss die Datei <code>~/doms/wagtail.example.org/.htaccess</code> mit diesem Inhalt angelegt werden: | |||
<pre><nowiki> | |||
PassengerPython /home/pacs/xyz00/users/wagtail/wagtail/virtualenv/bin/python | |||
SetEnv DJANGO_SETTINGS_MODULE mysite.settings.production | SetEnv DJANGO_SETTINGS_MODULE mysite.settings.production | ||
SetEnv PYTHONPATH /home/pacs/xyz00/wagtail/mysite/ | SetEnv PYTHONPATH /home/pacs/xyz00/users/wagtail/wagtail/mysite/ | ||
</pre> | </nowiki></pre> | ||
Dann noch die Datei <code>~/doms/wagtail.example.org/app-ssl/passenger_wsgi.py</code> mit diesem Inhalt anlegen: | |||
<pre><nowiki> | |||
<pre> | |||
from mysite.wsgi import application | from mysite.wsgi import application | ||
</pre> | </nowiki></pre> | ||
Die Seite sollte nun auf https://wagtail.example.org laufen, und der Login sollte mit dem oben eingerichteten superuser admin funktionieren! | |||
== Neustart der Anwendung == | |||
Unter dem Ordner ein Verzeichnis "tmp" anlegen und eine leere Datei "restart.txt" | Unter dem Domain Ordner ein Verzeichnis "app-ssl/tmp" anlegen und eine leere Datei "restart.txt" anlegen. | ||
Ein "touch" startet die | Ein "touch" startet die Anwendung neu: | ||
<pre> | <pre> | ||
mkdir app-ssl/tmp | xyz00-wagtail$ cd ~/doms/wagtail.example.org/ | ||
touch app-ssl/tmp/restart.txt | xyz00-wagtail$ mkdir app-ssl/tmp | ||
xyz00-wagtail$ touch app-ssl/tmp/restart.txt | |||
</pre> | </pre> | ||
Version vom 29. April 2021, 05:27 Uhr
Allgemein
Beschreibung
Wagtail ist eine freie Content Management Software (CMS).
Wagtail ist in Python geschrieben und läuft auf der Django Plattform.
Wagtail steht unter der BSD Lizenz.
Installation
Design
Diese Installationsanleitung beschreibt, wie Wagtail in einer eigens dafür aufgeschalteten Subdomain über SSL betrieben wird.
Der Vorteil einer Installation in einer aufgeschalteten Subdomain ist, daß die Installation leicht von anderen Domaininhalten, Passenger-Konfigurationen, oder sogar von anderen Domain-Administratoren, isoliert werden kann.
Vorbereitung in HSAdmin
Mit Hilfe von HSAdmin werden angelegt:
- ein User mit der Shell '/bin/bash', im Beispiel "xyz00-wagtail"
- beim User wird eine Domain aufgeschaltet, mein Beispiel ist: "wagtail.example.org"
- ein PostgreSQL-User und eine PostgreSQL-Datenbank, beide heißen hier: "xyz00_wagtail"
Installation von Wagtail
Als Domain-Admin xyz00-wagtail folgende Schritte ausführen:
Installation einer eigenen Pythonumgebung und Installation von wagtail:
xyz00-wagtail$ mkdir ~/wagtail xyz00-wagtail$ cd ~/wagtail xyz00-wagtail$ python3 -m venv virtualenv xyz00-wagtail$ source virtualenv/bin/activate (virtualenv) xyz00-wagtail$ pip install wagtail (virtualenv) xyz00-wagtail$ pip install psycopg2-binary
Anlegen des Projekts "mysite":
(virtualenv) xyz00-wagtail$ wagtail start mysite
Einrichtung der Datenbank
Zusätzlich sind individuelle Settings in der Anwendungskonfiguration (z.B. production.py) zu hinterlegen, z.B. die zu verwendende Datenbank.
Beispiel Inhalt von ~/wagtail/mysite/mysite/settings/production.py
:
from .base import * DEBUG = False try: from .local import * except ImportError: pass # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = 'Key generated with get_random_secret_key' ALLOWED_HOSTS = ['wagtail.example.de'] DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'xyz00_wagtail', 'USER': 'xyz00_wagtail', 'PASSWORD': 'topsecret', 'HOST': '127.0.0.1', 'PORT': '5432', } }
Aufruf von migrate und collectstatic, um die Datenbank zu initialisieren und die statischen Dateien bereitzustellen:
xyz00-wagtail$ cd ~/wagtail/mysite xyz00-wagtail$ source virtualenv/bin/activate (virtualenv) xyz00-wagtail$ export DJANGO_SETTINGS_MODULE=mysite.settings.production (virtualenv) xyz00-wagtail$ python3 ./manage.py migrate (virtualenv) xyz00-wagtail$ python3 ./manage.py collectstatic (virtualenv) xyz00-wagtail$ python3 ./manage.py createsuperuser Username (leave blank to use 'tim01-wagtailtest'): admin Email address: admin@example.org Password: Password (again): Superuser created successfully. </nowiki>
Einrichten der Webseite
Anlegen eines symbolischen Links zur Auslieferung der statischen Inhalte:
xyz00-wagtail$ cd ~/doms/wagtail.example.org/htdocs-ssl xyz00-wagtail$ rm .htaccess xyz00-wagtail$ ln -s /home/pacs/xyz00/users/wagtail/wagtail/mysite/static static
Es muss die Datei ~/doms/wagtail.example.org/.htaccess
mit diesem Inhalt angelegt werden:
PassengerPython /home/pacs/xyz00/users/wagtail/wagtail/virtualenv/bin/python SetEnv DJANGO_SETTINGS_MODULE mysite.settings.production SetEnv PYTHONPATH /home/pacs/xyz00/users/wagtail/wagtail/mysite/
Dann noch die Datei ~/doms/wagtail.example.org/app-ssl/passenger_wsgi.py
mit diesem Inhalt anlegen:
from mysite.wsgi import application
Die Seite sollte nun auf https://wagtail.example.org laufen, und der Login sollte mit dem oben eingerichteten superuser admin funktionieren!
Neustart der Anwendung
Unter dem Domain Ordner ein Verzeichnis "app-ssl/tmp" anlegen und eine leere Datei "restart.txt" anlegen. Ein "touch" startet die Anwendung neu:
xyz00-wagtail$ cd ~/doms/wagtail.example.org/ xyz00-wagtail$ mkdir app-ssl/tmp xyz00-wagtail$ touch app-ssl/tmp/restart.txt