Skip to content
haraldschilly edited this page Apr 25, 2013 · 12 revisions

#summary basic installation description, cheat sheet for developers

Installation

  • To contribute, see below on sharing your work. To simply run a copy of the site move into a new directory and type
    git init
    git clone git@github.com:LMFDB/lmfdb.git
  • Install dependencies, i.e. you need Sage. Inside the Sage environment sage -sh:
    easy_install -U flask
    easy_install -U flask-login
    easy_install -U pymongo
    easy_install -U flask-markdown
    easy_install -U flask-cache
    easy_install -U pyyaml
  • From the command-line: sage -i gap_packages (should check if we really need gap_packages.) sage -i database_gap

  • Regarding !MathJax: No longer necessary to install !MathJax, because it is downloaded from their CDN directly!

    • old and obsolete info: get [http://www.mathjax.org/download/ the latest release or beta, i.e. v1.1+], extract, and put the resulting !MathJax directory as lmfdb/static/MathJax in your lmfdb repo.)
  • MongoDB: port forward boxen to get full database: ssh -C -N -L 37010:localhost:37010 [username@]boxen.math.washington.edu (if "boxen" doesn't work, try "mod")

    • -C for compression of communication
    • -N to not open a remote shell, just a blocking command in the shell (end connection with Ctrl-C) If you don't have access to this server, you can temporarily start your own mongodb server and use it locally. There is no data (obviously) but it will work.
    • Mongo locally: mongod --port 40000 --dbpath [db_directory] --smallfiles

Note: Inside Sage, you might have to update the setuptools first, i.e. easy_install -U setuptools

Optional Parts

  • dirichlet_conrey.pyx:
goto [https://github.com/jwbober/conrey-dirichlet-characters its github page]
download dirichlet_conrey.pyx and setup.py
run: `sage setup.py install`
if it doesn't compile, update sage's cython and then try again:
    `sage -sh`
    `easy_install -U cython`
    `exit`
  • Memcache:
   ` easy_install -U python-memcached` or even better and only possible if you have the dev headers: ` easy_install -U pylibmc `
   install *memcached* (e.g. ` apt-get install memcached `)
   run the service at 127.0.0.1:11211

Running

Once everything is setup, sage -python start-lmfdb.py should do the trick, but there can be some problems running in debug mode, so you might have omit the --debug (--debug doesn't work right now, but will soon!). Once the server is running, visit http://localhost:37777/

Maybe, you have to suppress loading of your local python libraries: sage -python -s start-lmfdb.py

If you use a local MongoDB instance, specify its port: sage -python start-lmfdb.py --debug --dbport 40000

Sharing Your Work

  • Get a (free) github account if you do not have one already
  • Login to github
  • Go to https://github.com/LMFDB/lmfdb and click on Fork in the upper right corner
  • On your machine, create a new directory and type
    git init
    git clone git@github.com:YourGithubUserId/lmfdb.git

using your own github user id.

  • Push your code to the fork.
  • Tell the lmdb mailing list that you have some new code!
Clone this wiki locally