Difference between revisions of "Activity Library/Devel/Installing"

From Sugar Labs
Jump to navigation Jump to search
 
(49 intermediate revisions by 6 users not shown)
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===
+
http://git.sugarlabs.org/projects/slo-activities
 
 
<code>
 
vim /var/www/html/index.php
 
  
<?php phpinfo(); ?>
+
Branches structure:
</code>
+
* ''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
  
===Start Apache===
+
== Install server ==
  
<code>
+
'''NOTE''' The followed instructions tested on Ubuntu 9.04(Jaunty).
service httpd start
 
</code>
 
  
===Install Firefox===
+
Install apache, php and mysql.
 
+
  sudo apt-get install apache2 mysql-server
<code>
+
  sudo apt-get install php5 php5-dev php5-gd php5-cli php-pear php5-mysql
yum install firefox
 
</code>
 
 
 
===Test 127.0.0.1===
 
 
 
verify mod_rewrite and mod_expires are loaded
 
 
 
===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>
 
 
===Set up server===
 
 
===Set permissions===
 
 
<code>
 
chown -R apache:apache /var/www/site
 
</code>
 
 
===Edit DocumentRoot===
 
  
<code>
+
To check out sources you need git and subversion.
vim /etc/httpd/conf/httpd.conf
+
  sudo apt-get install git subversion
 
Edit DocumentRoot /var/www/site/app/webroot
 
  Edit AllowOverride All
 
</code>
 
  
===Add to hosts===
+
Checkout our fork.
 +
git-clone git://git.sugarlabs.org/slo-activities/mainline.git /var/www
  
<code>
+
Fetch external dependencies:
  vim /etc/hosts
+
  cd /var/www/site/vendors/
  127.0.0.1 activities.sugarlabs.org
+
  svn co http://svn.mozilla.org/libs/product-details
</code>
+
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
  
===Test server===
+
== Set up server ==
  
<code>
+
Setup apache. Add followed lines to the end of VirtualHost section in /etc/apache2/sites-enabled file:
service httpd restart
+
  DocumentRoot /var/www/site/app/webroot
</code>
+
  <Directory /var/www/>AllowOverride All</Directory>
 
 
<code>
 
  mv /var/www/site/app/webroot/index.php /var/www/site/app/webroot/index.php.old
 
  mv /var/www/html/index.php /var/www/site/app/webroot/index.php
 
</code>
 
  
open activities.sugarlabs.org in firefox
+
Enable all apache mods.
 +
cd /etc/apache2/mods-enabled
 +
