.. index:: installation ======= Install ======= Working Environment =================== You have several options in setting up your working environment. We recommend using virtualenv to separate the dependencies of your project from your system's python environment. If on Linux or Mac OS X, you can also use virtualenvwrapper to help manage multiple virtualenvs across different projects. .. index:: virtualenv Virtualenv Only --------------- First, make sure you are using `virtualenv`_. Once that's installed, create your virtualenv: .. code-block:: sh $ virtualenv --distribute gvaldap .. _virtualenv: https://virtualenv.pypa.io/en/latest/ You will also need to ensure that the virtualenv has the project directory added to the path. Adding the project directory will allow `django-admin.py` to be able to change settings using the `--settings` flag. .. index:: virtualenvwrapper Virtualenv with virtualenvwrapper ------------------------------------ In Linux and Mac OSX, you can install `virtualenvwrapper `_, which will take care of managing your virtual environments and adding the project path to the `site-directory` for you: .. code-block:: sh $ mkdir gvaldap $ mkvirtualenv -a gvaldap gvaldap-dev $ cd gvaldap && add2virtualenv `pwd` .. index:: pip, requirements, dependencies Installation of Dependencies ============================= Depending on where you are installing dependencies: In development: .. code-block:: sh $ pip install -r requirements/local.txt For production: .. code-block:: sh $ pip install -r requirements.txt .. index:: celery, worker, ldap queue Running the Celery worker ========================= gvaldap uses the `Celery`_ distributed task queue system. The gvaldap logix is executed by a celery worker. After all dependencies are installed you can go into the gvaldap directory and run the celery worker with: .. code-block:: sh $ cd gvaldap $ celery -A gvaldap worker -Q ldap -l info .. _Celery: http://www.celeryproject.org/