User Tools

Site Tools


server:pelican

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
server:pelican [2015/11/30 21:39] – [Modifizierungen & Erweiterungen] saschaserver:pelican [2017/10/26 19:42] (current) sascha
Line 15: Line 15:
 ==== nginx ==== ==== nginx ====
  
-nginx für Pelican vorbereiten+''nginx'' für Pelican vorbereiten
 <code - /etc/nginx/ngnix.conf> <code - /etc/nginx/ngnix.conf>
     server {     server {
Line 50: Line 50:
   $ pelican-quickstart -p blog   $ pelican-quickstart -p blog
  
-Wechseln in den blog-Ordner+Wechseln in den ''blog''-Ordner
   $ cd blog   $ cd blog
 Typogrify zur ''pelicanconf.py'' hinzufügen: Typogrify zur ''pelicanconf.py'' hinzufügen:
Line 101: Line 101:
 MONTH_ARCHIVE_SAVE_AS = '{date:%Y}/{date:%b}/index.html' MONTH_ARCHIVE_SAVE_AS = '{date:%Y}/{date:%b}/index.html'
 </code> </code>
 +
 +===== Upgrade der virtuellen Umgebung =====
 +
 +Die angelegte virtuelle Umgebung unter ''blogenv'' muss unter Umständen aktualisiert werden, beispielsweise nach einem Upgrade von Python selbst auf dem Server. Dies kann dazu führen, dass beim Versuch, die Beiträge mit einem ''make publish'' zu erstellen, eine Fehlermeldung wie
 +  blogenv/bin/python3: error while loading shared libraries: libpython3.5m.so.1.0: cannot open shared object file: No such file or directory
 +erscheint. Grund ist hier das Upgrade von Python 3.5 auf 3.6.
 +
 +Bevor wir die mit ''virtualenv'' angelegte Umgebung aktualisieren, erstellen wir besser ein Backup der Daten; im Folgenden gehe ich davon aus, dass wir uns, sofern nicht anders angegeben, im Verzeichnis ''/home/pelican'' befinden:
 +  $ cp -r blogenv blogenv_backup
 +
 +Danach muss die Python-Version mittels Downgrade auf die letzte funktionierende Version gesetzt werden, damit wir der Einfachheit halber alle installierten Module ermitteln, um sie nachher einfach wieder zu installieren. Am besten wurde der Cache der ''pacman''-Pakete nicht geleert, so kann in ''/var/cache/pacman/pkg'' nach den vorhandenen alten Python-Paketen gesucht werden, in meinem Fall die Version 3.5.2. Diese installieren wir:
 +  # pacman -U /var/cache/pacman/pkg/python-3.5.2-3-armv7h.pkg.tar.xz
 +
 +Nun kann die virtuelle Umgebung aktiviert werden, um die verwendeten Module zu ermitteln:
 +  # source blogenv/bin/activate
 +  # pip freeze > requirements.txt
 +  # deactivate
 +  # rm -rf blogenv
 +Bei dem letzten Schritt wird die Umgebung gelöscht, weswegen das Backup sinnvoll ist.
 +
 +Anschließend kann Python wieder aktualisiert werden:
 +  # pacman -S python
 +
 +Die neue Umgebung richten wir als Benutzer ''pelican'' ein, weswegen noch schnell die Berechtigungen angepasst werden:
 +  # chown pelican:http requirements.txt
 +  # su pelican
 +An diesem Punkt sicherstellen, dass das Arbeitsverzeichnis ''/home/pelican'' ist.
 +
 +Die neue Umgebung kann nun eingerichtet werden:
 +  $ virtualenv blogenv
 +  $ source blogenv/bin/activate
 +  $ pip install --upgrade -r requirements.txt
 +
 +Nach Ausloggen und erneutem Einloggen mit ''su pelican'' sollte nun wieder alles wie vorher sein und auch das Erstellen der Beiträge mittels ''make publish'' sollte ohne Fehlermeldung das gewünschte Resultat liefern. Das Backup ''blogenv_backup'' kann entsprechend gelöscht werden, hat alles funktioniert.
  
 ===== Automatisierung mittels git ===== ===== Automatisierung mittels git =====
  
 FIXME FIXME
server/pelican.1448919581.txt.gz · Last modified: by sascha