You are viewing a plain text version of this content. The canonical link for it is here.
Posted to infrastructure-issues@apache.org by "Alan Cabrera (JIRA)" <ji...@apache.org> on 2014/07/04 18:42:34 UTC

[jira] [Created] (INFRA-8006) install WSGI interface to EZMLM on hermes

Alan Cabrera created INFRA-8006:
-----------------------------------

             Summary: install WSGI interface to EZMLM on hermes
                 Key: INFRA-8006
                 URL: https://issues.apache.org/jira/browse/INFRA-8006
             Project: Infrastructure
          Issue Type: Task
            Reporter: Alan Cabrera


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)