Diskussion:Server/Plone
Plone 5 testen
Ave PT!
Da du ja begonnen hattest Plone 5 "zu spielen": Bei Launchpad liegt die "roadmap" zu Plone 5, so tagesaktuell auch die 5.0a2, die du mit dem UnifiedInstaller, den du ja zu Plone 4 erfolgreich (nach dem "vorgegeben" Schema) verwendet hattest.
Kollaborative
--Paul 06:14, 13. Dez. 2014 (CET)
Installation einer bestimmten (veralteten) Version von Plone mit UnifiedInstaller
pkg update; pkg upgrade -y
pkg install -y wget
mkdir -p /usr/local/install/plone; cd /usr/local/install/plone
wget https://launchpad.net/plone/4.0/4.0.5/+download/Plone-4.0.5-UnifiedInstaller.tgz
tar -xvf Plone-4.0.5-UnifiedInstaller.tgz
cd Plone-4.0.5-UnifiedInstaller
./install.sh standalone
Username: admin Password: admin
cd /usr/local/Plone/zinstance
./bin/plonectl start
--Paul 01:33, 10. Aug. 2015 (CEST)
- Quelle zur Übersicht der verfügbaren Dateien für UnifiedInstaller am Beispiel Plone 4.0: https://launchpad.net/plone/4.0
- https://plone.org/products/plone/releases/ und dann die entsprechende Version auswählen
--Paul 02:02, 10. Aug. 2015 (CEST)
dump beschaffen und beispielsweise in /usr/local/install/plone/dump ablegen
mkdir /usr/local/install/plone/dump
- auf dem Hauptsystem den dump herüber kopieren
cp /mnt/zroot/jails/name-der-alten-jail/usr/local/dump-of-plone.tar.gz /mnt/zroot/jails/name-der-neuen-jail/usr/local/install/plone/dump/dump-of-plone.tar.gz
cd /usr/local/install/plone/dump
tar -xvf dump-of-plone.tar.gz
cp -pr /usr/local/Plone/zinstance/ /usr/local/Plone/zinstance.bak/
cp -pr /usr/local/install/plone/dump/Plone/zinstance/var/filestorage/Data.fs /usr/local/Plone/zinstance/var/filestorage/Data.fs
cp -pr /usr/local/install/plone/dump/Plone/zinstance/var/blobstorage/ /usr/local/Plone/zinstance/var/blobstorage/
cp -pr /usr/local/install/plone/dump/Plone/zinstance/*.conf /usr/local/Plone/zinstance/bak/
cp -pr /usr/local/install/plone/dump/Plone/zinstance/*.cfg /usr/local/Plone/zinstance/previous-zinstance
cp -pr /usr/local/install/plone/dump/Plone/zinstance/adminPassword.txt /usr/local/Plone/zinstance/previous-zinstance
cp -pr /usr/local/install/plone/dump/Plone/zinstance/src/ /usr/local/Plone/zinstance/src/
cd /usr/local/Plone/zinstance
./bin/plonectl start
- Plone 3
Im Übrigen müsste das auch so mit Plone 3 funktionieren.
Username: admin Password: admin
Falls wer übermotiviert ein Plone 3 zu Plone 4 aktualisieren mag: Updating a custom Plone 3 buildout for Plone 4
--Paul 01:33, 10. Aug. 2015 (CEST)
Tutorial:
--Paul 01:54, 10. Aug. 2015 (CEST)
Inhalte von Plone übertragen
- http://docs.plone.org/develop/plone/content/importexport.html
- http://quintagroup.com/services/support/tutorials/import-export-plone
- …
wenn mit UnifiedInstaller die bisherige Version 4.0.5 installiert wird, dann werden folgende Versionen verwendet
Plone 4.0.5 Zope 2.12.23 Python 2.6.6
Plone 4 ist aber folgendes
Plone 4.0.5 Zope 2.12.23 Python 2.6.6 (r266:84292, Sep 25 2011, 12:20:08) [GCC 4.2.1 20070719 [FreeBSD]]
wenn mit UnifiedInstaller die bisherige Version 3.3.5 installiert wird, dann werden folgende Versionen verwendet
Plone 3.3.5 CMF 2.1.2 Zope (unreleased version, python 2.4.6, freebsd9) Python 2.4.6 (#1, Aug 10 2015, 00:11:06) [GCC 4.2.1 20070831 patched [FreeBSD]] PIL 1.1.6
Plone 3 ist aber folgendes
Plone 3.2.1 CMF 2.1.2 Zope (Zope 2.10.9-final, python 2.4.6, freebsd8) Python 2.4.6 (#1, Sep 25 2011, 15:33:29) [GCC 4.2.1 20070719 [FreeBSD]] PIL 1.1.6
- Versuch export/import Plone 4
- aus dem bisherigen Plone "einfach" exportieren lassen
- Das kann wohl was dauern!
- Jail neu aufsetzen
- Plone mit UnifiedInstaller in der gleichen Version 4.0.5 installieren
- export (dump) in die neue Jail kopieren
- builtout (vielleicht auch erst später)
- in das kommende Plone "einfach" importieren lassen
- Drecksarbeit abwarten!
weitere wohl benötigte Pakete
- wv installieren
pkg install -y wv
- xpdf installieren
pkg install -y xpdf
ln -s /usr/local/libexec/xpdf/pdftotext /usr/local/bin/pdftotext
--Paul 01:52, 12. Aug. 2015 (CEST)
---
Bei der schrittweisen Aktualisierung nach der Installation von der veralteten Version (4.0.5) mit UnifiedInstaller fiel auf, dass wohl auch
- py27-lxml
pkg install -y lxml
- freetype
pkg install -y freetype
ln -s /usr/local/include/freetype2 /usr/local/include/freetype
- py27-graphviz
pkg install -y py27-graphviz
benötigt werden.
--Paul 00:08, 23. Aug. 2015 (CEST)
Vergleich zwischen aktuell installierten Paketen und darüber hinaus noch verfügbaren Paketen
pkg info | grep plone | awk '{print $1}' > /tmp/pkg_info_plone ; pkg search plone > /tmp/pkg_search_plone ; diff /tmp/pkg_info_plone /tmp/pkg_search_plone
--Paul 03:34, 12. Aug. 2015 (CEST)
pkg info | grep zope | awk '{print $1}' > /tmp/pkg_info_zope ; pkg search zope > /tmp/pkg_search_zope ; diff /tmp/pkg_info_zope /tmp/pkg_search_zope
--Paul 11:02, 31. Aug. 2015 (CEST)
aktueller UnifiedInstaller ()
pkg update; pkg upgrade -y
pkg install -y wget
mkdir -p /usr/local/install/plone; cd /usr/local/install/plone
wget https://launchpad.net/plone/4.3/4.3.2/+download/Plone-4.3.2-UnifiedInstaller.tgz
tar -xvf Plone-4.3.2-UnifiedInstaller
cd Plone-4.3.2-UnifiedInstaller
pkg install -y libxml2 libxslt
./install.sh standalone
Testing /usr/local/bin/python2.7 for Zope/Plone requirements.... /usr/local/bin/python2.7 looks OK. We'll try to use it. Root install method chosen. Will install for use by users: ZEO & Client Daemons: plone_daemon Code Resources & buildout: plone_buildout Detailed installation log being written to /usr/local/install/plone/Plone-4.3.2-UnifiedInstaller/install.log Installing Plone 4.3.2 at /usr/local/Plone Using pw to create users and groups Creating python virtual environment, no site packages. New python executable in /usr/local/Plone/Python-2.7/bin/python2.7 Also creating executable in /usr/local/Plone/Python-2.7/bin/python Installing Setuptools..............................................................................................................................................................................................................................done. Installing Pip.....................................................................................................................................................................................................................................................................................................................................done. Compiling and installing jpeg local libraries ... Unpacking buildout cache to /usr/local/Plone/buildout-cache Copying Plone-docs Setting /usr/local/Plone ownership to plone_buildout:plone_group Copying buildout skeleton Fixing up bin/buildout Building Zope/Plone; this takes a while... Buildout completed ##################################################################### ###################### Installation Complete ###################### Plone successfully installed at /usr/local/Plone See /usr/local/Plone/zinstance/README.html for startup instructions Use the account information below to log into the Zope Management Interface The account has full 'Manager' privileges. Username: admin Password: admin This account is created when the object database is initialized. If you change the password later (which you should!), you'll need to use the new password. Use this account only to create Plone sites and initial users. Do not use it for routine login or maintenance. - If you need help, ask the mailing lists or #plone on irc.freenode.net. - The live support channel also exists at http://plone.org/chat - You can read/post to the lists via http://plone.org/forums - Submit feedback and report errors at http://dev.plone.org/plone (For install problems, specify component "Installer (Unified)")
cd /usr/local/Plone/zinstance
./bin/plonectl start
--Paul 04:23, 12. Aug. 2015 (CEST)
"manuelles" backup erstellen
tar -zcvf Plone-backup.tgz /usr/local/Plone
möglichst möge plone vorher gestoppt sein
--Paul 06:01, 12. Aug. 2015 (CEST)
Gehversuche zum Umherziehen
Pauschales Aktualisieren
pkg upgrade -y
Installieren von Plone
pkg install -y plone
Erlauben des dauerhaften Startens von Zope (für Plone)
echo 'zope213_enable="YES"' >> /etc/rc.conf
Eintrag einer Zeile zur möglichen späteren Verortung der Instanz von Zope (wenn sie nicht dem voreinstellten Pfad entspricht)
echo '#zope213_instances="<INSTANCEDIR>"' >> /etc/rc.conf
- testweises Suchen des voreinstellten Pfades in den Skripten von rc.d
grep /usr/local/www/ /usr/local/etc/rc.d/ -r
Erstellen einer Instanz Zope im "empfohlenen" (vorgegebenen) Pfad /usr/local/www/Zope213/
mkzopeinstance --dir /usr/local/www/Zope213/
möglichst Rechte auf Account www beschränken (und root:wheel vermeinden)
grep effective-user /usr/local/www/Zope213/etc/zope.conf
# Directive: effective-user effective-user www
chown www:www /usr/local/www/Zope213/var
chown www:www /usr/local/www/Zope213/log
Neustarten der Jail (gleich über srs1337 als host)
ee /usr/local/www/Zope213/etc/zope.conf
<blobstorage> blob-dir $INSTANCE/var/blobstorage <filestorage> # See .../ZODB/component.xml for directives sectiontype # "filestorage"). path $INSTANCE/var/Data.fs </filestorage> </blobstorage>
cp <alte-instanz>/Plone/zinstance/var/filestorage/Data.fs /usr/local/www/Zope213/var/
cp -a <alte-instanz>/Plone/zinstance/var/blobstorage/ /usr/local/www/Zope213/var/
ee /usr/local/etc/rc.d/zope213
echo 'export PATH=/usr/local/bin:/usr/local/libexec/xpdf:$PATH' >> /usr/local/etc/rc.d/zope213 ### PATH variable von allen child prozessen ändern
pkg install -y wv xpdf py27-textile
ln -s /usr/local/libexec/xpdf/pdftotext /usr/local/bin/pdftotext
Instanz umziehen
- auf der bisherigen Instanz mit ZFS Schnappschüsse (snapshots) erstellen
Namen vom snapshot (<NAME (of the volume)>) heraussuchen
zfs list
Erstellen von einem snapshot im laufenden Betrieb der Jail (Das ist nur pro-forma.)
- mit
date "+%Y-%m-%d-%H-%M-%S"
einfach die Bezeichnung für den Zeitpunkt vom snapshot generieren lassen zfs snapshot <NAME (of the volume)>@`date "+%Y-%m-%d-%H-%M-%S"`_running
ergänzendes Erstellen von einem rekursiven snapshot im laufenden Betrieb der Jail (Das ist nur pro-forma. Ein rekursiver ist eigentlich nur dann nötig, wenn unter dem volume mehrere weitere datasets liegen.)
zfs snapshot -r <NAME (of the volume)>@`date "+%Y-%m-%d-%H-%M-%S"`_running
Stoppen der Jail (srs1)
service jail stop srs1
Erneutes Erstellen von einem rekursiven snapshot und einem einfachen snapshot im angehalten Betrieb
zfs snapshot -r <NAME (of the volume)>@`date "+%Y-%m-%d-%H-%M-%S"`_stopped
zfs snapshot <NAME (of the volume)>@`date "+%Y-%m-%d-%H-%M-%S"`_stopped
prüfendes Auflisten lassen von snapshots mit der Bezeichnung der aktuellen und vorherigen Kalenderstunde
zfs list -t snapshot | grep -e `date "+%Y-%m-%d-%H"` -e `date -v-1H "+%Y-%m-%d-%H"`
Erneutes Starten der Jail (srs1)
- Damn! Plone sollte vielleicht sanfter als durch das herunterfahren der Jail gestoppt werden.
service jail start srs1
jexec <JID> sh
service plone stop
service apache22 stop
service bacula-fd stop
Stoppen der Jail (srs1)
service jail stop srs1
Erneutes Erstellen von einem rekursiven snapshot und einem einfachen snapshot im angehalten Betrieb
zfs snapshot -r <NAME (of the volume)>@`date "+%Y-%m-%d-%H-%M-%S"`_plone-stopped
zfs snapshot <NAME (of the volume)>@`date "+%Y-%m-%d-%H-%M-%S"`_plone-stopped
Erneutes Starten der Jail (srs1)
service jail start srs1
- Nun wird es ja langsam heiß! Der Index soll durch das alte Plone selbst und neu gebaut werden. (Das wurde seit Jahren nicht gemacht. Es ist ein alte Version von Plone auf einer altern Version von Zope und mit einer alten Version von Pythyon. Installieren können wir auch durch das Betriebssystem auch nichts mehr.)
jexec <JID> sh
service plone stop
service apache22 stop
service bacula-fd stop
Stoppen der Jail (srs1)
service jail stop srs1
Pauschales hässlich hartes Kopieren (für ganz schlimme Fälle)
- Im Übrigen kann vorher geschaut werden, ob noch eine Datei im Format zexp abgelegt ist. Diese Datei ist ein Datei zum kompletten Export der Instanz. (In unserem Fall kann sie gelöscht werden, da das Importieren nicht funktioniert. Diese so leider unnütze große Datei muss ja nicht unnütz kopiert werden.)
ls /usr/home/jails/srs1/usr/local/Plone/zinstance/var/instance/
scp -r -v -P <port-for-ssh-on-server> /usr/home/jails/srs1/usr/local/Plone root@<host>:/<path>
service jail start srs1
- Der Index soll durch das alte Plone selbst und neu gebaut werden. Das wurde, bezugnehmend auf /usr/local/Plone/zinstance/var/log/instance.log gleich dreimal gemacht.
- Es kamen häufig die "Kleinigkeit", dass pdftotext nicht in /sbin:/bin:/usr/sbin:/usr/bin gefunden werden kann.
- Das hätte ja mal installiert werden können! (In der veralteten Instanz kann aber nichts mehr nachträglich installiert werden.)
- Es kamen häufig die "Kleinigkeit", dass pdftotext nicht in /sbin:/bin:/usr/sbin:/usr/bin gefunden werden kann.
jexec <JID> sh
service plone stop
service apache22 stop
service bacula-fd stop
Stoppen der Jail (srs1)
service jail stop srs1
service jail start srs1
Nochmal kurz schauen, ob Plone noch startet
- Läuft!
service jail stop srs1
Erneutes Erstellen von einem rekursiven snapshot und einem einfachen snapshot im angehalten Betrieb
zfs snapshot -r <NAME (of the volume)>@`date "+%Y-%m-%d-%H-%M-%S"`_plone-stopped
zfs snapshot <NAME (of the volume)>@`date "+%Y-%m-%d-%H-%M-%S"`_plone-stopped
Erneutes pauschales hässlich hartes Kopieren (für ganz schlimme Fälle)
scp -r -v -P <port-for-ssh-on-server> /usr/home/jails/srs1/usr/local/Plone root@<host>:/<(other) path>
neue Instanz, in die umgezogen werden soll
- Schaffen der neuen Instanz (Jail FreeNAS 9.3)
pkg upgrade -y
pkg install -y zsh zsh
pkg install -y plone /usr/local/bin/mkzopeinstance --dir /usr/local/www/Zope213/
chown www:www /usr/local/www/Zope213/var chown www:www /usr/local/www/Zope213/log echo 'zope213_enable="YES"' >> /etc/rc.conf echo '#zope213_instances="<INSTANCEDIR>"' >> /etc/rc.conf
Neustart!
Schauen, ob auf dem standardmäßigen Port 8080 Plone verfügbar wird.
service zope213 stop
pkg install -y wv xpdf py27-textile py27-lxml freetype py27-graphviz ln -s /usr/local/libexec/xpdf/pdftotext /usr/local/bin/pdftotext ln -s /usr/local/include/freetype2 /usr/local/include/freetype
Einziehen
Neustarten der Jail (gleich via http)!
- oder notfalls
service jail onestart srs1