Changes

Jump to navigation Jump to search
Line 15: Line 15:  
* 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 ==
 +
 
 +
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).
 
'''NOTE''' The followed instructions tested on Ubuntu 9.04(Jaunty).
    
Install apache, php and mysql.
 
Install apache, php and mysql.
  sudo apt-get install php5 php-dev apache2 mysql-server php5-gd php5-cli php-pear php5-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.
 
Install required php modules.
Line 32: Line 44:  
  git-clone git://git.sugarlabs.org/slo-activities/mainline.git /var/www
 
  git-clone git://git.sugarlabs.org/slo-activities/mainline.git /var/www
   −
Fetch one external dependency:
+
Fetch external dependencies:
 
  cd /var/www/site/vendors/
 
  cd /var/www/site/vendors/
  svn co http://svn.mozilla.org/libs/product-details product-details
+
  svn co http://svn.mozilla.org/libs/product-details
 
+
svn co http://svn.mozilla.org/libs/fizzypop.mozdev fizzypop
==Set up server==
+
svn co http://svn.mozilla.org/libs/phorms
 +
svn co http://svn.mozilla.org/libs/zxtm-api
   −
===Set permissions===
+
== Set up server ==
   −
<code>
+
Setup apache. Add followed lines to the end of VirtualHost section in /etc/apache2/sites-enabled file:
  chown -R apache:apache /var/www/site  
+
  DocumentRoot /var/www/site/app/webroot
</code>
+
<Directory /var/www/>AllowOverride All</Directory>
   −
===Edit DocumentRoot===
+
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).
vim /etc/httpd/conf/httpd.conf
  −
  −
Edit DocumentRoot /var/www/site/app/webroot
  −
Edit AllowOverride All
  −
</code>
  −
 
  −
===Add to hosts===
  −
 
  −
<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===
  −
 
  −
Open activities.sugarlabs.org in firefox
  −
 
  −
===Install mysql===
  −
<code>
  −
yum install mysql-server 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
  −
 
  −
===Revert index.php===
  −
 
  −
mv /var/www/site/app/webroot/index.php.old /var/www/site/app/webroot/index.php
  −
 
  −
==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
 
  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>
     −
==Configure aso==
+
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.
   −
=== Auto mode ===
+
== Configure ASLO ==
    
  cd /var/www
 
  cd /var/www
 
  aslo/db-create-stub.sh
 
  aslo/db-create-stub.sh
   −
=== Manual mode ===
+
Open a.sl.o in browser. To login use:
 
+
  ''login'' admin@sugarlabs.org
====Populate tables====
+
  ''password'' test
<code>
  −
mysql -u remora --password=remora -D remora </var/www/site/app/config/sql/remora.sql
  −
mysql -u remora --password=remora -D remora </var/www/site/app/tests/data/remora-test-data.sql
  −
mysql -u remora --password=remora -D remora </var/www/site/app/tests/data/sugar-test-data.sql
  −
</code>
  −
 
  −
====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>
  −
 
  −
'''NOTE''' Make sugar that /var/www/site/app/config/config.php is ended by "?>" not by "?>\n"
  −
 
  −
<pre><nowiki>
  −
<?php
  −
/* ***** BEGIN LICENSE BLOCK *****
  −
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
  −
*
  −
* The contents of this file are subject to the Mozilla Public License Version
  −
* 1.1 (the "License"); you may not use this file except in compliance with
  −
* the License. You may obtain a copy of the License at
  −
* http://www.mozilla.org/MPL/
  −
*
  −
* Software distributed under the License is distributed on an "AS IS" basis,
  −
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  −
* for the specific language governing rights and limitations under the
  −
* License.
  −
*
  −
* The Original Code is addons.mozilla.org site.
  −
*
  −
* The Initial Developer of the Original Code is
  −
* The Mozilla Foundation.
  −
* Portions created by the Initial Developer are Copyright (C) 2006
  −
* the Initial Developer. All Rights Reserved.
  −
*
  −
* Contributor(s):
  −
*  Wil Clouser <wclouser@mozilla.com> (Original Author)
  −
*  Mike Morgan <morgamic@mozilla.com>
  −
*  Justin Scott <fligtar@gmail.com>
  −
*  Frederic Wenzel <fwenzel@mozilla.com>
  −
*
  −
* Alternatively, the contents of this file may be used under the terms of
  −
* either the GNU General Public License Version 2 or later (the "GPL"), or
  −
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  −
* in which case the provisions of the GPL or the LGPL are applicable instead
  −
* of those above. If you wish to allow use of your version of this file only
  −
* under the terms of either the GPL or the LGPL, and not to allow others to
  −
* use your version of this file under the terms of the MPL, indicate your
  −
* decision by deleting the provisions above and replace them with the notice
  −
* and other provisions required by the GPL or the LGPL. If you do not delete
  −
* the provisions above, a recipient may use your version of this file under
  −
* the terms of any one of the MPL, the GPL or the LGPL.
  −
*
  −
* ***** END LICENSE BLOCK ***** */
  −
 
  −
 
  −
 
  −
