Machine/Discovery One/Node: Difference between revisions
m create page |
|||
| (10 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
= 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 = | |||
== Setup Network == | |||
Set the IP address for the each nic | |||
=== | /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> | |||