=== added directory 'src/mailman/doc' === added file 'src/mailman/doc/START.rst' --- src/mailman/doc/START.rst 1970-01-01 00:00:00 +0000 +++ src/mailman/doc/START.rst 2015-03-08 22:30:43 +0000 @@ -0,0 +1,128 @@ +---------------------------------------------------------------------INSTALLATION GUIDE--------------------------------------------------------------- + + +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. + +Packages to be installed + +bzr python-dev python-virtualenv build-essential postfix + +For Ubuntu users: sudo apt-get install bzr python-dev python-virtualenv build-essential postfix + +For Mac user: Go to http://wiki.list.org/DEV/Mac%20Mailman%20development%20setup%20guide + +----------------------------------------------------------------------------------------------------------------------------------------------------- + +Virtual Environment + +Install virtualenv via pip: + +$ pip install virtualenv + +Basic Usage + +Create a virtual environment for a project: +$ cd my_project_folder +$ virtualenv venv + +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. + +This creates a copy of Python in whichever directory you ran the command in, placing it in a folder named venv. + +You can also use a Python interpreter of your choice. + +$ virtualenv -p /usr/bin/python2.7 venv + +This will use the Python interpreter in /usr/bin/python2.7 + +To begin using the virtual environment, it needs to be activated: + +$ source venv/bin/activate + +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. + +Install packages as usual, for example: + +$ pip install requests + +If you are done working in the virtual environment for the moment, you can deactivate it: +$ deactivate +This puts you back to the system’s default Python interpreter with all its installed libraries. + +To delete a virtual environment, just delete its folder. (In this case, it would be rm -rf venv.) + +For more info go to: http://docs.python-guide.org/en/latest/dev/virtualenvs/ + +------------------------------------------------------------------------------------------------------------------------------------------------------- + +Get the sources + +(venv)$ bzr branch lp:mailman +(venv)$ bzr branch lp:mailman.client +(venv)$ bzr branch lp:postorius +(venv)$ bzr branch lp:~mailman-coders/postorius/postorius_standalone + +If you get permission errors on this step, your ssh key is probably not in sync with what is on launchpad.net. + +------------------------------------------------------------------------------------------------------------------------------------------------------ + +GNU Mailman 3 + +Mailman 3 sould be installed using python 3.4 + +$virtualenv -p /usr/bin/python3.4 venv #for using python 3.4 + +(venv)$ cd mailman +(venv)$ python setup.py install + +If you get no errors you can now start Mailman: + +(venv)$ mailman start +(venv)$ 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) + +mailman.client sould be installed using python 2.7 + +$virtualenv -p /usr/bin/python2.7 venv #for using python 2.7 + +(venv)$ cd mailman.client +(venv)$ python setup.py develop +(venv)$ cd .. + +------------------------------------------------------------------------------------------------------------------------------------------------------- + +Postorius + +Postorius sould be installed using python 2.7 + +$virtualenv -p /usr/bin/python2.7 venv #for using python 2.7 + +(venv)$ cd postorius +(venv)$ python setup.py develop +(venv)$ cd .. + +------------------------------------------------------------------------------------------------------------------------------------------------------ + +Start the development server + +Postorius sould be installed using python 2.7 + +$virtualenv -p /usr/bin/python2.7 venv #for using python 2.7 + +(venv)$ cd postorius_standalone +(venv)$ python manage.py syncdb +(venv)$ python manage.py runserver + +------------------------------------------------------------------------------------------------------------------------------------------------------ +Profit! + +Now go to http://localhost:8000 to see the web UI for mailman! + +For hyperkitty installation: https://fedorahosted.org/hyperkitty/wiki/DevelopmentSetupGuide + +------------------------------------------------------------------------------------------------------------------------------------------------------