Perfomatic/Installation
Get the Code
- Checkout the latest code from http://hg.mozilla.org/graphs/
- Mercurial Install Info
Server Requirements
- Python 2.?
- Apache 2.x + mod_python
- mod_rewrite
- MySQL 5.x
- memcached (someday)
- python modules:
- pysqlite2 (python-sqlite2)
- MySQLdb (MySQL-python)
Set Up Database
Configure Application
- DB config
# Set up mysql5 (if necessary) and create a database sudo port install mysql5 # follow directions and complete installation echo "create database o_graphs; grant all privileges on o_graphs.* to o@'localhost' identified by 'o';" | mysql5 -uroot mysql5 -uroot o_graphs < sql/schema.sql
- Apache
- Set vhost dir to the root hg directory.
- set cgi-bin to hgroot/server
Creating Test Data
- Link to script to populate test data and instructions on how to use it
- Import sql/test_data.sql
- This has some test data, enough for listing tests and 1 graph
- DHTML on Linux bl-bldlnx01-18_linux, 1.8 branch
FAQ
- How do we get the right version of pysqlite2 off of fink for OSX? (use MySQL?)
- I just grabbed the source: http://oss.itsystementwicklung.de/trac/pysqlite/ Command-line installation (python setup.py install) worked fine -- coop
- Installing the required python MySQL packages is almost impossible (still working on it (Ryan))
- not impossible. You've got two options AFAICT.
- using MacPorts: if you've installed a version of MySQL using MacPorts, you should simply be able to do a
port install py-mysql
orport install py25-mysql
. I haven't tested this personally because I was working from source (I already have a custom MySQL built here for Litmus work), but I did see those ports in the list when I was trying to figure this setup out. - from source: Source can be found here: http://sourceforge.net/project/showfiles.php?group_id=22307 Instructions for building (some source mods are required): http://www.keningle.com/?p=11 -- coop
- using MacPorts: if you've installed a version of MySQL using MacPorts, you should simply be able to do a
- Note I ran into a failure to build sqlite3 which trying to install apache from macports. This fixed it for me http://www.nabble.com/sqlite3-build-failure-td16129072.html
- not impossible. You've got two options AFAICT.
Build Graph Stage Server
- For reference we can look at bm-buildgraph01
- ip: 10.2.74.15
- /var/www/html/graphs
- /var/www/html/graphs/g2
- if needed, grab the mysql dump from stage (6GB mysql dump, too large for normal use)
Mac OS X installation of CVS version
# Install MacPorts (http://macports.org/)
# Install and select python 2.5 sudo port install python25 sudo port install python_select sudo python_select python25 sudo port install py25-mysql
# Get the graph server source from CVS cd ~/devel cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -d graphs-cvs mozilla/webtools/new-graph
# Link the checkout into your home ~/Sites/ ln -s `pwd`/graphs-cvs ~/Sites/
# Install pysqlite2, required in some spots and handy to have. curl -O http://oss.itsystementwicklung.de/download/pysqlite/2.4/2.4.1/pysqlite-2.4.1.tar.gz tar -zxf pysqlite-2.4.1.tar.gz cd pysqlite-2.4.1 sudo python setup.py install
# Set up mysql5 (if necessary) and create a database sudo port install mysql5 # follow directions and complete installation echo "create database o_graphs; grant all privileges on o_graphs.* to o@'localhost' identified by 'o';" | mysql5 -uroot mysql5 -uroot o_graphs < sql/schema.sql
# Get apache2 up and running sudo port install apache2 # # Ensure sure .cgi is recognized to CGI scripts # Uncomment line 383: # AddHandler cgi-script .cgi # # Ensure that userdir_module is enabled, around line 113 of /opt/local/apache2/conf/httpd.conf # # Ensure that ExecCGI and FollowSymLinks options are enabled in /opt/local/apache2/conf/extra/httpd-userdir.conf # # Be sure to disable Apple's apache and switch to MacPorts' sudo /usr/sbin/apachectl stop sudo /opt/local/apache2/bin/apachectl start
# Import some data (this needs expanding) mkdir data curl http://build-graphs.mozilla.org/db/dhtml/bl-bldlnx01_fx-linux-tbox-head > data/sample1.txt chmod +x utils/import.py ./utils/import.py foo bar baz quux < data/sample1.txt # See also: ./utils/pull.sh
# visit http://localhost/~username/graphs-cvs/graph.html