Our main target deployment platform is the latest version of CentOS (currently 6.4). That's why we also develop on the same OS. Developing on other Linux distributions or other versions shouldn't be a problem, but if you don't have other preferences, developing on the latest CentOS is a good practical default (ie. doing so and following this documentation would probably mean things will just work).
o python (we are currently using 2.6)
o Gcc
o Mercurial
o Virtualenv
o MySQL (mysql-server, mysql, mysql-devel, MySQL-python)
o libxslt-devel, libxml2-devel
o RabbitMQ (and Erlang)
To install the dependencies on CentOS (tested on 6.4):
o Python is installed by default.
o For all the other dependencies but RabbitMQ, with the EPEL repository enabled:
# yum install gcc mercurial python-virtualenv postgresql-devel mysql-server mysql mysql-devel MySQL-python libxslt-devel libxml2-devel
o To install RabbitMQ follow the instructions at:
http://www.rabbitmq.com/install-rpm.html
To install the dependencies on Ubuntu (tested on 13.4):
o Python is installed by default.
o For all the other dependencies but RabbitMQ:
$ sudo apt-get install gcc mercurial python-dev python-virtualenv libpq-dev mysql-server mysql-client libxml2-dev libxslt-dev python-mysqldb libmysqlclient-dev
o To install RabbitMQ follow the instructions at:
http://www.rabbitmq.com/install-debian.html
After you've installed all dependencies, make sure you start MySQL and RabbitMQ
On CentOS:
# service mysqld start
On Ubuntu
# service mysql start
# service rabbitmq-server start
Create a development and test database in MySQL for Yabi:
$ mysql -uroot -e "create database dev_yabi default charset=UTF8;"
$ mysql -uroot -e "create database test_yabi default charset=UTF8;"
To run Yabi you need to start Yabi Admin and the Yabi Admin Celery server.
All this components can be controlled from the top level directory using 'develop.sh'.
$ ./develop.sh
To create virtual pythons for running a local development stack:
$ ./develop.sh install
To start:
$ ./develop.sh start
To stop:
$ ./develop.sh stop
http://127.0.0.1:8000/ - username:demo password:demo
For admin access: use username:admin password:admin
NB: Logging into Admin as the admin user will log you out as the demo user.
Yabi has an end to end test suite for testing the full Yabi stack. o For the Torque tests you will need a working Torque installation o For the PBS Pro tests you will need a working PBS Pro installation o For the ssh tests, add tests/test_data/yabitests.pub to ~/.ssh/authorized_keys
$ ./develop.sh test_mysql