Luis Gervaso e2b6c7c096 sync both linux and mac documentation
Change-Id: Id93d2035f72da036316733924f6f8b0d34ff66a9
2013-06-10 02:17:57 +02:00

4.0 KiB

Installing Manually (Mac OS)

Common Steps

double: installing; common_steps

Note

The below operations should take place underneath your <project>/etc folder.

  1. Install Homebrew

Please, follow the steps described here

  1. Install system package dependencies:

    $ brew install python --framework
    $ brew install rabbitmq

Note

To have launchd start rabbitmq at login:

ln -sfv /usr/local/opt/rabbitmq/*.plist ~/Library/LaunchAgents

Then to load rabbitmq now:

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.rabbitmq.plist

Or, if you don't want/need launchctl, you can just run:

rabbitmq-server

Start RabbitMQ:

$ rabbitmq-server

RabbitMQ 3.1.1. Copyright (C) 2007-2013 VMware, Inc.

##  ##      Licensed under the MPL.  See http://www.rabbitmq.com/
##  ##
##########  Logs: /usr/local/var/log/rabbitmq/rabbit@localhost.log
######  ##        /usr/local/var/log/rabbitmq/rabbit@localhost-sasl.log
##########

Starting broker... completed with 7 plugins.
  1. Clone the BillingStack repo off of Github:

    $ git clone https://github.com/billingstack/billingstack.git
    $ cd billingstack
  2. Setup virtualenv and Install BillingStack and it's dependencies

Note

This is to not interfere with system packages etc.

$ pip install virtualenv
$ python tools/install_venv.py
$ . .venv/bin/activate
$ python setup.py develop

Warning

ValueError: unknown locale: UTF-8.

To fix it you will have to set these environment variables in your ~/.profile or ~/.bashrc manually:

export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8

Copy sample configs to usable ones, inside the etc folder do

$ sudo cp -r etc/billingstack /etc
$ cd /etc/billingstack
$ sudo ls *.sample | while read f; do cp $f $(echo $f | sed "s/.sample$//g"); done

Note

Change the wanted configuration settings to match your environment, the file is in the /etc/billingstack folder:

$ vi /etc/billingstack/billingstack.conf

Installing Central

double: installing; central

Note

This is needed because it is the service that the API and others uses to communicate with to do stuff in the Database.

  1. See Common Steps before proceeding.
  2. Create the DB for central
$ python tools/resync_billingstack.py
  1. Now you might want to load sample data for the time being
$ python tools/load_samples.py
  1. Start the central service
$ billingstack-central

...

2013-06-09 03:51:22    DEBUG [amqp] Open OK!
2013-06-09 03:51:22    DEBUG [amqp] using channel_id: 1
2013-06-09 03:51:22    DEBUG [amqp] Channel open
2013-06-09 03:51:22     INFO [...] Connected to AMQP server on localhost:5672
2013-06-09 03:51:22    DEBUG [...] Creating Consumer connection for Service central

Installing the API

double: installing; api

Note

The API Server needs to able to talk via MQ to other services.

  1. See Common Steps before proceeding.
  2. Start the API service
$ billingstack-api

...

2013-06-09 03:52:31     INFO [eventlet.wsgi] (2223) wsgi starting up on http://0.0.0.0:9091/