Installation of EGW
-------------------
Introduction
************
EGW is a Plone 2.5 product that allows to manage the agendas and decisions of the Walloon Government.
Wallonia is a region (with legislative power) located in Belgium, Europe.
EGW depends on PloneMeeting, a generic Plone 2.5 product for managing agendas and decisions, and PloneTask,
a Plone 2.5 product that allows to create and manage tasks.
This guide explains how to set up a Linux or Unix machine with EGW. At present it is not recommanded
to install EGW in Windows.
In short, this procedure will install Plone (with PloneMeeting, PloneTask and EGW) in a Zope application server
installed behind Apache. OpenOffice will be installed in server mode.
I. Configuring Apache
---------------------
First, if Apache is not installed, install it with the following command:
./configure --prefix=/usr/local/apache --enable-modules="all" --enable-mods-shared="all" --enable-proxy
make
make install
This installer assumes that Apache 2.2 or later is configured as the standard web server
listening on port 80 for the IP address of the server. We will only focus on the configuration parts
that are specific to Zope integration. Extensive documentation about Apache configuration can be found
at http://httpd.apache.org.
We must configure URL rewriting for allowing Apache to redirect URL requests to Zope. The following
directives must be present in httpd.conf:
LoadModule alias_module modules/mod_alias.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule rewrite_module modules/mod_rewrite.so
The exact paths to the modules may differ from those shown here.
Next, add the following lines near the bottom of httpd.conf:
NameVirtualHost 1.1.1.1:80
ServerName egw.gov.wallonie.be
RewriteEngine on
RewriteRule ^(.*) http://localhost:8080/VirtualHostBase/http/egw.gov.wallonie.be:80/VirtualHostRoot/$1 [L,P]
ServerName dav.egw.gov.wallonie.be
RewriteEngine on
RewriteRule ^(.*) http://localhost:1980/VirtualHostBase/http/dav.egw.gov.test.wallonie.be:80/VirtualHostRoot/$1 [L,P]
Replace 1.1.1.1 with the server IP. Replace egw.gov.wallonie.be (2 times) by egw.gov.valid.wallonie.be if you are
installing the validation server or egw.gov.test.wallonie.be if you are installing the test server.
II. Install Plone
-----------------
Preamble: create a user that will run the Zope instance.
Ensure that zlib is installed (else, download it from http://www.zlib.net/)
Install Python 2.4.4 at http://www.python.org/download/releases/2.4.4/
At the python prompt, try:
>>> import bz2
If you get an error, the Python interpreter was compiled without zlib support.
Ensure that typing "python" at the prompt gives you the Python interpreter you have installed, and not another one.
Install libjpeg from http://linux.softpedia.com/progDownload/libjpeg-Download-160.html
Install PIL (Python Imaging Library) at http://www.pythonware.com/products/pil/
Install Zope 2.9.8 at http://www.zope.org/Products/Zope/2.9.8
Then create a Zope instance that will run on port 8080:
/usr/local/zope/bin/mkzopeinstance.py
You must provide a username and password for the administrator of your ZopeInstance.
The Zope instance folder will be subsequently referred to as in the
remaining of this file.
Once the Zope instance is created, edit /etc/zope.conf and set the directive:
effective-user
If you want to run the Zope instance on another port than 8080, you must do it in this file, too.
Download the Plone tarball at http://plone.org/products/plone/releases/2.5.5 and
Copy all the Plone-2.5.5 folder content to /Products and chown -R *
III. Test the Plone install
---------------------------
Launch Zope (with the root user, Zope will change the effective user to ) in debug mode:
cd /bin
./zopectl fg
Launch a browser an go to http://1.1.1.1:8080/manage (replace 1.1.1.1 with the IP address
of your server.) Enter the username and password you entered while creating your Zope instance.
The Zope Management Interface (ZMI) should appear. Open the dropdown list that allows to
add content, and check that 'Plone site' is in this list. If yes, Zope and Plone were
correctly installed.
IV. Install appy.pod and OpenOffice
-----------------------------------
appy.pod is the library used by PloneMeeting to generate documents (PDF, RTF, ODT, etc).
See installation instructions on http://appyframework.org/version.html:
- Download appy.0.0.4.zip from appyframework.org
- unzip it
- mv appy /usr/local/lib/python2.4/site-packages
Be sure to install appy.pod in the Python interpreter you installed in one of the previous steps.
In order to test that pod is correctly installed, launch your python interpreter and, at the pompt,
type
>>> import appy.pod
You should see the prompt again
>>>
without any error message. If pod is not correctly installed a traceback will be shown:
Traceback (most recent call last):
File "", line 1, in ?
ImportError: No module named appy
Install OpenOffice and write a script for launching it in server mode as described in http://appyframework.org/podRenderingTemplates.html.
Configure the script for launching OpenOffice on port 2002. If there is no Xserver installed, proceed like this:
ssh -X root@server
export DISPLAY=0.0.
V. Install EGW
--------------
EGW is made of 3 Zope products: PloneMeeting, PloneTask and EGW.
Preamble: SVN must be installed on your system, and depends on APR (Apache Portable Runtime) and APR-utils
Install APR and APR-utils and install SVN by running:
./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr
make
make install
Download PloneMeeting from the SVN trunk:
- Go to /Products
- mkdir PloneMeeting
- cd PloneMeeting
- svn co http://svn.communesplone.org/svn/communesplone/PloneMeeting/trunk .
Download PloneTask from the SVN trunk:
- Go to /Products
- mkdir PloneTask
- cd PloneTask
- svn co http://svn.communesplone.org/svn/communesplone/PloneTask/trunk .
Download EGW from the SVN trunk:
- Go to /Products
- mkdir Egw
- cd Egw
- svn co http://svn.communesplone.org/svn/communesplone/Egw .
In the 3 templates located in Egw/profiles/default/templates, Add the signature of the secretary.
Change the password for user notifRw and give it to Notif-RW team.
VI. Create a Plone site with the "PloneMeeting / EGW" profile
-------------------------------------------------------------
Restart your Zope instance, connect to the ZMI and select "Plone site" in the dropdown
list. You now see the Plone site creation form. Choose "EGW" as site id and title, and,
in the "Extension profiles", select "PloneMeeting / EGW".
VII. Configure Plone
--------------------
Go to http://egw.gov.wallonie.be: you should see the EGW login screen. Enter the password
of the Zope admin.
- Configure the PloneMailHost
* Go to "Site setup->Mail Settings" and define the SMTP server that will be used for
sending e-mail notifications (ie: localhost on port 25);
* Go to "Site setup->Portal Settings" and set correct values for fields
"Site 'From' name" and "Site 'From' address".
- Configure the connection to OpenOffice:
* Go to "Site setup->PloneMeeting", and, in the "edit" tab, type the name of the absolute
path of the Python interpreter that runs OpenOffice in server mode.
VIII. Create crontab
--------------------
Create a crontab that will, every night, pack the ZODB, stop and restart Zope.
IX. Run Apache, Zope and OpenOffice at boot
-------------------------------------------
Ensure that Apache, Zope and OpenOffice are started at system boot.
X. Enable WebDAV
----------------
Add, in zope.conf, the following directive:
# Valid keys are "address" and "force-connection-close"
address 1980
force-connection-close off