~saprativejana/mailman/installation_guide

« back to all changes in this revision

Viewing changes to src/mailman/doc/START.rst

  • Committer: saprativejana at gmail
  • Date: 2015-03-08 21:09:34 UTC
  • Revision ID: saprativejana@gmail.com-20150308210934-z5p7d9dxa6ji78gb
install_doc

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
---------------------------------------------------------------------INSTALLATION GUIDE---------------------------------------------------------------
 
2
 
 
3
 
 
4
This is a quick guide to setup a development environment to work on Postorius, Mailman 3's web UI (and, in the process, install the core Mailman engine and Mailman.client as well). If all goes as planned, you should be done within ~5 minutes. This has been tested on Ubuntu 11.04 and OS X 10.8.1.  Please note that the Python provided by apple for OSX will not work; you need to install your own version of python (e.g. using fink or macports). The Mac Mailman development setup guide has instructions using homebrew if you need additional instructions.
 
5
 
 
6
Packages to be installed
 
7
 
 
8
bzr python-dev python-virtualenv build-essential postfix
 
9
 
 
10
For Ubuntu users: sudo apt-get install bzr python-dev python-virtualenv build-essential postfix
 
11
 
 
12
For Mac user: Go to http://wiki.list.org/DEV/Mac%20Mailman%20development%20setup%20guide
 
13
 
 
14
-----------------------------------------------------------------------------------------------------------------------------------------------------
 
15
 
 
16
Virtual Environment
 
17
 
 
18
Install virtualenv via pip:
 
19
 
 
20
$ pip install virtualenv
 
21
 
 
22
Basic Usage
 
23
 
 
24
Create a virtual environment for a project:
 
25
$ cd my_project_folder
 
26
$ virtualenv venv
 
27
 
 
28
virtualenv venv will create a folder in the current directory which will contain the Python executable files, and a copy of the pip library which you can use to install other packages. The name of the virtual environment (in this case, it was venv) can be anything; omitting the name will place the files in the current directory instead.
 
29
 
 
30
This creates a copy of Python in whichever directory you ran the command in, placing it in a folder named venv.
 
31
 
 
32
You can also use a Python interpreter of your choice.
 
33
 
 
34
$ virtualenv -p /usr/bin/python2.7 venv
 
35
 
 
36
This will use the Python interpreter in /usr/bin/python2.7
 
37
 
 
38
To begin using the virtual environment, it needs to be activated:
 
39
 
 
40
$ source venv/bin/activate
 
41
 
 
42
The name of the current virtual environment will now appear on the left of the prompt (e.g. (venv)Your-Computer:your_project UserName$) to let you know that it’s active. From now on, any package that you install using pip will be placed in the venv folder, isolated from the global Python installation.
 
43
 
 
44
Install packages as usual, for example:
 
45
 
 
46
$ pip install requests
 
47
 
 
48
If you are done working in the virtual environment for the moment, you can deactivate it:
 
49
$ deactivate
 
50
This puts you back to the system’s default Python interpreter with all its installed libraries.
 
51
 
 
52
To delete a virtual environment, just delete its folder. (In this case, it would be rm -rf venv.)
 
53
 
 
54
For more info go to: http://docs.python-guide.org/en/latest/dev/virtualenvs/
 
55
 
 
56
-------------------------------------------------------------------------------------------------------------------------------------------------------
 
57
 
 
58
Get the sources
 
59
 
 
60
(venv)$ bzr branch lp:mailman
 
61
(venv)$ bzr branch lp:mailman.client
 
62
(venv)$ bzr branch lp:postorius
 
63
(venv)$ bzr branch lp:~mailman-coders/postorius/postorius_standalone
 
64
 
 
65
If you get permission errors on this step, your ssh key is probably not in sync with what is on launchpad.net.
 
66
 
 
67
------------------------------------------------------------------------------------------------------------------------------------------------------
 
68
 
 
69
GNU Mailman 3
 
70
 
 
71
Mailman 3 sould be installed using python 3.4
 
72
 
 
73
$virtualenv -p /usr/bin/python3.4 venv #for using python 3.4
 
74
 
 
75
(venv)$ cd mailman 
 
76
(venv)$ python setup.py install
 
77
 
 
78
If you get no errors you can now start Mailman:
 
79
 
 
80
(venv)$ mailman start
 
81
(venv)$ cd ..
 
82
 
 
83
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.
 
84
 
 
85
------------------------------------------------------------------------------------------------------------------------------------------------------
 
86
 
 
87
mailman.client (the Python bindings for Mailman's ReST API)
 
88
 
 
89
mailman.client sould be installed using python 2.7
 
90
 
 
91
$virtualenv -p /usr/bin/python2.7 venv #for using python 2.7
 
92
 
 
93
(venv)$ cd mailman.client
 
94
(venv)$ python setup.py develop
 
95
(venv)$ cd ..
 
96
 
 
97
-------------------------------------------------------------------------------------------------------------------------------------------------------
 
98
 
 
99
Postorius
 
100
 
 
101
Postorius sould be installed using python 2.7
 
102
 
 
103
$virtualenv -p /usr/bin/python2.7 venv #for using python 2.7
 
104
 
 
105
(venv)$ cd postorius
 
106
(venv)$ python setup.py develop
 
107
(venv)$ cd ..
 
108
 
 
109
------------------------------------------------------------------------------------------------------------------------------------------------------
 
110
 
 
111
Start the development server
 
112
 
 
113
Postorius sould be installed using python 2.7
 
114
 
 
115
$virtualenv -p /usr/bin/python2.7 venv #for using python 2.7
 
116
 
 
117
(venv)$ cd postorius_standalone
 
118
(venv)$ python manage.py syncdb
 
119
(venv)$ python manage.py runserver
 
120
 
 
121
------------------------------------------------------------------------------------------------------------------------------------------------------
 
122
Profit!
 
123
 
 
124
Now go to http://localhost:8000 to see the web UI for mailman!
 
125
 
 
126
For hyperkitty installation: https://fedorahosted.org/hyperkitty/wiki/DevelopmentSetupGuide
 
127
 
 
128
------------------------------------------------------------------------------------------------------------------------------------------------------