Plone Installieren

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen

Plone 5 installieren

Version

Plone: 4109 Es wird ein Daemon benötigt.

Python: 2.6.4

Installation

In der Anleitung findet die Installation im Home-Verzeichnis des accountes xyz00-plone statt. Die Installation von Plone 4.2 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
 [...]
Plone Version (Plone version # to install) ['4.1']: 4.2

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.2/versions.cfg

# Add additional egg download sources here. dist.plone.org contains archives
# of Plone packages.
find-links =
    http://dist.plone.org/release/4.2
    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
# 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]

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