/**
  −
* Global configuration document.
  −
*
  −
* This document covers both the CakePHP based site (/site) and its service scripts.
  −
* Unless otherwise noted, trailing slashes should not be used.
  −
* @package amo
  −
*/
  −
 
  −
/**
  −
* Site URL
  −
* Example: http://addons.mozilla.org
  −
  * Example: http://khan-vm.mozilla.org (dev)
  −
* Example of getting a full controller url:
  −
*    echo SITE_URL.$html->url('/users/register');
  −
* Will default to http://addons.mozilla.org unless defined below
  −
  */
  −
// define('SITE_URL', '');
     −
/**
+
== Optional steps ==
* Services URL.
  −
* Example: http://addons.mozilla.org/services
  −
* Example: http://khan-vm.mozilla.org/amo/services (dev)
  −
*/
  −
define('SERVICE_URL','http://activities.sugarlabs.org');
  −
 
  −
/**
  −
* Site State
  −
* Example: production
  −
* Example: staging
  −
* Example: dev
  −
* All uses should default to dev
  −
*/
  −
define('SITE_STATE', 'dev');
  −
  −
/**
  −
* Files
  −
* The application uses these paths to piece together the URL for files.
  −
*
  −
* HOST and URL are separated because CakePHP has $html->webroot, and only appends
  −
* FILES_URL while the services need both since it doesn't have
  −
* Cake's context.
  −
*
  −
* No trailing slashes.
  −
*/
  −
 
  −
/**
  −
* Host, including http://.  Should be everything leading up to addon ids.
  −
* Example: http://releases.mozilla.org/addons
  −
  */
  −
define('FILES_HOST', 'http://activities.sugarlabs.org');     
  −
 
  −
/**
  −
* Relative web path of the files directory.  Tacking this on to FILES_HOST should get you
  −
* the complete URL where your files are. This is the location of the downloads controller
  −
* and it should not normally need to be changed, the default is set in constants.php,
  −
* and shown commented out here.
  −
*
  −
* Example: downloads/file
  −
*/
  −
define('FILES_URL', 'downloads');
  −
 
  −
/**
  −
* File path for storing XPI/JAR files (or any files associated with an add-on).
  −
* Example: /data/www/app/webroot/files
  −
*/
  −
define('REPO_PATH', '/var/www/files');
  −
 
  −
/**
  −
* File path for storing public files to be rsynced for updates
  −
* If left commented out, files will not be copied there and will use only REPO_PATH
  −
*/
  −
//define('PUBLIC_STAGING_PATH', '');
  −
 
  −
/**
  −
* The path to the gnu diff program (or any diff program able to create a unified diff).
  −
* If left commented out, it will use the xdiff package
  −
*/
  −
//define('DIFF_PATH', '/usr/bin/diff');
  −
 
  −
/**
  −
* This is the number of seconds for which repeat downloads will not
  −
* be counted, since Firefox does multiple gets during a single install process.
  −
*/
  −
define('DL_COUNT_DELAY', '10');
  −
 
  −
/**
  −
* Path to directory where detailed logfiles are kept. Files will be created in
  −
* this directory in the format: {DETAILED_LOG_PATH}/Y-M-D.txt
  −
*/
  −
//define('DETAILED_LOG_PATH', '');
  −
 
  −
/**
  −
* Path to directory for misc. AMO storage accessible by all webheads.
  −
*/
  −
define('NETAPP_STORAGE', '');
  −
 
  −
/**
  −
* Facebook Configuration
  −
*/
  −
// Whether the Facebook controller is enabled
  −
define('FB_ENABLED', 'false');
  −
 
  −
// Facebook API keys
  −
define('FB_API_KEY', '');
  −
define('FB_API_SECRET', '');
  −
 
  −
// Facebook App URL
  −
define('FB_URL', 'http://apps.facebook.com/add-ons');
  −
 
  −
// Facebook Image site - where images are pulled from
  −
define('FB_IMAGE_SITE', 'https://addons.mozilla.org');
  −
 
  −
