QA/Sync/Sync Server Install Ubuntu: Difference between revisions

From MozillaWiki
< QA‎ | Sync
Jump to navigation Jump to search
(Created page with "= Notes for Installing Sync Server on Ubuntu 10.04 or 10.10 64bit with Python 2.6.5 = REF: http://docs.services.mozilla.com/howtos/run-sync.html == General Notes == * The "Build...")
 
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
Back To ==> [[QA/Browser_Technologies/Services | Mozilla BT Services]]
Note: This site has been deprecated. See the following links:
https://wiki.mozilla.org/QA/Sync/Sync_Server_Install_On_Ubuntu_10_04
https://wiki.mozilla.org/QA/Sync/Sync_Server_Install_On_Ubuntu_11_04
https://wiki.mozilla.org/QA/Sync/Sync_Server_Install_On_Ubuntu_11_10
= Notes for Installing Sync Server on Ubuntu 10.04 or 10.10 64bit with Python 2.6.5 =
= Notes for Installing Sync Server on Ubuntu 10.04 or 10.10 64bit with Python 2.6.5 =
REF: http://docs.services.mozilla.com/howtos/run-sync.html
REF: http://docs.services.mozilla.com/howtos/run-sync.html
Line 87: Line 95:
  Change both sqluri entries
  Change both sqluri entries
  sqluri = mysql://user:password@server/database
  sqluri = mysql://user:password@server/database
  where "user" is the current user on this install, like "mozilla" or "mozroot"
  where "user" is the current user on this install
  "password" is the mysql password for this user
  "password" is the mysql password for this user
  "server" is just localhost
  "server" is just localhost
Line 103: Line 111:
  serving on 0.0.0.0:5000 view at http://127.0.0.1:5000
  serving on 0.0.0.0:5000 view at http://127.0.0.1:5000


== Restarting MySQL after System Restart ==
= Restarting MySQL after System Restart =
* Possible lines for autostarting MySQL server on boot
* Possible lines for autostarting MySQL server on boot
  $ sudo /etc/init.d/mysqld start ## use restart after update
  $ sudo /etc/init.d/mysqld start ## use restart after update
Line 128: Line 136:
For a more technical overview of Sync Server and an introduction to Mozilla Services, please see the following documentation:  
For a more technical overview of Sync Server and an introduction to Mozilla Services, please see the following documentation:  
* http://docs.services.mozilla.com
* http://docs.services.mozilla.com
Back To ==> [[QA/Browser_Technologies/Services | Mozilla BT Services]]

Latest revision as of 23:14, 25 August 2012

Back To ==> Mozilla BT Services


Note: This site has been deprecated. See the following links:
https://wiki.mozilla.org/QA/Sync/Sync_Server_Install_On_Ubuntu_10_04
https://wiki.mozilla.org/QA/Sync/Sync_Server_Install_On_Ubuntu_11_04
https://wiki.mozilla.org/QA/Sync/Sync_Server_Install_On_Ubuntu_11_10

Notes for Installing Sync Server on Ubuntu 10.04 or 10.10 64bit with Python 2.6.5

REF: http://docs.services.mozilla.com/howtos/run-sync.html

General Notes

  • The "Building the server" steps can be repeated for each new build you want to test.
  • Once it is running, you can point to it for your own Sync server.
  • It is highly recommended that Python 2.6.6 be installed before proceeding with the Sync install.
  • Python 2.7 appears to be compatible, but the pre-packaged installer assumes 2.6.6.
  • Also, it is highly recommended that the developer tools are installed after installing Python 2.6.6.

Installing the Developer Tools

To get a full development environment on the box, do the following:

$ curl -O http://python-distribute.org/distribute_setup.py
$ sudo python2.6 distribute_setup.py
$ sudo easy_install-2.6 MoPyTools

Keeping the build logs

Run the "make build" step as follows:

$ make build 1> buildlog.log 2> builderr.err

Using Sqlite3

If sqlite3 is to be used, the server-full/etc/sync.conf file must be edited to change the default location of the temp.db file. The default location is in /tmp, which will get wiped at each system boot/restart.

Installing Sync Server, FireFox, and MySQL

  • Required packages
    • Python, python-dev, python-virtualenv
    • sqlite3 or mysql
    • mercurial
  • Run the following to make sure everything is installed:
$sudo apt-get install python-dev mercurial sqlite3 python-virtualenv
  • Verify the package installs and versions
$ which sqlite3
$ sqlite3 --version
$ which hg
$ hg --version
$ which python
$ python -V
  • Install FireFox 5.01

By default Ubuntu comes with FireFox 3.6.18 (or similar). In order to use Sync Server, FireFox 5 should be installed. The following steps are probably overkill, but they do get FireFox installed

$ sudo add-apt-repository ppa:ubuntu-mozilla-security/ppa
$ sudo add-apt-repository ppa:mozillateam/firefox-stable
$ sudo apt-get update
$ sudo apt-get upgrade
$ which firefox
  • Clone and Build the Sync Server
$ cd $home
$ hg clone https://hg.mozilla.org/services/server-full
$ cd server-full
$ make build

Start the Sync Server

  • Run the following command (see the wiki page) for more information
$ cd $home/server-full
$ bin/paster serve development.ini
or
$ nohup bin/paster serve development.ini 1>> syncserver.log 2>>syncserver.log &
While running, the Sync Server messages/events will print to STDOUT and STDERR.
This command will run the server outside of any login session and save STDOUT and STDERR to a log file.
  • If the Server is running correctly, you should see something like this
Starting server in PID 3568.
serving on 0.0.0.0:5000 view at http://127.0.0.1:5000

Installing and Using MySQL Server

Run the following commands to install and configure the necessary packages

$ sudo apt-get install mysql-server
root pwd: set the password for root
$ sudo apt-get install libmysqlclient-dev
  • Now install mysql-python
$bin/easy_install Mysql-Python
  • Enter MySQL to set up a database for the Sync Server
$ mysql -u root -p
(enter the root password set above)
mysql> CREATE DATABASE syncdb;
mysql> \quit
  • Edit the sync.conf file to use MySQL instead of sqlite3
$ cd server-full/etc
$ vi or vim or emacs sync.conf
Change both sqluri entries
sqluri = mysql://user:password@server/database
where "user" is the current user on this install
"password" is the mysql password for this user
"server" is just localhost
"database" is a default or new database for use with the Sync server

Start the Sync Server

  • Run the following command (see the wiki page) for more information
$ bin/paster serve development.ini
$ nohup bin/paster serve development.ini 1>> syncserver.log 2>>syncserver.log &
While running, the Sync Server messages/events will print to STDOUT and STDERR.
This command will run the server outside of any login session and save STDOUT and STDERR to a log file.
  • If the Server is running correctly, you should see something like this
Starting server in PID 3568.
serving on 0.0.0.0:5000 view at http://127.0.0.1:5000

Restarting MySQL after System Restart

  • Possible lines for autostarting MySQL server on boot
$ sudo /etc/init.d/mysqld start ## use restart after update
## OR ##
$ sudo service mysqld start ## use restart after update
$ sudo chkconfig --levels 235 mysqld on

Rebuilding and Deploying the Sync Server

  • Kill the Sync Server process
$ kill -9 <PID>

(Leave MySQL running)

  • Save the Sync Server directory and its contents

(this in case you want to keep various snapshots)

$ mv server-full server-full-<DATE>

(example: mv server-full server-full-08012011)

  • Repeat the build and deploy steps from above
  • Make the necessary changes in the server-full/etc/sync.conf file:
  • Change the sqluri entries
  • Restart the server using the "nohup" command from above
  • Test the service to verify everything is running correctly

For more advanced configurations, including web server support, please see the following documentation:

For a more technical overview of Sync Server and an introduction to Mozilla Services, please see the following documentation:


Back To ==> Mozilla BT Services