Activity Library/Devel/Installing: Difference between revisions

Dfarning (talk | contribs)
 
(57 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===
 
<code>
vim /var/www/html/index.php
 
<?php phpinfo(); ?>
</code>
 
===Start Apache===
 
<code>
service httpd start
</code>
 
===Install Firefox===
 
<code>
yum install firefox
</code>
 
===Test 127.0.0.1===
 
verify mod_rewrite and mod_expires are loaded


===Set up php===
http://git.sugarlabs.org/projects/slo-activities


look for PHP5.1.6
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 ==
rpm -q php
</code>


look for php-gettext ( in php-common)
'''NOTE''' The followed instructions tested on Ubuntu 9.04(Jaunty).


<code>
Install apache, php and mysql.
  rpm -q php-common
  sudo apt-get install apache2 mysql-server
</code>
  sudo apt-get install php5 php5-dev php5-gd php5-cli php-pear php5-mysql
 
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===
To check out sources you need git and subversion.
sudo apt-get install git subversion


<code>yum install subversion</code>
Checkout our fork.
git-clone git://git.sugarlabs.org/slo-activities/mainline.git /var/www


===Checkout amo trunk via svn===
Fetch external dependencies:
<code>svn co http://svn.mozilla.org/addons/trunk /var/www</code>
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===
== Set up server ==


===Set permissions===
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>


<code>
Enable all apache mods.
  chown -R apache:apache /var/www/site
  cd /etc/apache2/mods-enabled
</code>
  ln -s ../mods-available/* .
 
===Edit DocumentRoot===
 
<code>
vim /etc/httpd/conf/httpd.conf
   
Edit DocumentRoot /var/www/site/app/webroot
Edit AllowOverride All
</code>


===Add to hosts===
Setup mysql(you need to enter mysql root password for these commands).
 
<code>
vim /etc/hosts
127.0.0.1 activities.sugarlabs.org
</code>
 
===Test server===
 
<code>
service httpd restart
</code>
 
<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
 
===Install mysql===
<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>
 
===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';
exit;


  GRANT ALL ON *.* TO 'remora'@'localhost' IDENTIFIED BY 'remora';
Add our server to /etc/hosts file.
</code>
  127.0.0.1 a.sl.o


===Populate tables===
To test server create /var/www/site/app/webroot/php.php:
<code>
  <?php phpinfo(); ?>
mysql -u remora -p -D remora </var/www/site/app/config/sql/remora.sql
Open http://a.sl.o/php in browser and make sure mysql is enabled.
  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>


== Configure ASLO ==


===Configure aso===
cd /var/www
aslo/db-create-stub.sh


===Edit config.php===
Open a.sl.o in browser. To login use:
''login'' admin@sugarlabs.org
''password'' test


<code>
== Optional steps ==
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===
====Install php-memcache====


<code>
<code>
  vim /var/www/site/app/config/config-local.php
yum install php-devel gcc zlib-devel
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>
 
===Install php-memcache===
 
<code>
yum install php-devel
yum install gcc
yum install zlib-devel
pecl install memcache
vim /etc/php.ini
</code>
</code>


===Install memcached===
====Install memcached====


<code>
<code>
Line 202: Line 110:
  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