Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

CORE was developed on Ubuntu Lucid 10.04 LTS, but other Linux versions should also work.

Info
titleDebian and Ubuntu users

Instead of installing each of the software items below separately, it is sufficient to install only a small set of packages , as this will pull in most of the required dependencies. To install everything except Zend:

Code Block
bash
bash

apt-get install php5-pgsql php-apc postgresql php5-gd

Download source

Use subversion to download the source code:

Code Block

cd /var/www/core
svn co http://code.google.com/p/terena-core/trunk 

Change permissions so that the following directories and files are writable by the web server user. In most cases this is www-data:www-data:

Code Block
shellshell cd var/www/core/trunk sudo chown -v www-data:www-data cache data/logs data/mails languages uploads public/includes sudo chown -v www-data:www-data public/.htaccess public/index.php application/configs/application.ini

Apache2

  • Designate a vhost to CORE and make sure it runs SSL
  • Enable mod_rewrite
  • Enable mod_deflate (optional)
  • Point the DocumentRoot to the 'public' subdirectory of the source, so in this case /var/www/core/trunk/public.
    The vhost can contain one conference , or multiple conferences, in which case you can use the ServerAlias statement. For example:
Code Block
xml
xml

<VirtualHost *:443>

  ServerName core.nren.edu
  ServerAlias myconf2011.nren.edu
  ServerAlias myconf2012.nren.edu
  ServerAlias otherconf2011.nren.edu

  DocumentRoot /var/www/core/public

  SSLEngine on
  SSLCipherSuite 'ALL:!ADH:!EXP:!DES:RC4+RSA:+HIGH:!MEDIUM!SSLv2:@STRENGTH'
  SSLHonorCipherOrder On
  SSLCACertificateFile /etc/ssl/certs/cachain.crt
  SSLCertificateFile /etc/ssl/certs/server.crt
  SSLCertificateKeyFile /etc/ssl/private/server.key
  
</VirtualHost>

In the case of multiple conferences, it is convenient to use an SSL certificate with Subject Alternative Names - for instance those obtained by participating in the TERENA Certificate Service (wink)

At this the moment, each conference in CORE needs its own vhost , and it is not possible to run conferences under a sub directory (for instance https://www.nren.edu/conferences/myconfImage Removed).

PHP5

PHP needs to be configured according to this table:

...

CORE uses multi-inserts which were introduced in version 8.2, so you 'll will need at least 8.2.

sudo to postgres and create a new database user, and write down the password:

Code Block
bash
bash

createuser -D -I -R -S -P core_user

Create an empty database owned by that user:

Code Block
bash
bash

createdb -O core_user -T template0 core_test_db

...

You need version 1.11.0 or higher. Zend Framework 2 is not supported. This will need to be downloaded separately. Packaged versions in Debian or Ubuntu might be too old, but the installer will tell you so. You can download a tar ball of the latest Zend Framework from http://framework.zend.com/download/latestImage Removed. The "Minimal" version is sufficient.

Code Block

cd /opt
wget http://framework.zend.com/releases/ZendFramework-1.11.10/ZendFramework-1.11.10-minimal.tar.gz
tar xzvf ZendFramework-1.11.10-minimal.tar.gz

The installer will ask for a location where to find this. it can be found. 
Because the actual code is packaged together with some docs and other stuff, you need to specify the directory that contains the 'Zend' directory. So in this case you would specifiy /opt/ZendFramework-1.11.10-minimal/library.

You could also use subversion, in . In that case, you can just download only the code , and skip the supporting docs, etc.:

Code Block

cd /opt
svn co http://framework.zend.com/svn/framework/standard/branches/release-1.11/library/Zend

In this case the , you would specifiy /opt/library

...

Version 1.8 should work, but older version might work too. See the instructions on the SimpleSAMLphp site to find out how to install and configure SimpleSAMLphp as a Service Provider.
TODO: hints and tips about configuring guest providers as this is vital for practical use.

Download source

Use subversion to download the source code:

Code Block
bash
bash
cd /var/www/core
svn co https://terena-core.googlecode.com/svn/trunk

Create some empty files and change permissions so that the following directories and files are writable by the web server user. For Debian/Ubuntu this is www-data:www-data:

Code Block
shell
shell
cd var/www/core/trunk
sudo touch application/configs/application.ini public/.htaccess
sudo chown www-data:www-data cache
sudo chown www-data:www-data uploads
sudo chown www-data:www-data logs
sudo chown www-data:www-data data/mails
sudo chown www-data:www-data public/.htaccess
sudo chown www-data:www-data application/configs/application.ini

At this point you can visit the web page and follow the wizzard to configure things.

CRON jobs

TODO: Create some scripts that periodically clean up mails and orphan files.