Machine/aslo-web

From Sugar Labs
< Machine
Revision as of 21:33, 21 February 2010 by Dfarning (talk | contribs)
Jump to navigation Jump to search

Set up

Below is the recipe that we used to set up the php server. Please see machine for up to date configuration details.


Install required php modules

pear config-set preferred_state beta 
pear install Archive_Zip

Create user to run scripts

Make sure that all files in /srv/activities

  • has apache(web-data) user
  • activities group
  • group write access
  • umask is 002

Switch to activities user

sudo -i -u activities

Checkout ASLO sources

git clone git://git.sugarlabs.org/slo-activities/mainline.git ~
git checkout production -b production

Fetch external dependencies

cd ~/site/vendors/
svn co http://svn.mozilla.org/libs/product-details
svn co http://svn.mozilla.org/libs/fizzypop.mozdev fizzypop
svn co http://svn.mozilla.org/libs/phorms
svn co http://svn.mozilla.org/libs/zxtm-api


Set up NFS mount points

Create directories

mkdir -p ~/files
mkdir -p ~/staging

Add the following lines to the end of `/etc/fstab'

sunjammer.sugarlabs.org:/srv/nfs/activities/files /srv/activities/files nfs rsize=8192,wsize=8192,timeo=14,intr
sunjammer.sugarlabs.org:/srv/nfs/activities/staging /srv/activities/staging nfs rsize=8192,wsize=8192,timeo=14,intr

First-time ASLO setup

Using ~/aslo/config.php as template, setup ASLO settings in file ~/site/app/config/config.php. Template file was configured for dev environment, switch it to production by setting SITE_STATE variable to production.

Setup other env defines in file ~/site/app/config/config-local.php

define('DEBUG', 0);
define('DEV', false);
define('QUERY_CACHE', true);

Create directories

mkdir -p ~/site/app/tmp/cache/persistent
mkdir -p ~/site/app/tmp/cache/models
mkdir -p ~/site/app/tmp/cache/views
mkdir -p ~/files/temp
mkdir -p ~/files/extracted
mkdir -p ~/data

Minify css/js stuff

~/aslo/minify.py

Merge ASLO gettext strings

~/aslo/po-compile.sh

Crontab for activities user

@hourly $HOME/aslo/cron/hourly
# do not use @daily to make sure that we start job after aslo-proxy
01 08 * * * $HOME/aslo/cron/daily

Create vhost

vim /etc/apache2/sites-available/activities.sl.org

<VirtualHost *:80 *:443>
        ServerName activities.sugarlabs.org
        ServerAlias activities2.sugarlabs.org # for test/install
        ServerAdmin webmaster@sugarlabs.org

        DocumentRoot /srv/activities/site/app/webroot

        LogFormat "%h %V %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" \"%{HTTP_COOKIE}i\"" addons
        CustomLog /srv/activities/data/access addons
        CustomLog /var/log/apache2/all-access.log vhost_combined
        #CustomLog /var/log/apache2/performance.log performance
</VirtualHost>