~saprativejana/mailman/installation_guide

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
================================
Set up Postorius in five minutes
================================

This is a quick guide for setting up a development environment to work on
Mailman 3's web UI, called Postorius.  If all goes as planned, you should be
done within 5 minutes.  This has been tested on Ubuntu 11.04.

In order to download the components necessary you need to have the `Bazaar`_
version control system installed on your system.  Mailman requires Python 3.4,
while mailman.client needs at least Python version 2.6.

It's probably a good idea to set up a virtual Python environment using
`virtualenv`_.  `Here is a brief HOWTO`_.  You would need two separate virtual
environment one using Python version 2.6 or 2.7 (for Postorius and
mailman.client) and other using Python version 3.4 (for Mailman core).

.. _`virtualenv`: http://pypi.python.org/pypi/virtualenv
.. _`Here is a brief HOWTO`: ./ArchiveUIin5.html#get-it-running-under-virtualenv
.. _`Bazaar`: http://bazaar.canonical.com/en/


GNU Mailman 3
=============

First download the latest revision of Mailman 3 from Launchpad.
::

  $(py3) bzr branch lp:mailman

Install the Core::

  $(py3) cd mailman
  $(py3) python setup.py develop

If you get no errors you can now start Mailman::

  $(py3) mailman start
  $(py3) cd ..

At this point Mailman will not send nor receive any real emails.  But that's
fine as long as you only want to work on the components related to the REST
client or the web ui.


mailman.client (the Python bindings for Mailman's REST API)
===========================================================

Now you should switch to the virtual environment running Python version 2.6 or
2.7.  Download the client from Launchpad::

  $(py2) bzr branch lp:mailman.client

Install in development mode to be able to change the code without working
directly on the PYTHONPATH.
::

  $(py2) cd mailman.client
  $(py2) python setup.py develop
  $(py2) cd ..


Postorius
=========

::

  $(py2) bzr branch lp:postorius
  $(py2) cd postorius
  $(py2) python setup.py develop


Start the development server
============================

Postorius is a Django app which can be used with any Django project.  We have
a project already developed which you can set up like this::

  $(py2) bzr branch lp:~mailman-coders/postorius/postorius_standalone
  $(py2) cd postorius_standalone
  $(py2) python manage.py syncdb
  $(py2) python manage.py runserver

The last command will start the dev server on http://localhost:8000.


A note for MacOS X users (and possibly others running python 2.7)
=================================================================

*Note: These paragraphs are struck-through on the Mailman wiki.*

On an OS X 10.7 (Lion) system, some of these steps needed to be modified to
use python2.6 instead of python. (In particular, bzr is known to behave badly
when used python2.7 on OS X 10.7 at the moment -- hopefully this will be fixed
and no longer an issue soon.)

You will need to install the latest version of XCode on MacOS 10.7, which is
available for free from the App Store.  If you had a previous version of XCode
installed when you upgraded to 10.7, it will no longer work and will not have
automatically been upgraded, so be prepared to install again.  Once you have
it installed from the App Store, you will still need to go run the installer
from ``/Applications`` to complete the installation.