Linux
CORE was developed on Ubuntu Lucid 10.04 LTS, but other Linux versions should also work.
Info | ||
---|---|---|
| ||
Instead |
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
|
Info | |||||||
---|---|---|---|---|---|---|---|
If you are on Ubuntu or Debian, 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:
|
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 | ||||
---|---|---|---|---|
| ||||
<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
At 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/myconf).
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
CORE uses multi-inserts which were introduced in version 8.2, so you will need at least 8.2.
sudo to postgres and create a new database user, and write down the password:
Code Block | ||||
---|---|---|---|---|
| ||||
}}
h2. PHP
h1. PostgreSQL
sudo to postgres and create a new database user:
{code:bash}
createuser -D -I -R -S -P core_user
|
Create an empty database owned by that user:
Code Block | ||||
---|---|---|---|---|
| ||||
createdb -O core_user -T template0 core_test_db
|
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:
...
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"
Zend Framework
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/latest. 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 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 that case, you can just download 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, you would specifiy /opt/library
SimpleSAMLphp
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 | ||||
---|---|---|---|---|
| ||||
cd /var/www/core
svn co https://terena-core.googlecode.com/svn/trunk
|
Create some empty files and change permissions
...
Change permissions
Change permission so that the following directories and files are writable by the webserver userweb server user. For Debian/Ubuntu this is www-data:www-data
:
Code Block | ||||
---|---|---|---|---|
| ||||
cd var/www/core/trunk sudo touch application/configs/application.ini public/.htaccess sudo chown -v www-data:www-data cache sudo data/logs data/mails languages uploads public/includeschown www-data:www-data uploads sudo chown -vwww-data:www-data logs sudo chown www-data:www-data public/.htaccess public/index.php application/configs/application.ini |
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
...
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
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.