Size: 2954
Comment: Add note about reading git instructions first
|
Size: 4014
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 8: | Line 8: |
There is postorius - Management Interface And Hyperkitty - Mailman Archiver |
There is Postorius - Management Interface and HyperKitty - Mailman Archiver. These also require Django Mailman3 - common Django for Postorius and HyperKitty. The core also requires the HyperKitty - Mailman plugin to communicate with HyperKitty. |
Line 13: | Line 14: |
If you want to contribute to Mailman, you should clone your own forks. You will have to change the urls shown below accordingly. |
|
Line 54: | Line 57: |
== Django Mailman3 == Django libraries and templates used by Postorius and HyperKitty. {{{ $ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/django-mailman3.git $ source venv2/bin/activate $ cd django-mailman3 $ python setup.py develop $ deactivate }}} |
|
Line 57: | Line 72: |
Make sure to install mailmanclient first! | Make sure to install mailmanclient and django-mailman3 first! |
Line 70: | Line 85: |
Make sure to install mailmanclient first! | Make sure to install mailmanclient and django-mailman3 first! |
Line 80: | Line 95: |
== HyperKitty - Mailman plugin == {{{ $ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/mailman-hyperkitty.git $ source venv3/bin/activate $ cd mailman-hyperkitty $ python setup.py develop $ deactivate }}} |
|
Line 81: | Line 106: |
These are not needed if you are going to set up the WSGI interface in a general webserver such as Apache or gunicorn. They are convenient, however, because the recommended configuration for servers exposed to the Internet does not provide debug pages. | Postorius and Hyperkitty both include example django projects which can be found in {{{ ./example_project/ }}}. They can be used to run the projects using the builtin django development server. The included settings are the recommended settings that should be used to deploy the projects. For production systems, you should use a full fledged web server such as Apache, gunicorn, uwsgi, ... Before you can run either of these projects, you need mailman running. If you followed the above steps, you can start mailman by running - |
Line 84: | Line 115: |
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/hyperkitty_standalone.git $ git clone git@gitlab.com:mailman/postorius_standalone.git |
$ cd ~/dev/mailman/mailman $ source venv3/bin/activate $ mailman start |
Line 94: | Line 125: |
$ cd postorius_standalone | $ cd postorius/example_project |
Line 102: | Line 133: |
Hyperkitty is setup the same way as Postorius (but in hyperkitty_standalone). | Hyperkitty is setup the same way as Postorius (but in hyperkitty/example_project). |
How to setup your dev environment
First you need to decide which projects you want to develop. You will most likely always need mailman-core and mailmanclient.
After that you can choose if you want to stick to the core, or you want to also develop django projects. There is Postorius - Management Interface and HyperKitty - Mailman Archiver. These also require Django Mailman3 - common Django for Postorius and HyperKitty. The core also requires the HyperKitty - Mailman plugin to communicate with HyperKitty.
Note that this guide assumes you read the git instructions and set up your Gitlab account properly.
If you want to contribute to Mailman, you should clone your own forks. You will have to change the urls shown below accordingly.
This guide assumes that you are setting everything in the directory created below:
$ mkdir -p ~/dev/mailman
And that you have two virtualenvs:
$ cd ~/dev/mailman $ virtualenv -p /usr/bin/python3 venv3 $ virtualenv -p /usr/bin/python2 venv2
Contents
Mailman Core
Detailed instructions can be found at readthedocs.org.
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/mailman.git $ source venv3/bin/activate $ cd mailman $ python setup.py develop $ deactivate
Mailman Client
Detailed instructions can be found at readthedocs.org.
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/mailmanclient.git $ source venv2/bin/activate $ cd mailmanclient $ python setup.py develop $ deactivate
Django Mailman3
Django libraries and templates used by Postorius and HyperKitty.
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/django-mailman3.git $ source venv2/bin/activate $ cd django-mailman3 $ python setup.py develop $ deactivate
Postorius
Detailed instructions can be found at readthedocs.org.
Make sure to install mailmanclient and django-mailman3 first!
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/postorius.git $ source venv2/bin/activate $ cd postorius $ python setup.py develop $ deactivate
Hyperkitty
Detailed instructions can be found at readthedocs.org.
Make sure to install mailmanclient and django-mailman3 first!
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/hyperkitty.git $ source venv2/bin/activate $ cd hyperkitty $ python setup.py develop $ deactivate
HyperKitty - Mailman plugin
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/mailman-hyperkitty.git $ source venv3/bin/activate $ cd mailman-hyperkitty $ python setup.py develop $ deactivate
Django projects
Postorius and Hyperkitty both include example django projects which can be found in ./example_project/ . They can be used to run the projects using the builtin django development server. The included settings are the recommended settings that should be used to deploy the projects. For production systems, you should use a full fledged web server such as Apache, gunicorn, uwsgi, ...
Before you can run either of these projects, you need mailman running. If you followed the above steps, you can start mailman by running -
$ cd ~/dev/mailman/mailman $ source venv3/bin/activate $ mailman start
To run either of the django projects
$ cd ~/dev/mailman $ source venv2/bin/activate $ cd postorius/example_project # After the first time, migrate is a no-op unless the Postorius DB schema changes. $ python manage.py migrate # You only need to createsuperuser once. $ python manage.py createsuperuser $ python manage.py runserver
Hyperkitty is setup the same way as Postorius (but in hyperkitty/example_project).