Changes

Line 1: Line 1:  +
<noinclude>{{TOCright}}</noinclude>
 +
 
=Activities.sugarlabs.org=
 
=Activities.sugarlabs.org=
 
Over the last several months, there have been on and off discussions about how to adapt the addons.mozilla.org server software to manage Sugar activities.
 
Over the last several months, there have been on and off discussions about how to adapt the addons.mozilla.org server software to manage Sugar activities.
Line 10: Line 12:     
=== Cons ===
 
=== Cons ===
* A.m.o is currently only used my mozilla.
+
* A.m.o is currently only used by mozilla.
 
* A.m.o is written in cake-php (yet another web framework)
 
* A.m.o is written in cake-php (yet another web framework)
   −
== Installing activities.sugarlabs.org ==
+
== Sources ==
 
  −
Mozilla.org runs a.m.o on CentOS5.0.  For capability reasons these instructions will also use CentOS5.2.
  −
 
  −
===Install centOS5.2 as server===
  −
It is handy to set up a development system as a server-gui in a virtual machine.
  −
 
  −
===Set up Apache===
  −
Apache is pre-installed on CentOS.
  −
 
  −
Configure Apache to start on system boot.
  −
 
  −
<code>
  −
chkconfig --levels 235 httpd on
  −
</code>
  −
 
  −
===Create Apache test page===
  −
 
  −
<code>
  −
vim /var/www/html/index.php
     −
<?php phpinfo(); ?>
+
http://git.sugarlabs.org/projects/slo-activities
</code>
     −
===Start Apache===
+
Branches structure:
 +
* ''master'' branch, last ASLO codebase
 +
* ''master-theme'' rebased to ''master'' branch, last ASLO codebase with sugar theme
 +
* ''v<version>'' branch, released ASLO version
 +
* ''v<version>-theme'' rebased to ''v<version>'' branch, released ASLO version with sugar theme
 +
* ''production'' tag to last stable branch
   −
<code>
+
== Install server ==
service httpd start
  −
</code>
  −
 
  −
===Install Firefox===
     −
<code>
+
'''NOTE''' The followed instructions tested on Ubuntu 9.04(Jaunty).
yum install firefox
  −
</code>
     −
===Test 127.0.0.1===
+
Install apache, php and mysql.
 
+
  sudo apt-get install apache2 mysql-server
verify mod_rewrite and mod_expires are loaded
+
  sudo apt-get install php5 php5-dev php5-gd php5-cli php-pear php5-mysql
 
  −
===Set up php===
  −
 
  −
look for PHP5.1.6
  −
 
  −
<code>
  −
  rpm -q php
  −
</code>
  −
 
  −
look for php-gettext ( in php-common)
  −
 
  −
<code>
  −
  rpm -q php-common
  −
</code>
  −
 
  −
install required php modules
  −
 
  −
<code>
  −
install php-pear
  −
install php-gd
  −
install php-mbstring
      +
Install required php modules.
 
  pear config-set preferred_state beta  
 
  pear config-set preferred_state beta  
 
  pear install Archive_Zip
 
  pear install Archive_Zip
</code>
  −
  −
===Install subversion===
  −
  −
<code>yum install subversion</code>
  −
  −
===Checkout amo trunk via svn===
  −
<code>svn co http://svn.mozilla.org/addons/trunk /var/www</code>
     −
===Install mysql===
+
To check out sources you need git and subversion.
<code>
+
  sudo apt-get install git subversion
  yum install mysql-server
  −
yum install php-mysql
  −
</code>
     −
===start mysql on system boot===
+
Checkout our fork.
 +
git-clone git://git.sugarlabs.org/slo-activities/mainline.git /var/www
   −
<code>
+
Fetch external dependencies:
  chkconfig --levels 235 mysqld on
+
  cd /var/www/site/vendors/
</code>
+
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
   −
===Start mysqld===
+
== Set up server ==
   −
<code>
+
Setup apache. Add followed lines to the end of VirtualHost section in /etc/apache2/sites-enabled file:
  service mysqld start
+
  DocumentRoot /var/www/site/app/webroot
