You are viewing a plain text version of this content. The canonical link for it is here.
Posted to infrastructure-issues@apache.org by "Tony Stevenson (JIRA)" <ji...@apache.org> on 2014/07/29 12:41:38 UTC
[jira] [Assigned] (INFRA-8006) install WSGI interface to EZMLM on
hermes
[ https://issues.apache.org/jira/browse/INFRA-8006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tony Stevenson reassigned INFRA-8006:
-------------------------------------
Assignee: Tony Stevenson
> install WSGI interface to EZMLM on hermes
> -----------------------------------------
>
> Key: INFRA-8006
> URL: https://issues.apache.org/jira/browse/INFRA-8006
> Project: Infrastructure
> Issue Type: Task
> Components: Mailing Lists
> Reporter: Alan Cabrera
> Assignee: Tony Stevenson
>
> I've completed my WSGI service that provides a JSON API around hermes' ezmlm. It's written to be protected by httpd/ldap so that only ASF members can modify subscriptions and moderator membership.
> The code is in
> https://svn.apache.org/repos/asf/labs/panopticon
> The setup requirements:
> httpd 2.2
> - mod_ldap
> - mod_wsgi
> python 2.*
> - pip
> - virtualenv
> Steps:
> cd /srv/ezmlm-wsgi
> svn checkout https://svn.apache.org/repos/asf/labs/panopticon
> virtualenv /srv/ezmlm-wsgi/ezmlm-venv
> source /srv/ezmlm-wsgi/ezmlm-venv/bin/activate
> cd /srv/ezmlm-wsgi/panopticon/pan-utils
> pip install -r requirements.txt
> ./setup.py install
> cd /srv/ezmlm-wsgi/panopticon/pan-ezmlm
> pip install -r requirements.txt
> ./setup.py install
> cd /srv/ezmlm-wsgi
> cat << EOF > ezmlm-flask.properties
> # location of EZMLM files
> LIST_ROOT_PATH = "/home/apmail/lists"
> # location of EZMLM commands
> COMMAND_LOCATION = "/usr/local/bin/"
> EOF
> cat << EOF > /etc/apache2/conf/ezmlm.conf
> SetEnv EZMLM_FLASK_CONFIG /srv/ezmlm-wsgi/ezmlm-flask.properties
> WSGIPythonHome /srv/ezmlm-wsgi/ezmlm-venv
> WSGIScriptAlias /ezmlm /srv/ezmlm-wsgi/panopticon/pan-ezmlm/bin/ezmlm.apache2.wsgi
> <Directory /srv/ezmlm-wsgi/panopticon/pan-ezmlm/bin>
> Order allow,deny
> Allow from all
> </Directory>
> <LocationMatch ^/ezmlm/v1/committer>
> Order allow,deny
> Allow from all
> AuthType Basic
> AuthBasicProvider ldap
> AuthName "ASF Committers"
> AuthLDAPurl "ldaps://minotaur.apache.org:636/ou=people,dc=apache,dc=org?uid"
> AuthLDAPGroupAttribute memberUid
> AuthzLDAPAuthoritative on
> AuthLDAPGroupAttributeIsDN off
> Require ldap-group cn=committers,ou=groups,dc=apache,dc=org
> </LocationMatch>
> <LocationMatch ^/ezmlm/v1/asf>
> Order allow,deny
> Allow from all
> AuthType Basic
> AuthBasicProvider ldap
> AuthName "ASF Members"
> AuthLDAPurl "ldaps://minotaur.apache.org:636/ou=people,dc=apache,dc=org?uid"
> AuthLDAPGroupAttribute memberUid
> AuthzLDAPAuthoritative on
> AuthLDAPGroupAttributeIsDN off
> Require ldap-group cn=member,ou=groups,dc=apache,dc=org
> </LocationMatch>
> EOF
--
This message was sent by Atlassian JIRA
(v6.2#6252)