This section describes how to install eduCommons on a server running Red Hat Linux EL 4.0. Although some of these instructions are specific to Red Hat, they can also be used for other similar linux distributions.
Installation involves obtaining the following packages:
- MySQL 4.1.* (http://www.mysql.com)
- Python-2.3.5.tar.gz (http://python.org/2.3.5/)
- Zope-2.7.5-final.tar.gz (http://www.zope.org/Products/Zope/2.7.5/Zope-2.7.5-final.tgz)
Python specific packages:
- MySQL-python-1.2.0 (http://sourceforge.net/projects/mysql-python)
- PyXML-0.8.4.tar.gz (http://sourceforge.net/project/showfiles.php?group_id=6473)
- psyco-1.4.tar.gz (http://psyco.sourceforge.net/download.html)
Zope packages:
ZMySQLDA-2.0.8.tar.gz (http://sourceforge.net/projects/mysql-python)
ZMySQLDA is in the same location as MySQL-python. Be sure to select the correct download.
Plone-2.0.5.tar.gz (http://plone.org/products/plone/releases/2.0.5)
Archetypes-1.3.2-final.tar.gz (http://plone.org/newsitems/at132released/view?searchterm=archetypes)
ESMTPMailHost2.6.0.tar.gz (http://www.zope.org/Members/bowerymarc/ESMTPMailHost)
Speedpack-0.3 (http://sourceforge.net/projects/collective)
Speedpack is part of the Plone Collective. Scroll down to find the download link.
eduCommons Packages:
- eduCommons-1.5.2-final.tar.gz (http://sourceforge.net/projects/educommons)
- FCKeditor-eduCommons-1.5.2-final.tar.gz (http://sourceforge.net/projects/educommons)
Installing MySQL
Most Red Hat installations include some of the MySQL packages by default. You can use the up2date and rpm tools to check what is already installed. Using up2date you can get the following packages:
up2date mysql up2date mysql-devel up2date mysql-server up2date mysql-shared
Other options are to use rpms from the mysql web site (http://mysql.com) or to download the source and build it yourself.
Once you have MySQL installed, at the very least you will want to launch MySQL:
/etc/init.d/mysqld start mysql -u root
and set a root password:
UPDATE mysql.user SET Password=PASSWORD('anewpaswd') WHERE User='root';
FLUSH PRIVILEGES;
QUIT
Installing Python:
Unpack, build and install python:
tar -zxvf Python-2.3.5.tar.gz cd Python-2.3.5 ./configure make sudo make install
Installing MySQL-python-1.2.0
Unpack, and install the MySQL python library:
tar -zxvf MySQL-python-1.2.0 cd MySQL-python-1.2.0 /usr/local/bin/python setup.py build sudo /usr/local/bin/python setup.py install
Installing PyXML
Unpack and install PyXML:
tar -zxvf PyXML-0.8.4.tar.gz cd PyXML-0.8.4 /usr/local/bin/python setup.py build sudo /usr/local/bin/python setup.py install
Installing Psyco (Optional)
Psyco is a python library which optimizes the performance of Plone based sites on Intel x86 architecture. This package does nothing for non x86 based architectures.
tar -zxvf psyco-1.4.tar.gz cd psyco-1.4 /usr/local/bin/python setup.py build sudo /usr/local/bin/setup.py install
Installing Zope
Unpack, build and install Zope:
tar -zxvf Zope-2.7.5-final.tar.gz cd Zope-2.7.5 ./configure --prefix /opt/Zope-2.7.5 make sudo make install
Create a Zope instance
Create an instance in your Zope install:
sudo /opt/Zope-2.7.5/bin/mkzopeinstance.py
When prompted for a directory enter in the following:
/opt/Zope-2.7.5/web
You can substitue the web directory for a name that better describes your site. The documentation will assume that you have chosen web as your instance directory.
When prompted for a username and password, enter in the username/password you will use for managing your Zope instance.
Install Zope Products
eduCommons relies on several Zope products in order to run. You will need to install the following packages in the following order. The commands listed below assume that you have the source tarballs in the root of your home account:
ZMySQLDA
Install ZMySQLDA in Zope's products folder. That way it is available to all Zope instances you create:
cd /opt/Zope-2.7.5 sudo tar -zxvf ~/ZMySQLDA-2.0.8.tar.gz
Plone-2.0.5
Install Plone into your Zope instance Products folder.
cd /opt/Zope-2.7.5/web/Products sudo tar -zxvf Plone-2.0.5.tar.gz
Once you have unpacked Plone you need to move the products back up to the Product directory as follows:
cd /opt/Zope-2.7.5/web/Products sudo su cd Plone-2.0.5 mv * .. cd .. rm -rf Plone-2.0.5 exit
Archetypes-1.3.2
eduCommons requires a newer version of archetypes than the one that comes as default with Plone. The new version replaces several Plone products. To install the new products correctly, you must first delete the old ones as follows:
cd /opt/Zope-2.7.5/web/Products sudo rm -rf Archetypes validation generator PortalTransforms sudo tar -zxvf ~/Archetypes-1.3.2-final.tar.gz
ESMTPMailHost (Optional)
The ESMTPMailHost product allows eduCommons to use an external mail address that requires SMTP authentication for emailing out notifications to users. This is not needed if you plan to run SMTP services on the same server as eduCommons. Here are the instructions for installing it:
cd /opt/Zope-2.7.5/web/Products sudo tar -zxvf ~/ESMTPMailHost2.6.0.tar.gz
Speedpack (Optional)
This is the Plone specific part of the speed optimization library psyco. To install type the following:
cd /opt/Zope-2.7.5/web/Products sudo tar -zxvf ~/Speedpack-0.3.tar.gz
eduCommons
This is the eduCommons product source package. To install use the following:
cd /opt/Zope-2.7.5/web/Products sudo tar -zxvf ~/eduCommons-1.5.2-final.tar.gz
FCKeditor-eduCommons
This is Fredrico's excellent rich text editor product (http://www.fckeditor.net) customized to work with eduCommons. To install use the following:
cd /opt/Zope-2.7.5/web/Products sudo tar -zxvf ~/FCKeditor-eduCommons-1.5.2-final.tar.gz
Configure your Zope site
Now that all the necessary Zope products are installed it is time to clean up and configure the site. The first task is to create a zope user and group in which zope can run under. This can be done via the following:
sudo /usr/sbin/groupadd zope sudo /usr/sbin/adduser -g zope -s /bin/false -d /opt/Zope-2.7.5 zope
Once that is done we can now set the proper permissions needed for Zope to run securely. This can be done via the following:
cd /opt/Zope-2.7.5/web/Products sudo chgrp -R zope * sudo chmod go-w *
Zope needs to be able to write to the log directory, and its database files. To enable this enter the following:
cd /opt/Zope-2.7.5/web sudo chgrp zope log var sudo chmod g+w log var
The last bit of configuration that needs to be done is to edit Zope's config file. Uncomment and edit the following settings:
effective-user zope debug-mode off
And set the default port you want the Zope server to run on:
<http-server> # valid keys are "address and "force-connection-close" address 8080 # force-connection-close on </http-server>
You will probably want to not launch Zope's FTP server. To do so comment out the following lines:
# <ftp-server> # # valid key is "address" # address 8021 # </ftp-server>
Launch Zope
Once Zope has been properly configured it can then be launched via the following commands:
cd /opt/Zope-2.7.5/web sudo bin/zopectl startYou should now be able to open a browser and go to the ZMI with the following URL (assuming that you configured Zope to run on port 8080):
http://<server name>:8080/manageYou should then get a dialog prompt asking for your Zope admin username and password.
Once you have logged into the ZMI via the management interface, you are now ready to create the site. Start by creating a plone site with the pull down menu in the top right corner. Give the plone site an ID and title. The title will be used throughout the site, so name it well.
Once you have created the plone site, go the the "plone setup" link in the top right. In the menu, click on Add/Remove Products. From this menu select the eduCommons, FCKeditor and Speedpack (if applicable) products to install.
Use the other menu options in the "eduCommons setup" link to further customize eduCommons.