diff options
Diffstat (limited to 'doc/installation.rst')
-rw-r--r-- | doc/installation.rst | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/doc/installation.rst b/doc/installation.rst new file mode 100644 index 0000000..9f16ff0 --- /dev/null +++ b/doc/installation.rst @@ -0,0 +1,98 @@ +.. _installation: + +============== +How to install +============== + +You can install Tipboard on a variety of sensible operating systems. This guide +assumes **Ubuntu Server 12.04 LTS** and presents shell command examples +accordingly. + +Prerequisites +------------- + +Tipboard requires Python 2.7 which can be installed with this command:: + + $ sudo apt-get install python-dev python-virtualenv + +Another dependency which needs to be satisfied before proceeding further is +`Redis <http://redis.io/>`_ server:: + + $ sudo apt-get install redis-server + +Optional yet recommended packages +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +One of such packages is ``supervisor`` - it facilitates program administration +(e.g. its reboot), especially if there are a few instances launched on the +machine. + +Based on the Tornado framework, Tipboard has a built-in server available, but +a typical use case assumes communication with the world via reverse proxy (e.g. +using ``nginx`` or ``apache``). + +.. note:: + + Although configuration of reverse proxy is out of scope of this manual, we + would like to emphasise that Tipboard use Web Sockets – a relatively new + mechanism – and thus you should ensure a server in a version that will + support it (e.g. ``nginx`` >= 1.3.13 or ``apache2`` >= 2.4.6). By default + Ubuntu 12.04 offers older versions – you may then use backports. + +.. note:: + + It will be useful to have an updated version of ``pip`` (i.e. >= 1.4) and + ``virtualenv`` (i.e. >= 1.10). + +Preparing environment for installation +-------------------------------------- + +Start by creating a user, the privileges of whom will be used by the +application (for the needs of this manual, let's create the user "pylabs"):: + + $ sudo adduser pylabs --home /home/pylabs --shell /bin/bash + $ sudo su - pylabs + +Virtual environment +~~~~~~~~~~~~~~~~~~~ + +Continue by creating a virtual environment that will help you conveniently +separate your instance from what you already have installed in the system +(let's say we name it "tb-env"):: + + $ cd /home/pylabs + $ virtualenv tb-env + +Activate the created virtual environment with the following command:: + + $ source /home/pylabs/tb-env/bin/activate + +.. note:: + + It is worth saving the above line in the ``~/.profile`` file. As a result, + the virtual environment will be activated automatically whenever you log in + on the machine. + +.. note:: + + Further setup assumes an activated virtual environment, which is denoted by + ``(tb-env)`` prefix in your shell prompt. + +Installing with pip +------------------- + +After creating and activating virtualenv, install the latest (current) version +of Tipboard package available on pypi ("Python Package Index") with the +following command:: + + (tb-env)$ pip install tipboard + +Verification +------------ + +To verify if installation has been successful, launch this command:: + + (tb-env)$ tipboard runserver + +If you see the message "Listening on port..." instead of errors, it means that +installation was successful and you may proceed to the next section. |