</code>
+
<Directory /var/www/>AllowOverride All</Directory>
   −
===Setup mysql===
+
Enable all apache mods.
 +
cd /etc/apache2/mods-enabled
 +
ln -s ../mods-available/* .
   −
<code>
+
Setup mysql(you need to enter mysql root password for these commands).
  mysqladmin -u root passward remora
+
  mysqladmin -u root password remora
 
  mysqladmin -u root -p create remora
 
  mysqladmin -u root -p create remora
mysqladmin -u root -p create remora-test
   
  mysql -u root -p
 
  mysql -u root -p
  −
GRANT ALL ON *.* TO 'remora'@'localhost' IDENTIFIED BY 'remora';
  −
</code>
  −
  −
===Populate tables===
  −
<code>
  −
mysql -u remora -p -D remora </var/www/site/app/config/sql/remora.sql
  −
mysql -u remora -p -D remora-test </var/www/site/app/config/sql/remora.sql
  −
mysql -u remora -p -D remora </var/www/site/app/tests/data/remora-test-data.sql
  −
mysql -u remora -p -D remora-test </var/www/site/app/tests/data/remora-test-data.sql
  −
</code>
  −
  −
===Set up server===
  −
  −
===Edit DocumentRoot===
  −
  −
<code>
  −
cd /ect/httpd/conf/httpd.conf
   
   
 
   
  Edit DocumentRoot /var/www/site/app/webroot
+
  GRANT ALL ON *.* TO 'remora'@'localhost' IDENTIFIED BY 'remora';
  Edit AllowOverrides All
+
  exit;
</code>
     −
===Set permissions===
+
Add our server to /etc/hosts file.
 +
127.0.0.1 a.sl.o
   −
<code>
+
To test server create /var/www/site/app/webroot/php.php:
chown -R apache:apache app/webroot/files
+
  <?php phpinfo(); ?>
  chown -R apache:apache app/tests/data
+
Open http://a.sl.o/php in browser and make sure mysql is enabled.
chown -R apache:apache app/tmp
  −
</code>
     −
===Configure aso===
+
== Configure ASLO ==
   −
===Edit config.php===
+
cd /var/www
 +
aslo/db-create-stub.sh
   −
<code>
+
Open a.sl.o in browser. To login use:
  cp /var/www/site/app/config/config.php/default /var/www/site/app/config/config/php
+
  ''login'' admin@sugarlabs.org
  vim /var/www/site/app/config/config.php
+
  ''password'' test
</code>
     −
===Edit config-local.php===
+
== Optional steps ==
   −
<code>
+
====Install php-memcache====
vim /var/www/site/app/config/config-local.php
  −
</code>
  −
 
  −
===Create repo directories===
      
<code>
 
<code>
  mkdir /var/www/files
+
  yum install php-devel gcc zlib-devel
  mkdir /var/www/files/temp
+
   
  mkdir /var/www/files/extracted
+
  pecl install memcache
  chown -R apache:apache /var/www/files
+
  vim /etc/php.ini
 
</code>
 
</code>
   −
===Add to hosts===
+
You should add "extension=memcache.so" to php.ini
    
<code>
 
<code>
  vim /etc/hosts
+
  service httpd restart
127.0.0.1 activities.sugarlabs.org
   
</code>
 
</code>
   −
===Install php-memcache===
+
====Install memcached====
 
  −
<code>
  −
yum install php-devel
  −
yum install gcc
  −
yum install zlib-devel
  −
pecl install memcache
  −
vim /etc/php.ini
  −
</code>
  −
 
  −
===Install memcached===
      
<code>
 
<code>
 
  rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
 
  rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
 +
yum install memcached
 
  service memcached start
 
  service memcached start
 
  chkconfig --levels 235 httpd on
 
  chkconfig --levels 235 httpd on
 
</code>
 
</code>
 +
 +
== TODO ==
 +
 +
* Fix search
 +
* Fix downloads
 +
* Lots of testing, debugging and fixing
 +
* Upstream all patches that can make easier future rebases (and have a chance of being accepted)
 +
* Translate our new strings
 +
* Change the design accordingly to the Sugar image