ln -s ../mods-available/* .
  
===Install mysql===
+
Setup mysql(you need to enter mysql root password for these commands).
<code>
 
yum install mysql-server
 
yum install php-mysql
 
</code>
 
 
 
===start mysql on system boot===
 
 
 
<code>
 
chkconfig --levels 235 mysqld on
 
</code>
 
 
 
===Start mysqld===
 
 
 
<code>
 
service mysqld start
 
</code>
 
 
 
===Test server===
 
 
 
<code>
 
service httpd restart
 
</code>
 
 
 
open activities.sugarlabs.org in firefox. Make sure mysql is enabled
 
 
 
===Setup mysql===
 
 
 
<code>
 
 
  mysqladmin -u root password 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';
 
  GRANT ALL ON *.* TO 'remora'@'localhost' IDENTIFIED BY 'remora';
 
  exit;  
 
  exit;  
</code>
 
  
===Populate tables===
+
Add our server to /etc/hosts file.
<code>
+
  127.0.0.1 a.sl.o
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>
 
  
 +
To test server create /var/www/site/app/webroot/php.php:
 +
<?php phpinfo(); ?>
 +
Open http://a.sl.o/php in browser and make sure mysql is enabled.
  
===Configure aso===
+
== Configure ASLO ==
 
 
===Edit config.php===
 
 
 
<code>
 
cp /var/www/site/app/config/config.php.default /var/www/site/app/config/config.php
 
vim /var/www/site/app/config/config.php
 
</code>
 
 
 
===Edit config-local.php===
 
  
<code>
+
  cd /var/www
  vim /var/www/site/app/config/config-local.php
+
aslo/db-create-stub.sh
</code>
 
  
<code>
+
Open a.sl.o in browser. To login use:
  <?php
+
  ''login'' admin@sugarlabs.org
define('DEBUG', 1);
+
  ''password'' test
define('DEV', true);
 
?>
 
</code>
 
 
 
<code>
 
chown apache:apache /var/www/site/app/config/config-local.php
 
</code>
 
 
 
This is necessary to generate debug message. Without it you get a somewhat disconcerting blankscreen.
 
 
 
Open activities.sugarlabs.org in firefox.
 
  
 +
== Optional steps ==
  
 
+
====Install php-memcache====
===Create download directory===
 
  
 
<code>
 
<code>
  mkdir /var/www/downloads
+
  yum install php-devel gcc zlib-devel
  chown -R apache:apache /var/www/downloads
+
 +
pecl install memcache
 +
  vim /etc/php.ini
 
</code>
 
</code>
  
===Create repo directories===
+
You should add "extension=memcache.so" to php.ini
  
 
<code>
 
<code>
  mkdir /var/www/files
+
  service httpd restart
mkdir /var/www/files/temp
 
mkdir /var/www/files/extracted
 
chown -R apache:apache /var/www/files
 
 
</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>
 
 
 
You should add "extension=memcache.so" to php.ini
 
 
 
===Install memcached===
 
  
 
<code>
 
<code>
Line 238: Line 111:
 
</code>
 
</code>
  
 +
== TODO ==
  
===Test activities.sugarlabs.org===
+
* Fix search
 
+
* Fix downloads
open activities.sugarlabs.org/tests?case=installation.test.php in firefox.
+
* 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

Latest revision as of 08:09, 15 November 2009

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.

Background

Information about Remora, the codename for a.m.o version 3, is at https://wiki.mozilla.org/Update:Remora.

Why base a.s.o on a.m.o

Pros

  • The function of a.m.o is exactly the same as the desired functionality of a.s.o.

Cons

  • A.m.o is currently only used by mozilla.
  • A.m.o is written in cake-php (yet another web framework)

Sources

http://git.sugarlabs.org/projects/slo-activities

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

Install server

NOTE The followed instructions tested on Ubuntu 9.04(Jaunty).

Install apache, php and mysql.

sudo apt-get install apache2 mysql-server
sudo apt-get install php5 php5-dev php5-gd php5-cli php-pear php5-mysql

Install required php modules.

pear config-set preferred_state beta 
pear install Archive_Zip

To check out sources you need git and subversion.

sudo apt-get install git subversion

Checkout our fork.

git-clone git://git.sugarlabs.org/slo-activities/mainline.git /var/www

Fetch external dependencies:

cd /var/www/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 server

Setup apache. Add followed lines to the end of VirtualHost section in /etc/apache2/sites-enabled file:

DocumentRoot /var/www/site/app/webroot
<Directory /var/www/>AllowOverride All</Directory>

Enable all apache mods.

cd /etc/apache2/mods-enabled
ln -s ../mods-available/* .

Setup mysql(you need to enter mysql root password for these commands).

mysqladmin -u root password remora
mysqladmin -u root -p create remora
mysql -u root -p

GRANT ALL ON *.* TO 'remora'@'localhost' IDENTIFIED BY 'remora';
exit; 

Add our server to /etc/hosts file.

127.0.0.1 a.sl.o

To test server create /var/www/site/app/webroot/php.php:

<?php phpinfo(); ?>

Open http://a.sl.o/php in browser and make sure mysql is enabled.

Configure ASLO

cd /var/www
aslo/db-create-stub.sh

Open a.sl.o in browser. To login use:

login admin@sugarlabs.org
password test

Optional steps

Install php-memcache

yum install php-devel gcc zlib-devel

pecl install memcache
vim /etc/php.ini

You should add "extension=memcache.so" to php.ini

service httpd restart

Install memcached

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
chkconfig --levels 235 httpd on

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