Line 77: |
Line 77: |
| </pre> | | </pre> |
| | | |
− | ==== Turn off database by default ====
| + | === Turn off database by default === |
− | | + | #FIXME |
| sudo update-rc.d -f mysql remove | | sudo update-rc.d -f mysql remove |
| + | |
| + | == Install php server == |
| + | |
| + | ===Install needed packages=== |
| + | sudo apt-get install apache2 php5 php5-gd php5-cli php-pear php5-mysql |
| + | sudo apt-get install git subversion |
| + | sudo apt-get install gettext |
| + | |
| + | ===Install required php modules=== |
| + | pear config-set preferred_state beta |
| + | pear install Archive_Zip |
| + | |
| + | ===Create user to run scripts=== |
| + | sudo useradd -d /srv/activities activities |
| + | |
| + | 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 |
| + | <pre> |
| + | <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> |
| + | </pre> |