Differences between revisions 3 and 7 (spanning 4 versions)
Revision 3 as of 2016-03-08 21:00:44
Size: 2312
Editor: SimonHanna
Comment: Add link to detailed instructions on readthedocs.org
Revision 7 as of 2016-03-11 14:17:34
Size: 2954
Editor: SimonHanna
Comment: Add note about reading git instructions first
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
{{{#!wiki caution
Note that this guide assumes you read the [[DEV/HowToContributeGit|git instructions]] and set up your Gitlab account properly.
}}}
Line 13: Line 17:
mkdir -p ~/dev/mailman $ mkdir -p ~/dev/mailman
Line 18: Line 22:
cd ~/dev/mailman
virtualenv -p /usr/bin/python3 venv3
virtualenv -p /usr/bin/python2 venv2
$ cd ~/dev/mailman
$ virtualenv -p /usr/bin/python3 venv3
$ virtualenv -p /usr/bin/python2 venv2
Line 30: Line 34:
cd ~/dev/mailman
git clone git@gitlab.com:mailman/mailman.git
source venv3/bin/activate
cd mailman
mailman setup.py develop
deactivate
$ cd ~/dev/mailman
$ git clone git@gitlab.com:mailman/mailman.git
$ source venv3/bin/activate
$ cd mailman
$ python setup.py develop
$ deactivate
Line 42: Line 46:
cd ~/dev/mailman
git clone git@gitlab.com:mailman/mailmanclient.git
source venv2/bin/activate
cd mailmanclient
python setup.py develop
deactivate
$ cd ~/dev/mailman
$ git clone git@gitlab.com:mailman/mailmanclient.git
$ source venv2/bin/activate
$ cd mailmanclient
$ python setup.py develop
$ deactivate
Line 55: Line 59:
cd ~/dev/mailman
git clone git@gitlab.com:mailman/postorius.git
source venv2/bin/activate
cd postorius
python setup.py develop
deactivate
$ cd ~/dev/mailman
$ git clone git@gitlab.com:mailman/postorius.git
$ source venv2/bin/activate
$ cd postorius
$ python setup.py develop
$ deactivate
Line 68: Line 72:
cd ~/dev/mailman
git clone git@gitlab.com:mailman/hyperkitty.git
source venv2/bin/activate
cd hypkerkitty
python setup.py develop
deactivate
$ cd ~/dev/mailman
$ git clone git@gitlab.com:mailman/hyperkitty.git
$ source venv2/bin/activate
$ cd hyperkitty
$ python setup.py develop
$ deactivate
Line 77: Line 81:
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.
Line 78: Line 84:
cd ~/dev/mailman
git clone git@gitlab.com:mailman/hyperkitty_standalone.git
git clone git@gitlab.com:mailman/postorius_standalone.git
$ cd ~/dev/mailman
$ git clone git@gitlab.com:mailman/hyperkitty_standalone.git
$ git clone git@gitlab.com:mailman/postorius_standalone.git
Line 83: Line 89:
To run any of the django projects To run either of the django projects
Line 86: Line 92:
cd ~/dev/mailman
source venv2/bin/activate
cd postorius_standalone
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
$ cd ~/dev/mailman
$ source venv2/bin/activate
$ cd postorius_standalone
# 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
Line 94: Line 102:
Hyperkitty is setup the same way as postorius. Hyperkitty is setup the same way as Postorius (but in hyperkitty_standalone).

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

Note that this guide assumes you read the git instructions and set up your Gitlab account properly.

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

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

Postorius

Detailed instructions can be found at readthedocs.org.

Make sure to install mailmanclient 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 first!

$ cd ~/dev/mailman
$ git clone git@gitlab.com:mailman/hyperkitty.git
$ source venv2/bin/activate
$ cd hyperkitty
$ python setup.py develop
$ deactivate

Django projects

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.

$ cd ~/dev/mailman
$ git clone git@gitlab.com:mailman/hyperkitty_standalone.git
$ git clone git@gitlab.com:mailman/postorius_standalone.git

To run either of the django projects

$ cd ~/dev/mailman
$ source venv2/bin/activate
$ cd postorius_standalone
# 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_standalone).

MailmanWiki: DEV/SetupDevEnvironment (last edited 2018-05-14 15:15:45 by terri)