Wednesday, June 27, 2007

Plone notes from Raik

Some months ago, I set up a plone site for our group -- http://sfiles.embl.de .
Mac asked me to blog my installation notes, so here they come:

The basic steps are:
- create a zopeuser on your server
- install python and zope
- install plone as a product into your new zope server
- create a plone instance
- optional: put it behind apache

Note: Some things may have changed with the more recent versions of Plone / Zope. These are just my onw quick-and-dirty notes. I hope they are still helpful.

Initial setup
=============

- Create zopeuser

- add zopeuser to sudo list without password
in /etc/sudoers add::

zopeuser ALL=(ALL) NOPASSWD: ALL

Python
======

- download 2.4.3 from python.org

tar xvf Py*
sudo mv Python-2.4.3 /usr/local/src
cd /usr/local/src/Python-2.4.3
./configure
make
make altinstall ## don't override default python

-> creates /usr/local/bin/python2.4

## local installation: ./configure --prefix ~/data/local

Bibutils
========

optional, only needed for the literature management

- download bibutils_3.27_i386.tgz from
http://www.scripps.edu/~cdputnam/software/bibutils/

sudo mv bibutils_3.27/* /usr/local/bin/

Subversion
==========

sudo yum install subversion

Zope installation
==================

- install Zope from source, download untar, then...::

mv Zope-2.9.3 /usr/local/src
cd /usr/local/src/Zope-2.9.3
./configure
make build
sudo make install
cd /usr/local/Zope-2.9.3/bin

mkdir /usr/local/Zope-2.9.3/instance
./mkzopeinstance.py
folder: /usr/local/Zope-2.9.3/instance \
user: admin

- make sure Zope folder belongs to zopeuser

- check $PYTHONPATH
- start zope server::

cd /usr/local/Zope-2.9.3/instance
./bin/zopectl start
>>> . daemon process started, pid=26472

- log into ZMI::

http://sfiles.embl.de:8080/manage


##local installation::

./configure --prefix ~/data/local/Zope --with-python ~/data/local/bin/python2.4

Install Plone
=============

- download Imaging-1.1.6b1.tar.gz from http://effbot.org/downloads/#Imaging::

scp 'grunberg@kaa.embl.de:data/input/Imagin*' ~/input
untar...
sudo mv Imaging-1.1.6b1 /usr/local/src/
cd /usr/local/src/Imaging*
sudo python2.4 setup.py install

- download Plone-2.5.tgz and install all needed Zope products::

gzip -d Plone*
tar -xvf Plone*
sudo mv Plone-2.5 /usr/local/src/
cd /usr/local/src/Plone-2.5
emacs CMFPlone/INSTALL.txt &

rm -r Five ## for Zope 2.9.x
rm *.txt

mv * /usr/local/Zope-2.9.3/instance/Products/

- restart Zope
in ZMI/Control Panel: Shut down Zope
in /usr/local/Zope-2.9.3/instance: ./bin/zopectl start

- install Plone site
in ZMI/ (root folder): Add/Plone site
ID: project

- check: Plone site should be accessible under
http://sfiles.embl.de:8080/project

put Zope behind apache
======================

- check that "Virtual hosting" exists in ZMI root
- work through
http://plone.org/documentation/how-to/plone-with-apache-1.3

in short:

- add to /etc/httpd/conf/httpd.conf::


ServerName synplexity.embl.de
ServerAlias www.synplexity.embl.de
ServerAdmin webmaster@synplexity.embl.de
ProxyPass / http://localhost:8080/VirtualHostBase/http/sfiles.embl.de:80/projects/VirtualHostRoot/
ProxyPassReverse / http://localhost:8080/VirtualHostBase/http/sfiles.embl.de:80/projects/VirtualHostRoot/



Deny from all


- (re)start apache::
sudo /usr/sbin/apachectl graceful

- check: Plone site now accessible under
http://sfiles.embl.de/

- direct access to Zope w/o apache is still possible with
http://sfiles.embl.de:8080/sfiles

Now, the plone site should be up and running behind your apache server. The remaining installation log describes the installation of some additional plone plugins. I'll just give the list of plugins I found useful:

- ATExtensions -- needed by most plugins (perhaps included in recent plone versions?)
- CMFBibliography -- very neat literature management
- AmazonTool -- to import book citations from Amazon
- ATBiblioList -- create virtual literature lists

I put up a little first-steps page on sfiles to get users started:
http://sfiles.embl.de/help/first_steps

There are some more notes on customizing sfiles and create custom workflows-- I can post them later if you are interested.

That's it... questions / comments are welcome.
Good luck!
Raik