Installation¶
Requirements¶
Get Modoboa¶
You can choose between two options:
- Use the Python package available on the PyPI
- Download the sources tarball
The easiest one is to install it from PyPI. Just run the following command and you’re done:
$ pip install modoboa
If you prefer to use the tarball, download the latest one and run the following procedure:
$ tar xzf modoboa-<version>.tar.gz
$ cd modoboa-<version>
$ python setup.py install
All dependencies will be installed regardless the way you chose. The only exception concerns the RRDtool binding because there isn’t any python package available, it is directly provided with the official tarball.
Fortunately, all major distributions include a ready-to-use package. On Debian/Ubuntu:
$ apt-get install libcairo2-dev libpango1.0-dev librrd-dev
$ apt-get install python-rrdtool
virtualenv users¶
When you deploy an application using virtualenv, you may have to compile some dependencies. For example, modoboa relies on lxml, which is a C python module. In order to install it, you will need to install the following requirements:
- python development files
- libxslt development files
- libxml2 development files
- libz development files
On a Debian like system, just run the following command:
$ apt-get install python-dev libxml2-dev libxslt-dev zlib1g-dev
Database¶
Thanks to Django, Modoboa supports several databases. Depending on the one you will use, you must install the appropriate python package:
- mysqldb for MySQL
- psycopg2 for PostgreSQL
Then, create a user and a database that will be used by Modoboa. Make sure your database is using UTF8 as a default charset.
Deployment¶
modoboa-admin.py, a command line tool, let you deploy a ready-to-use Modoboa site using only one instruction:
$ modoboa-admin.py deploy modoboa_example --syncdb --collectstatic [--with-amavis] [--dburl database-url] [--amavis_dburl database-url]
Just answer the few questions and you’re done. You can now go to the First use section.
Note
The –with-amavis option must be set only if you intend to use the Amavisd-new frontend.
In case you need a silent installation, e.g. if you’re using Salt-Stack. It’s possible to supply the database credentials as commandline arguments.
Note
–dburl database-url for the modoboa database credentials –amavis_dburl database-url for the amavis database credentials
Your database-url should meet the following syntax: scheme://[user:pass@][host:port]/dbname
or
sqlite:////full/path/to/your/database/file.sqlite
Available schemes are: * postgres * postgresql * postgis * mysql * mysql2 * sqlite
Note
If you plan to serve Modoboa using a URL prefix, you must change the value of the LOGIN_URL parameter to LOGIN_URL = '/<prefix>/accounts/login/'.
First use¶
Your installation should now have a default super administrator:
- Username: admin
- Password: password
It is strongly recommended to change this password the first time you log into Modoboa.
To check if your installation works, just launch the embedded HTTP server:
$ python manage.py runserver
You should be able to access Modoboa at http://localhost:8000/.
For a fully working interface using the embedded HTTP server, you need to set the DEBUG parameter in settings.py to True.
For a production environment, we recommend using a stable webserver like Apache2 or Nginx. Don’t forget to set DEBUG back to False.