// Facebook Install site - where the add-on install page goes
  −
define('FB_INSTALL_SITE', 'https://addons.mozilla.org');
  −
 
  −
// Facebook Bounce Percentage - percent of hits to bounce
  −
//define('FB_BOUNCE_PERCENTAGE', 0);
  −
 
  −
/**
  −
* Database configuration.
  −
*/
  −
 
  −
/**
  −
* DB_USER, DB_PASS, DB_NAME, DB_HOST, DB_PORT
  −
* This database has read/write capabilities.  Host and port default to localhost and 3306.
  −
*/
  −
define('DB_USER','remora');
  −
define('DB_PASS','remora');
  −
define('DB_NAME','remora');
  −
 
  −
/**
  −
* SHADOW_DB_USER, SHADOW_DB_PASS, SHADOW_DB_NAME, SHADOW_DB_HOST, SHADOW_DB_PORT
  −
* Array of shadow databases that have read-only access.
  −
* - If left alone, will default to DB_* above.
  −
* - DB_WEIGHTs must sum to 1. i.e., a weight of 0 will never get hit, a weight
  −
*  of .50 will get hit half of the time, and a weight of 1 will always get hit.
  −
* - The array keys need not be numeric and could be used for descriptive purposes
  −
*  that would appear in the monitor script.
  −
*/
  −
global $shadow_databases;
  −
$shadow_databases = array(
  −
    0 => array(
  −
        'DB_HOST' => '',
  −
        'DB_PORT' => 3306,
  −
        'DB_NAME' => '',
  −
        'DB_USER' => '',
  −
        'DB_PASS' => '',
  −
        'DB_WEIGHT' => 0
  −
    )
  −
);
  −
 
  −
/**
  −
* TEST_DB_USER, TEST_DB_PASS, TEST_DB_NAME, TEST_DB_HOST, TEST_DB_PORT
  −
* The test database.  All fields default to their DB_* counterparts, except
  −
* for TEST_DB_NAME, which is DB_NAME . "-test".
  −
*/
  −
 
  −
/**
  −
* memcache configuration.
  −
*
  −
* The memcache_config array lists all possible memcached servers to use in case the default server does not have the appropriate key.
  −
*/
  −
global $memcache_config;
  −
$memcache_config = array(
  −
    'localhost' => array(
  −
      'port' => '11211',
  −
      'persistent' => true,
  −
      'weight' => '1',
  −
      'timeout' => '1',
  −
      'retry_interval' => 15
  −
    )
  −
);
  −
 
  −
/**
  −
* Recaptcha (recaptcha.net) configuration
  −
*/
  −
define('RECAPTCHA_ENABLED', false);
  −
define('RECAPTCHA_PRIVATE_KEY', '...');
  −
define('RECAPTCHA_PUBLIC_KEY', '...');
  −
 
  −
/**
  −
* Compatibility Center Versions
  −
*/
  −
define('COMPAT_DEFAULT_VERSION', '3.1');
  −
global $compatibility_versions;
  −
$compatibility_versions = array(
  −
    '3.0', '3.1'
  −
);
  −
 
  −
?>
  −
</nowiki></pre>
  −
 
  −
====Edit config-local.php====
  −
 
  −
<code>
  −
vim /var/www/site/app/config/config-local.php
  −
</code>
  −
 
  −
<code>
  −
<?php
  −
define('DEBUG', 1);
  −
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.
  −
 
  −
====Create download directory====
  −
 
  −
<code>
  −
mkdir /var/www/downloads
  −
chown -R apache:apache /var/www/downloads
  −
</code>
  −
 
  −
====Create repo directories====
  −
 
  −
<code>
  −
mkdir /var/www/files
  −
mkdir /var/www/files/temp
  −
mkdir /var/www/files/extracted
  −
chown -R apache:apache /var/www/files
  −
</code>
  −
 
  −
=== Optional steps ===
      
====Install php-memcache====
 
====Install php-memcache====
Line 436: Line 110:  
  chkconfig --levels 235 httpd on
 
  chkconfig --levels 235 httpd on
 
</code>
 
</code>
  −
  −
===Test activities.sugarlabs.org===
  −
  −
Open activities.sugarlabs.org in firefox.<br>
  −
If you followed [[#Auto mode]] section use
  −
''login'' admin@sugarlabs.org
  −
''password'' test
  −
  −
To run tests open activities.sugarlabs.org/tests?case=installation.test.php in firefox.
      
== TODO ==
 
== TODO ==

Navigation menu