Plone Installieren
automatisches Packen der ZopeDB
Füge dazu die folgende Anweisung in Deine Cron-Konfiguration ein:
wget --http-user=zopeuser --http-password=zopepassword http://xyz00.hostsharing.net:30210/Control_Panel/Database/main/manage_pack --post-data="days3Afloat=7&submit=Pack"
In diesem Fall werden alle Änderungen, die jünger als 7 Tage sind in der ZODB erhalten bleiben und können unter gewissen Umständen rückgängig gemacht werden.
automatisches Starten nach Server-Reboot
Füge dazu die folgende Anweisung in Deine Cron-Konfiguration ein:
@reboot /home/pacs/xyz00/users/doms/plone/bin/instance start
Plone 4 installieren
Version
Plone: 4.1.3 Es wird die ZOPE Option benötigt.
Python: 2.6
Installation
In der Anleitung findet die Installation im Home-Verzeichnis des accountes xyz00-plone statt. Die Installation von Plone 4.1.3 erfolgt weitgehend automatisiert mit Hilfe von buildout, einer Software zur Erzeugung reproduzierbarer Installationen.
Erzeugen der Umgebung mit Paste Script für das buildout
Zunächst wird mit Hilfe von Paste Script eine Umgebung erzeugt:
xyz00-plone@h99:~$ /opt/python/2.6/bin/paster create -t plone4_buildout plone4
Scriptausgabe mit Eingabeaufforderung: Selected and implied templates: ZopeSkel#plone4_buildout A buildout for Plone 4 developer installation Variables: egg: plone4 package: plone4 project: plone4 [...]
Alle Eingabeaufforderungen können ohne Eingabe mit ENTER bestätigt werden, da diese Einstellungen später ersetzt werden.
Nach der Erzeugung der Umgebung muss diese einmalig initialisiert werden:
xyz00-plone@h99:~$ cd plone4/ xyz00-plone@h99:~/plone4$ /opt/python/2.6/bin/python ./bootstrap.py
Konfiguration und Installation mit buildout
Anschließend muss die zentrale Konfigurationsdatei durch die folgenden Inhalte ersetzt werden. Die fett markierten Einstellungen müssen individuell angepasst werden. Es können weitere Optionen nach Bedarf konfiguriert werden, um beispielsweise zusätzliche Products oder eggs zu installieren.
Shell Befehl
xyz00-plone@h99:~/plone4$ nano buildout.cfg
Inhalt der buildout.cfg
# buildout.cfg file for Plone 4 development work # - for production installations please use http://plone.org/download # Each part has more information about its recipe on PyPi # http://pypi.python.org/pypi # ... just reach by the recipe name [buildout] parts = instance zopepy i18ndude zopeskel test # omelette extends = http://dist.plone.org/release/4.1/versions.cfg # Add additional egg download sources here. dist.plone.org contains archives # of Plone packages. find-links = http://dist.plone.org/release/4.1 http://dist.plone.org/thirdparty extensions = mr.developer buildout.dumppickedversions sources = sources versions = versions # Reference any folders where you have Python egg source code under development here # e.g.: develop = src/my.package # If you are using the mr.developer extension and have the source code in a # repository mr.developer will handle this automatically for you develop = # Create bin/instance command to manage Zope start up and shutdown [instance] recipe = plone.recipe.zope2instance user = admin:admin # ip-adress muss mit angegeben werden, da sonst der traffic nicht bei HS richtig abgerechnet werden kann. ip-address = xyz00.hostsharing.net user = admin:password http-address = 12300 ftp-address = 12301 wbdav-address = 12302 debug-mode = off verbose-security = on blob-storage = var/blobstorage eggs = PIL Plone # Some pre-Plone 3.3 packages may need you to register the package name here in # order their configure.zcml to be run (http://plone.org/products/plone/roadmap/247) # - this is never required for packages in the Products namespace (Products.*) zcml = # zopepy commands allows you to execute Python scripts using a PYTHONPATH # including all the configured eggs [zopepy] recipe = zc.recipe.egg eggs = ${instance:eggs} interpreter = zopepy scripts = zopepy # create bin/i18ndude command [i18ndude] unzip = true recipe = zc.recipe.egg eggs = i18ndude # create bin/test command [test] recipe = zc.recipe.testrunner defaults = ['--auto-color', '--auto-progress'] eggs = ${instance:eggs} # create ZopeSkel and paster commands with dexterity support [zopeskel] recipe = zc.recipe.egg eggs = ZopeSkel PasteScript zopeskel.dexterity # symlinks all Python source code to parts/omelette folder when buildout is run # windows users will need to install additional software for this part to build # correctly. See http://pypi.python.org/pypi/collective.recipe.omelette for # relevant details. # [omelette] # recipe = collective.recipe.omelette # eggs = ${instance:eggs} # Put your mr.developer managed source code repositories here, see # http://pypi.python.org/pypi/mr.developer for details on the format of # this part [sources] #collective.developermanual = git git://github.com/collective/collective.developermanual.git # Version pindowns for new style products go here - this section extends one # provided in http://dist.plone.org/release/ [versions]
Achtung: Der angegebene Benutzer wird mit dem zugewiesenen Kennwort beim ersten Start der Zope-Instanz angelegt. Es empfiehlt sich aus Sicherheitsgründen, dass Kennwort nach dem ersten Start der Zope-Instanz aus der Konfigurationsdatei zu entfernen.
Nach der Anpassung der Konfigurationsdatei buildout.cfg muss die Installation durch den Aufruf von buildout aktualisiert werden.
xyz00-plone@h99:~/plone4$ bin/buildout
Installation zusätzlicher Softwarepakete
Zusätzliche Softwarepakete in egg-Form können in das Verzeichnis "src" installiert und im Abschnitt "[buildout]" der "buildout.cfg" unter "eggs" und "develop" eingetragen werden. Zusätzliche Softwarepakete in "Product"-Form können in den Abschnitt "[productdistros]" eingetragen oder in der Verzeichnis "products" installiert werden. Dies gilt gleichermaßen für Eigenentwicklungen wie Softwarepakete von Drittanbietern. Starten und Stoppen der Instanz
Zope Instanz starten/stoppen
Die Zope Instanz kann über von buildout erzeugte Skripte gestartet oder gestoppt werden. Die Zope Instanz kann mehrer "Plone Sites" verwalten, so dass für jede weitere dom nur eine "Plone_ Site mit entsprechenden namen erstellt wird und die dazugehörige .htaccess erstellt werden muss.
Start xyz00-plone@h99:~/plone4$ bin/instance start
Stop xyz00-plone@h99:~/plone4$ bin/instance stop
Erzeugen der Plone Site
Eine laufende Instanz kann jederzeit über http://www.example.com:12300/ mit dem Webbrowser direkt angesprochen werden. Dabei ist der jeweilige Paketname und der zugewiesene Port für HTTP zu verwenden.
Mit Hilfe des Zope Management Interfaces (ZMI) wird nun eine Plone Site angelegt. Dazu wird im Webbrowser http://xyz00.hostsharing.net:12300/manage aufgerufen und nach dem Login mit den vergebenen Zugangsdaten auf den Button "Add Plone Site" klicken. Die Plone Site sollte plone_site_example_com genannt werden.
Die laufende Plone Site kann anschließend über http://www.example.com:12300/plone_site_example_com mit Webbrowser angesprochen werden.
Konfiguration von Apache
Um die erzeugte Plone Site auch über einen registrierten Domainnamen ansprechen zu können, wird im Verzeichnis der jeweiligen Subdomain eine Konfigurationsdatei .htaccess mit dem folgenden, vorgegebenen Inhalt hinterlegt. Dabei müssen der Name des Pakets, der Name der Domain und der zugewiesene Port für HTTP angepasst werden.
xyz00-plone@h99:~$ nano ~/doms/example.com/subs/www/.htaccess RewriteEngine on RewriteCond %{SERVER_PORT} ^80$ RewriteRule ^(.*) http://xyz00.hostsharing.net:12300/VirtualHostBase/http/www.example.com:80/plone_site_example_com/VirtualHostRoot/$1 [proxy,last] RewriteCond %{SERVER_PORT} ^443$ RewriteRule ^(.*) http://xyz00.hostsharing.net:12300/VirtualHostBase/https/www.example.com:443/plone_site_example_com/VirtualHostRoot/$1 [proxy,last]