diff --git a/blog/how-to-create-a-static-plone-site-dump.mdwn b/blog/how-to-create-a-static-plone-site-dump.mdwn new file mode 100644 index 00000000..448c8752 --- /dev/null +++ b/blog/how-to-create-a-static-plone-site-dump.mdwn @@ -0,0 +1,265 @@ +[[!meta title="How to create a static dump of a plone site"]] + + +Some of you may remember that my previous site was a +[plone](http://plone.org/)-site, running on top +of [zope](http://www.zope.org/). After a lof of +problems to convert third party products to +plone version 3, I gave up running plone for my +personal site and switched to [ikiwiki](http://ikiwiki.info/). + +Some time ago I realised that I am miss some information +that was stored in that beast. So it was time, to find +the old setup, containing plone-2.5.1, a lot of plone products +and the Data.fs, the [ZODB](http://www.zodb.org/). + +## First try: Get it running on the same system + +So the same server that hosted the website is still +up and running. It is always updated to contain the +most recent software and trying to run the old +startup script revealed the first problem: + +The Python interpreter does not exist anymore as +**/usr/bin/python24**. Searching through all files and +replacing it with **/usr/bin/python** revealed a new problem: +Zope is not installed anymore... + +## Second try: Create a fresh installation of Plone-2.5.1 in a VM + +So I tried the **Universal Linux/BSD/UNIX installer** +for [Plone 2.5.1](http://plone.org/products/plone/releases/2.5.1). +Oops, the link is dead. The first working version is +[Plone 2.5.4](http://plone.org/products/plone/releases/2.5.4), +so let's try this one. + +After the usual install process, Zope + Zeo are working. Hooray! + +## Importing the old data + +After stopping the so called **cluster** with shutdowncluster.sh, +I copied over Data.fs from the archive and successfully +restarted zeo. To import the **Products** folder from the previous +version, I had to bypass two pitfalls: + + * First of all, the complete new **Products** folder had to be removed, + because overwriting only a part with the old data creates a weired + product inconsistency. + * Secondly, the compiled python files (*** *.pyc ***) had to be + removed: + + find Products -name \*.pyc -exec rm {} \; + +And finally, after restarting the zope instances, my data was available +again! + +## Creating a static dump + +After searching around, which program to use to create a s + +[[!tag plone unix]] + + +-------------------------------------------------------------------------------- + +## idea 1 +- zeo nico / starten +- zope nico / starten + +## idea 2 + +- forget zeo +- retrieve plone package and start with data.fs directly -> Plone-2.5.2-1 + +## idea 3 + +- like 2, but with 2.5.3 +- link dead + +## idea 4 + +- like previous, but with 2.5.4 +- https://launchpad.net/plone/2.5/2.5.4/+download/Plone-2.5.4-UnifiedInstaller-r2.tgz + +## statisch + +00:57 <@dukebody> telmich: repozo +01:02 <@dixond> telmich: you want static HTML? +01:03 <@dixond> telmich: contentmirror may perhaps be useful to you. + +http://www.zopelabs.com/cookbook/1103609775 +http://www.coactivate.org/projects/plone-static-publishing/project-home + +## nginx + +Absolute URLs are generated by Virtual hosting monster. +Thus the localhost/.. url breaks! + +http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/VirtualHosting.stx + +14:13 < MacYET21> if you want to mirror: use httrack + +httrack sgv-nicosc-03 -> does not work, goes out of domain + +need httrack sgv-nicosc-03.ethz.ch + +## migration / transfer + +x software + +Log: + +[23:28] tee:nico.schottelius.org% sed -i 's;/usr/bin/python2.4;/usr/bin/python;g' ./bin/runzeo +[23:28] tee:nico.schottelius.org% sed -i 's;/usr/bin/python2.4;/usr/bin/python;g' ./bin/zeoctl +[23:28] tee:nico.schottelius.org% sed -i 's;/usr/bin/python2.4;/usr/bin/python;g' ./etc/zeo.conf + +http://downloads.sourceforge.net/plone/Plone-2.5.2-UnifiedInstaller.tgz?use_mirror=osdn + -> dead + +[23:37] tee:Plone-2.5.4-UnifiedInstaller-r2% ./install.sh +zlib installation: global +libjpeg installation: global +This install script must be run as root. Usage: sudo ./install.sh ( or su ; ./install.sh ). +[23:37] tee:Plone-2.5.4-UnifiedInstaller-r2% + +wget https://launchpad.net/plone/2.5/2.5.4/+download/Plone-2.5.4-UnifiedInstaller-r2.tgz + +sgv-nicosc-03:~# wget wget https://launchpad.net/plone/2.5/2.5.4/+download/Plone-2.5.4-UnifiedInstaller-r2.tgz +--2010-05-02 23:41:26-- http://wget/ +Resolving wget... failed: Name or service not known. +wget: unable to resolve host address `wget' +--2010-05-02 23:41:26-- https://launchpad.net/plone/2.5/2.5.4/+download/Plone-2.5.4-UnifiedInstaller-r2.tgz +Resolving launchpad.net... 91.189.89.223, 91.189.89.222 +Connecting to launchpad.net|91.189.89.223|:443... connected. +HTTP request sent, awaiting response... 302 Moved Temporarily +Location: https://launchpadlibrarian.net/10797762/Plone-2.5.4-UnifiedInstaller-r2.tgz [following] +--2010-05-02 23:41:28-- https://launchpadlibrarian.net/10797762/Plone-2.5.4-UnifiedInstaller-r2.tgz +Resolving launchpadlibrarian.net... 91.189.89.229, 91.189.89.228 +Connecting to launchpadlibrarian.net|91.189.89.229|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 34064363 (32M) [application/x-tar] +Saving to: `Plone-2.5.4-UnifiedInstaller-r2.tgz' + +100%[===============================================================>] 34,064,363 17.1M/s in 1.9s + +2010-05-02 23:41:30 (17.1 MB/s) - `Plone-2.5.4-UnifiedInstaller-r2.tgz' saved [34064363/34064363] + +FINISHED --2010-05-02 23:41:30-- +Downloaded: 1 files, 32M in 1.9s (17.1 MB/s) +sgv-nicosc-03:~# tar xvfz +.aptitude/ .profile +.bash_history .ssh/ +.bashrc Plone-2.5.4-UnifiedInstaller-r2.tgz +.debtags/ +sgv-nicosc-03:~# tar xvfz Plone-2.5.4-UnifiedInstaller-r2.tgz +Plone-2.5.4-UnifiedInstaller-r2/ +Plone-2.5.4-UnifiedInstaller-r2/install.sh +Plone-2.5.4-UnifiedInstaller-r2/license.txt +Plone-2.5.4-UnifiedInstaller-r2/packages/ +Plone-2.5.4-UnifiedInstaller-r2/packages/elementtree-1.2.6-20050316.tar.gz +Plone-2.5.4-UnifiedInstaller-r2/packages/HelperScripts.tgz +Plone-2.5.4-UnifiedInstaller-r2/packages/Imaging-1.1.6.tar.bz2 +Plone-2.5.4-UnifiedInstaller-r2/packages/jpeg-6b.tar.bz2 +Plone-2.5.4-UnifiedInstaller-r2/packages/libxml2-2.6.30.tar.bz2 +Plone-2.5.4-UnifiedInstaller-r2/packages/libxml2-python-2.6.21.tar.bz2 +Plone-2.5.4-UnifiedInstaller-r2/packages/libxslt-1.1.22.tar.bz2 +Plone-2.5.4-UnifiedInstaller-r2/packages/Plone-2.5.4-2.tar.bz2 +Plone-2.5.4-UnifiedInstaller-r2/packages/Python-2.4.4.tar.bz2 +Plone-2.5.4-UnifiedInstaller-r2/packages/python-openid-2.0.1.tar.bz2 +Plone-2.5.4-UnifiedInstaller-r2/packages/PyXML-0.8.4.tar.bz2 +Plone-2.5.4-UnifiedInstaller-r2/packages/reportlab_2_0.tar.bz2 +Plone-2.5.4-UnifiedInstaller-r2/packages/setuptools-0.6c7-py2.4.tgz +Plone-2.5.4-UnifiedInstaller-r2/packages/TextIndexNG-3.1.16.tar.bz2 +Plone-2.5.4-UnifiedInstaller-r2/packages/zlib-1.2.3.tar.bz2 +Plone-2.5.4-UnifiedInstaller-r2/packages/Zope-2.9.8-final.tar.bz2 +Plone-2.5.4-UnifiedInstaller-r2/readme.txt +Plone-2.5.4-UnifiedInstaller-r2/version.txt +sgv-nicosc-03:~# cd Plone-2.5.4-UnifiedInstaller-r2 +sgv-nicosc-03:~/Plone-2.5.4-UnifiedInstaller-r2# ./install.sh + +##################################################################### +###################### Installation Complete ###################### + +Use the account information below to log into the Zope Management Interface +The account has full 'Manager' privileges. + + Username: admin + Password: FmhjasWR + +Before you start Plone, you should review the settings in: + + /opt/Plone-2.5.4/zeocluster/server/etc/zeo.conf + and + /opt/Plone-2.5.4/zeocluster/client1/etc/zope.conf + and + /opt/Plone-2.5.4/zeocluster/client2/etc/zope.conf + +Adjust the ports Plone uses before starting the site, if necessary + +To start Plone, issue the following command in a Terminal window: + + sudo /opt/Plone-2.5.4/zeocluster/bin/startcluster.sh + +To stop Plone, issue the following command in a Terminal window: + + sudo /opt/Plone-2.5.4/zeocluster/bin/shutdowncluster.sh + + +Plone successfully installed at /opt/Plone-2.5.4 +See /opt/Plone-2.5.4/adminPassword.txt for password and startup instructions + +Submit feedback and report errors at http://dev.plone.org/plone + +This installer is maintained by Kamal Gill + +sgv-nicosc-03:~/Plone-2.5.4-UnifiedInstaller-r2# " + +-------------------------------------------------------------------------------- +sgv-nicosc-03:/opt/Plone-2.5.4/zeocluster/client2# /opt/Plone-2.5.4/zeocluster/bin/startcluster.sh +Starting ZEO server... +. . . . . . + +------ +2010-05-03T00:07:16 ERROR root Exception while rendering an error message +Traceback (most recent call last): + File "/opt/Plone-2.5.4/lib/python/OFS/SimpleItem.py", line 223, in raise_standardErrorMessage + v = s(**kwargs) + File "/home/server/zope/instance/nico.schottelius.org.1/Products/CMFCore/FSPythonScript.py", line 108, in __call__ + File "/opt/Plone-2.5.4/lib/python/Shared/DC/Scripts/Bindings.py", line 311, in __call__ + return self._bindAndExec(args, kw, None) + File "/opt/Plone-2.5.4/lib/python/Shared/DC/Scripts/Bindings.py", line 348, in _bindAndExec + return self._exec(bound_data, args, kw) + File "/home/server/zope/instance/nico.schottelius.org.1/Products/CMFCore/FSPythonScript.py", line 164, in _exec + File "Script (Python)", line 18, in standard_error_message + File "/opt/Plone-2.5.4/lib/python/Shared/DC/Scripts/Bindings.py", line 311, in __call__ + return self._bindAndExec(args, kw, None) + File "/opt/Plone-2.5.4/lib/python/Shared/DC/Scripts/Bindings.py", line 348, in _bindAndExec + return self._exec(bound_data, args, kw) + File "/home/server/zope/instance/nico.schottelius.org.1/Products/CMFCore/FSPageTemplate.py", line 195, in _exec + File "/home/server/zope/instance/nico.schottelius.org.1/Products/CacheSetup/patch_cmf.py", line 50, in FSPT_pt_render + File "/home/server/zope/instance/nico.schottelius.org.1/Products/CacheSetup/patch_cmf.py", line 116, in PT_pt_render + File "/opt/Plone-2.5.4/lib/python/TAL/TALInterpreter.py", line 238, in __call__ + self.interpret(self.program) + File "/opt/Plone-2.5.4/lib/python/TAL/TALInterpreter.py", line 281, in interpret + handlers[opcode](self, args) + File "/opt/Plone-2.5.4/lib/python/TAL/TALInterpreter.py", line 735, in do_useMacro + macro = self.engine.evaluateMacro(macroExpr) + File "/opt/Plone-2.5.4/lib/python/Products/PageTemplates/TALES.py", line 221, in evaluate + return expression(self) + File "/opt/Plone-2.5.4/lib/python/Products/PageTemplates/Expressions.py", line 185, in __call__ + return self._eval(econtext) + File "/opt/Plone-2.5.4/lib/python/Products/PageTemplates/Expressions.py", line 173, in _eval + ob = self._subexprs[-1](econtext) + File "/opt/Plone-2.5.4/lib/python/Products/PageTemplates/Expressions.py", line 127, in _eval + ob = restrictedTraverse(ob, path, getSecurityManager()) + File "/opt/Plone-2.5.4/lib/python/Products/PageTemplates/Expressions.py", line 286, in restrictedTraverse + o=t(REQUEST, name) + File "/home/server/zope/instance/nico.schottelius.org.1/Products/Archetypes/BaseObject.py", line 1129, in __bobo_traverse__ +AttributeError: main_template +(END) +sgv-nicosc-03:/opt/Plone-2.5.4/zeocluster/client1/Products# find . -name \*.pyc -exec rm {} \; + +sgv-nicosc-03:/opt/Plone-2.5.4/zeocluster/client1# ./bin/zopectl start +. daemon process started, pid=19660 +sgv-nicosc-03:/opt/Plone-2.5.4/zeocluster/client1# +