Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 

Apache2 and PHP

Info
titleFor Debian 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
shell
shell

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.
  • 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 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 Added).

PHP5

PHP needs to be configured according to this table:

PHP Version

5.3 or greater

Directives

 

upload_max_filesize

FIXME This should probably be done only in php.ini, and not in application config files.

short_open_tag

On

safe_mode

Off

register_globals

Off

Extensions

 

pdo_pgsql

PDO PostgreSQL functions

apc

Alternative PHP Cache

fileinfo

File Information

gd

GD Graphics

PostgreSQL

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

...

Info

Developer info: use this command to create an empty database with all definitions and transfer it directly to the dev host where the installer is:

Code Block
bash
bash
pg_dump -x --disable-dollar-quoting --attribute-inserts -O -s core | ssh cajones.org "cat - > /home/www/test.core.install/public/installer/sql/data.sql"

Change permissions

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

...


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

Zend Framework

You need version 1.11.0 or higher. 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 Added. 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.
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 that case you can 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

Must be populated with data:

  • filetypes
  • roles
  • timeslot_types

CRON jobs

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

Must be populated with data:

  • filetypes
  • roles
  • timeslot_types

Default conference & vhosts

THere should be at least one conference defined, with correct vhost, also in apache.

File permissions

Make sure that appropriate directories are writable:

default files

public/.htaccess-dist -> public/.htaccess
application/configs/application.ini-dist -> application/configs/application.ini

files changes

.htaccess SETENV production ?
Default development, met message dat het daarna UITgezet moet worden.

In application.ini-dist the following need to be set:

core.debugMailTo = "<email to send error reports to>"
core.observer.review = 1 (to toggle observer: review)

Vacuum jobs using CRON

  • mails
  • orphan files

Initial admin

Run the invitation code from the installer, asking for an email address which will become admin.