Difference between revisions of "Machine/Discovery One/Node"

From Sugar Labs
Jump to: navigation, search
m (create page)
 
m (Install needed packages)
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== ASLO Node ==
+
= ASLO Node =
 
While discussing activities.sugarlabs.org maintainability with Dogi this afternoon, he suggested that instead of thinking about web, proxy, and database nodes we create a standard ALSO node which we can adopt and tune via configs.
 
While discussing activities.sugarlabs.org maintainability with Dogi this afternoon, he suggested that instead of thinking about web, proxy, and database nodes we create a standard ALSO node which we can adopt and tune via configs.
  
== Components ==
+
= Components =
  
 +
== Setup Network ==
 +
Set the IP address for the each nic
  
=== Database ===
+
/etc/networks/interfaces
 +
<pre>
 +
# The loopback network interface
 +
auto lo
 +
iface lo inet loopback
 +
 
 +
# The primary network interface
 +
auto eth0
 +
iface eth0 inet static
 +
        address 10.0.0.101
 +
        netmask 255.255.255.0
 +
        network 10.0.0.0
 +
        broadcast 10.0.0.255
 +
        gateway 10.0.0.1
 +
 
 +
#auto eth1
 +
iface eth1 inet static
 +
        address 10.0.0.201
 +
        netmask 255.255.255.0
 +
        network 10.0.0.0
 +
        broadcast 10.0.0.255
 +
        gateway 10.0.0.1
 +
</pre>
 +
 
 +
restart the network
 +
 
 +
/etc/init.d/networking restart
 +
 
 +
== Install php server ==
 +
 
 +
===Install needed packages===
 +
sudo apt-get install gettext
 +
 
 +
===Install required php modules===
 +
sudo pear config-set preferred_state beta
 +
sudo 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>

Latest revision as of 12:24, 1 March 2010

ASLO Node

While discussing activities.sugarlabs.org maintainability with Dogi this afternoon, he suggested that instead of thinking about web, proxy, and database nodes we create a standard ALSO node which we can adopt and tune via configs.

Components

Setup Network

Set the IP address for the each nic

/etc/networks/interfaces

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 10.0.0.101
        netmask 255.255.255.0
        network 10.0.0.0
        broadcast 10.0.0.255
        gateway 10.0.0.1

#auto eth1
iface eth1 inet static
        address 10.0.0.201
        netmask 255.255.255.0
        network 10.0.0.0
        broadcast 10.0.0.255
        gateway 10.0.0.1

restart the network

/etc/init.d/networking restart

Install php server

Install needed packages

sudo apt-get install gettext

Install required php modules

sudo pear config-set preferred_state beta 
sudo 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

<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>