eduCommons 1.5.2-final Installation

Installation Instructions

Installation for Red Hat EL 4.0

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:

Python specific packages:

Zope packages:

eduCommons Packages:

I. Install Steps

  1. 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
    
  2. 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
    
  3. 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
    
  4. 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
    
  5. 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
    
  6. 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
    
  7. 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.

  8. 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:

    1. 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
      
    2. 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
      
    3. 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
      
    4. 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
      
    5. 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
      
    6. 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
      
    7. 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
      
  9. 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>
    
  10. 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 start

You 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/manage

You should then get a dialog prompt asking for your Zope admin username and password.

  1. Install eduCommons Product

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.

  1. Configure eduCommons
Use the other menu options in the "eduCommons setup" link to further customize eduCommons.