diff options
| -rw-r--r-- | src/mailman/docs/ArchiveUIin5.rst | 15 | ||||
| -rw-r--r-- | src/mailman/docs/MTA.rst | 47 | ||||
| -rw-r--r-- | src/mailman/docs/START.rst | 64 |
3 files changed, 118 insertions, 8 deletions
diff --git a/src/mailman/docs/ArchiveUIin5.rst b/src/mailman/docs/ArchiveUIin5.rst index 58b48cd3d..d4b24c92c 100644 --- a/src/mailman/docs/ArchiveUIin5.rst +++ b/src/mailman/docs/ArchiveUIin5.rst @@ -2,6 +2,13 @@ Set up the archive ui in five minutes ===================================== +.. note:: + This document is way out of date. If you have access to the Web, + the most recent explanation of setting up a full Mailman 3 system, + including Postorius and HyperKitty, is the `Development Setup Guide`_ at + `FedoraHosted`_. If you must work offline, this document may be of some + use, but be careful. + The `hyperkitty`_ application aims at providing an interface to visualize and explore Mailman archives. @@ -68,7 +75,9 @@ omit the preceding steps. Continue with these steps. - Install the hyperkitty sources:: - % git clone http://ambre.pingoured.fr/cgit/hyperkitty.git/ + % git clone https://github.com/hyperkitty/kittystore.git + % git clone https://github.com/hyperkitty/hyperkitty.git + % git clone https://github.com/hyperkitty/hyperkitty_standalone.git Running hyperkitty @@ -87,7 +96,9 @@ Running hyperkitty % python manage.py runserver -.. _`hyperkitty`: https://launchpad.net/hyperkitty +.. _`Development Setup Guide`: https://fedorahosted.org/hyperkitty/wiki/DevelopmentSetupGuide +.. _`FedoraHosted`: https://fedorahosted.org/ +.. _`hyperkitty`: https://fedorahosted.org/hyperkitty/ .. _`Django`: http://djangoproject.org/ .. _`notmuch mail indexer`: http://notmuchmail.org .. _`bunch`: http://pypi.python.org/pypi/bunch diff --git a/src/mailman/docs/MTA.rst b/src/mailman/docs/MTA.rst index feec21106..1bc9c6c13 100644 --- a/src/mailman/docs/MTA.rst +++ b/src/mailman/docs/MTA.rst @@ -297,11 +297,54 @@ with Exim configuration, you probably want to start with the chapter on .. _`how Exim receives and delivers mail`: http://www.exim.org/exim-html-current/doc/html/spec_html/ch-how_exim_receives_and_delivers_mail.html - Sendmail ======== -Contributions are welcome! +The core Mailman developers generally do not use Sendmail, so experience is +limited. Any and all contributions are welcome! The follow information from +a post by Gary Algier <gaa@ulticom.com> may be useful as a starting point, +although it describes Mailman 2: + + I have it working fine. I recently replaced a very old implementation + of sendmail and Mailman 2 on Solaris with a new one on CentOS 6. When I + did so, I used the POSTFIX_ALIAS_CMD mechanism to automatically process + the aliases. See:: + + https://mail.python.org/pipermail/mailman-users/2004-June/037518.html + + In mm_cfg.py:: + + MTA='Postfix' + POSTFIX_ALIAS_CMD = '/usr/bin/sudo /etc/mail/import-mailman-aliases' + + /etc/mail/import-mailman-aliases contains:: + + #! /bin/sh + /bin/cp /etc/mailman/aliases /etc/mail/mailman.aliases + /usr/bin/newaliases + + In /etc/sudoers.d/mailman:: + + Cmnd_Alias IMPORT_MAILMAN_ALIASES = /etc/mail/import-mailman-aliases + apache ALL= NOPASSWD: IMPORT_MAILMAN_ALIASES + mailman ALL= NOPASSWD: IMPORT_MAILMAN_ALIASES + Defaults!IMPORT_MAILMAN_ALIASES !requiretty + + In the sendmail.mc file I changed:: + + define(`ALIAS_FILE', `/etc/aliases')dnl + + to:: + + define(`ALIAS_FILE', `/etc/aliases,/etc/mail/mailman.aliases')dnl + + so that the Mailman aliases would be in a separate file. + +The main issue here is that Mailman 2 expects to receive messages from +the MTA via pipes, whereas Mailman 3 uses LMTP exclusively. Recent +Sendmail does support LMTP, so it's a matter of configuring a stock +Sendmail. But rather than using aliases, it needs to be configured to +relay to the LMTP port of Mailman. .. _`mailing list or on IRC`: START.html#contact-us diff --git a/src/mailman/docs/START.rst b/src/mailman/docs/START.rst index 570f84570..960ceeedc 100644 --- a/src/mailman/docs/START.rst +++ b/src/mailman/docs/START.rst @@ -23,7 +23,7 @@ the core, Mailman 3 exposes a REST administrative interface to the web, communicates with archivers via decoupled interfaces, and leaves summary, search, and retrieval of archived messages to a separate application (a simple implementation is provided). The web interface (known as `Postorius`_) and -archiver (known as `Hyperkitty`_) are in separate development. +archiver (known as `Hyperkitty`_) are developed separately. Contact Us @@ -51,6 +51,20 @@ your OS vendor, or can be downloaded automatically from the `Python Cheeseshop`_. +Documentation +============= + +The documentation for Mailman 3 is distributed throughout the sources. +The core documentation (such as this file, ``START.rst``) is found in +the ``src/mailman/docs`` directory, but much of the documentation is +in module-specific places. A prebuilt HTML version of `Mailman 3 +documentation`_ is available at pythonhosted.org, as is `Postorius +documentation`_. `HyperKitty documentation`_ is available at ReadTheDocs. + +The `Development Setup Guide`_ is a recent step-by-step explanation of +how to set up a complete Mailman 3 system including the Mailman 3 core +and basic client API, Postorius, and HyperKitty. + Building Mailman 3 ================== @@ -62,18 +76,48 @@ Building for development First, create a virtual environment. By default ``virtualenv`` uses the ``python`` executable it finds first on your ``$PATH``. Make sure this is -Python 2.7. The directory you install the virtualenv into is up to you, but -for purposes of this document, we'll install it into ``/tmp/py27``:: +Python 2.7 (just start the interactive interpreter and check the version in +the startup banner). The directory you install the virtualenv into is up to +you, but for purposes of this document, we'll install it into ``/tmp/py27``:: % virtualenv --system-site-packages /tmp/py27 +If your default Python is not version 2.7, use the ``--python`` option to +specify the Python executable. You can use the command name if this version +is on your ``PATH``:: + + % virtualenv --system-site-packages --python=python2.7 /tmp/py27 + +or you may specify the full path to any Python 2.7 executable. + Now, activate the virtual environment and set it up for development:: % source /tmp/py27/bin/activate % python setup.py develop Sit back and have some Kombucha while you wait for everything to download and -install. +install. If you have older versions of some of the packages, the installation +may be interrupted with an error such as:: + + error: Installed distribution zope.interface 3.8.0 conflicts with requirement zope.interface>=4.1.0 + +(It appears that this is a defect specific to the ``zope.interface`` +package; it's expected that it should upgrade in this situation. +However, we cannot rule out similar problems with other packages.) + +This issue can be addressed in two ways. If you are worried about backward +compatibility with the installed version of the package for some reason, you +can restart the process by creating a virtualenv without the +``--system-site-packages`` option. This may require installation of duplicates +of many packages, as only the standard library and packages freshly installed +in the virtualenv will be available to Python. + +The alternative is to keep the virtualenv installed with +``--system-site-packages``, explicitly upgrade the package, and then +restart the installation:: + + % pip install --upgrade zope.interface + % python setup.py develop Now you can run the test suite via:: @@ -88,6 +132,14 @@ Build the online docs by running:: % python setup.py build_sphinx +If ``setup.py`` fails to recognize the ``build_sphinx`` command, then +just install Sphinx in your virtualenv:: + + % pip install sphinx + +This will automatically add the ``build_sphinx`` command to +``setup.py``, so just re-run the command. + Then visit:: build/sphinx/html/index.html @@ -193,3 +245,7 @@ A `five minute guide to Hyperkitty`_ is based on Toshio Kuratomi's README. .. _`Pycon 2012 sprint`: https://us.pycon.org/2012/community/sprints/projects/ .. _`Python Cheeseshop`: http://pypi.python.org/pypi .. _`virtualenv`: http://www.virtualenv.org/en/latest/ +.. _`Mailman 3 documentation`: http://www.pythonhosted.org/mailman/ +.. _`Postorius documentation`: http://www.pythonhosted.org/postorius/ +.. _`HyperKitty documentation`: https://hyperkitty.readthedocs.org/en/latest/development.html +.. _`Development Setup Guide`: https://fedorahosted.org/hyperkitty/wiki/DevelopmentSetupGuide |
