First Indico Workshop
Hands-on: install MobileAlberto Resco Pérez
27-29 May 2013 CERN
4 ThINGSThe Indico Hacker Toolkit
A shellPython (>=2.6)VirtualenvMongoDB
Installing mongodb
$ sudo apt-get install mongodb
$ sudo brew install mongodb
Creating the Virtualenv
$ virtualenv indicomobileInstalling distribute.............done.Installing pip...............done.
$ sudo apt-get install python-virtualenv
$ sudo brew install python$ sudo pip install virtualenv
Activate virtualenv
$ cd indicomobile$ source ./bin/activate(indico-mobile)$
Install – 1st step
(indico-mobile)$ git clone http://github.com/indico/indico-mobile srcCloning into 'src'......
Resolving deltas: 100% (962/962), done.(indico-mobile)$ cd src(indico-mobile)$ pip install -r requirements.txt
Install – 2nd step – configure(indico-mobile)$ vim settings.confSERVER = 'localhost'SERVER_PORT = 8080DEBUG = FalseTIMEZONE = 'Europe/Zurich’CACHE_TTL = 3600CACHE_TYPE = 'filesystem'CACHE_DIR = '/tmp/mobilecache’MONGODB_DATABASE = 'indicomobile’SECRET_KEY = 'aaaaa’INDICO_URL = 'http://indico.cern.ch/’API_KEY = ’xxxxx’REQUEST_TOKEN_URL='http://indico.cern.ch/oauth.py/request_token'ACCESS_TOKEN_URL='http://indico.cern.ch/oauth.py/access_token'AUTHORIZE_URL='http://indico.cern.ch/oauth.py/authorize'CONSUMER_KEY='0rYfaVdoXAptxhyX4FzeqZasHvbE9R2zC5O71mbw'CONSUMER_SECRET='0Ke4vyfnhAyARYzUb8HYE4jQyZI9MWpEcdbXPbCQ'
:x
Install – 3rd step – run DB
$ sudo service mongod start
$ mongod &
Starting the Web ServerNote: This is a development server. Don’t use it in production!
Try it! http://localhost/
(indico-mobile)$ sudo python run.py* Running on http://localhost:8080/
Login to indico mobile
production
Choose a good Web ServerApache? Nginx? We use uwsgi + supervisor + nginx
$ sudo easy_install supervisor uwsgi
$ sudo apt-get install nginx
$ sudo brew install nginx
configurationMain configuration files you must check!
nginx.conf general configuration of nginxsupervisord.conf general configuration of supervisor
Edit configuration files
$ vim /etc/supervisord.conf
$ vim /etc/nginx/nginx.conf
$ vim /usr/local/etc/nginx/nginx.conf
Start the servers
$ sudo service supervisor start$ sudo service nginx start
$ sudo supervisord$ sudo nginx