2016-10-15 19:57:04 +02:00
<!DOCTYPE html>
< html lang = "en" dir = "ltr" >
< head >
< meta charset = "utf-8" / >
< title > documentation:2.0:applications:sympa< / title >
< meta name = "generator" content = "DokuWiki" / >
< meta name = "robots" content = "index,follow" / >
< meta name = "keywords" content = "documentation,2.0,applications,sympa" / >
< link rel = "search" type = "application/opensearchdescription+xml" href = "../lib/exe/opensearch.html" title = "LemonLDAP::NG" / >
< link rel = "start" href = "sympa.html" / >
< link rel = "contents" href = "sympa.html" title = "Sitemap" / >
< link rel = "stylesheet" type = "text/css" href = "../lib/exe/css.php.t.bootstrap3.css" / >
2017-02-07 17:35:26 +01:00
<!-- //if:usedebianlibs
< link rel = "stylesheet" type = "text/css" href = "/javascript/bootstrap/css/bootstrap.min.css" / >
//elsif:useexternallibs
< link rel = "stylesheet" type = "text/css" href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" > < / script >
//elsif:cssminified
< link rel = "stylesheet" type = "text/css" href = "/static/bwr/bootstrap/dist/css/bootstrap.min.css" / >
//else -->
< link rel = "stylesheet" type = "text/css" href = "/static/bwr/bootstrap/dist/css/bootstrap.css" / >
<!-- //endif -->
2016-10-15 19:57:04 +02:00
< script type = "text/javascript" > / * < ! [ C D A T A [ * / v a r N S = ' d o c u m e n t a t i o n : 2 . 0 : a p p l i c a t i o n s ' ; v a r J S I N F O = { " i d " : " d o c u m e n t a t i o n : 2 . 0 : a p p l i c a t i o n s : s y m p a " , " n a m e s p a c e " : " d o c u m e n t a t i o n : 2 . 0 : a p p l i c a t i o n s " } ;
/*!]]>*/< / script >
< script type = "text/javascript" charset = "utf-8" src = "../lib/exe/js.php.t.bootstrap3.js" > < / script >
2017-02-07 17:35:26 +01:00
<!-- //if:usedebianlibs
< script type = "text/javascript" src = "/javascript/jquery/jquery.min.js" > < / script >
//elsif:useexternallibs
< script type = "text/javascript" src = "http://code.jquery.com/jquery-2.2.0.min.js" > < / script >
//elsif:jsminified
< script type = "text/javascript" src = "/static/bwr/jquery/dist/jquery.min.js" > < / script >
//else -->
< script type = "text/javascript" src = "/static/bwr/jquery/dist/jquery.js" > < / script >
<!-- //endif -->
<!-- //if:usedebianlibs
< script type = "text/javascript" src = "/javascript/jquery-ui/jquery-ui.min.js" > < / script >
//elsif:useexternallibs
< script type = "text/javascript" src = "http://code.jquery.com/ui/1.10.4/jquery-ui.min.js" > < / script >
//elsif:jsminified
2018-03-08 13:29:31 +01:00
< script type = "text/javascript" src = "/static/bwr/jquery-ui/jquery-ui.min.js" > < / script >
2017-02-07 17:35:26 +01:00
//else -->
2018-03-08 13:29:31 +01:00
< script type = "text/javascript" src = "/static/bwr/jquery-ui/jquery-ui.js" > < / script >
2017-02-07 17:35:26 +01:00
<!-- //endif -->
2016-10-15 19:57:04 +02:00
< / head >
< body >
< div class = "dokuwiki export container" >
<!-- TOC START -->
< div id = "dw__toc" >
< h3 class = "toggle" > Table of Contents< / h3 >
< div >
< ul class = "toc" >
< li class = "level1" > < div class = "li" > < a href = "#presentation" > Presentation< / a > < / div > < / li >
< li class = "level1" > < div class = "li" > < a href = "#configuration" > Configuration< / a > < / div >
< ul class = "toc" >
< li class = "level2" > < div class = "li" > < a href = "#sympa_configuration" > Sympa configuration< / a > < / div > < / li >
< li class = "level2" > < div class = "li" > < a href = "#sympa_virtual_host" > Sympa virtual host< / a > < / div > < / li >
< li class = "level2" > < div class = "li" > < a href = "#sympa_virtual_host_in_manager" > Sympa virtual host in Manager< / a > < / div > < / li >
< / ul > < / li >
< / ul >
< / div >
< / div >
<!-- TOC END -->
< h1 class = "sectionedit1" id = "sympa" > Sympa< / h1 >
< div class = "level1" >
< p >
< a href = "sympa_logo.png_documentation_2.0_applications_sympa.html" class = "media" title = "applications:sympa_logo.png" > < img src = "sympa_logo.png" class = "mediacenter" alt = "" / > < / a >
< / p >
< / div >
<!-- EDIT1 SECTION "Sympa" [1 - 58] -->
< h2 class = "sectionedit2" id = "presentation" > Presentation< / h2 >
< div class = "level2" >
< p >
< a href = "http://www.sympa.org" class = "urlextern" title = "http://www.sympa.org" rel = "nofollow" > Sympa< / a > is a mailing list manager.
< / p >
< p >
To configure < abbr title = "Single Sign On" > SSO< / abbr > with Sympa, use < strong > Magic authentication< / strong > : a special < abbr title = "Single Sign On" > SSO< / abbr > < abbr title = "Uniform Resource Locator" > URL< / abbr > is protected by < abbr title = "LemonLDAP::NG" > LL::NG< / abbr > , Sympa will display a button for users who wants to use this feature.
< / p >
< div class = "notetip" > Since version 1.9 of LLNG, old Auto-Login feature has been removed since it works only with Sympa-5 which has been deprecated
< / div >
< / div >
<!-- EDIT2 SECTION "Presentation" [59 - 460] -->
< h2 class = "sectionedit3" id = "configuration" > Configuration< / h2 >
< div class = "level2" >
< / div >
<!-- EDIT3 SECTION "Configuration" [461 - 487] -->
< h3 class = "sectionedit4" id = "sympa_configuration" > Sympa configuration< / h3 >
< div class = "level3" >
< p >
Edit the file “auth.conf”, for example:
< / p >
< pre class = "code" > vi /etc/sympa/auth.conf< / pre >
< p >
And fill it:
< / p >
< pre class = "file" > generic_sso
service_name Centralized auth service
service_id lemonldapng
email_http_header HTTP_MAIL
netid_http_header HTTP_AUTH_USER
internal_email_by_netid 1
logout_url http://sympa.example.com/wws/logout< / pre >
< div class = "notetip" > You can also disable internal Sympa authentication to keep only LemonLDAP::NG by removing user_table paragraph
< p >
Note that if you use FastCGI, you must restart Apache to enable changes.
< / p >
< / div >
< p >
You can also use < portal> ?logout=1 as logout_url to remove LemonLDAP::NG session when “disconnect” is chosen.
< / p >
< / div >
<!-- EDIT4 SECTION "Sympa configuration" [488 - 1292] -->
< h3 class = "sectionedit5" id = "sympa_virtual_host" > Sympa virtual host< / h3 >
< div class = "level3" >
< p >
Configure Sympa virtual host like other < a href = "../configvhost.html" class = "wikilink1" title = "documentation:2.0:configvhost" > protected virtual host< / a > but protect only magic authentication < abbr title = "Uniform Resource Locator" > URL< / abbr > .
< / p >
< div class = "notetip" > The location < abbr title = "Uniform Resource Locator" > URL< / abbr > end is based on the < code > service_id< / code > defined in Sympa apache configuration.
< / div > < ul >
< li class = "level1" > < div class = "li" > For Apache:< / div >
< / li >
< / ul >
< pre class = "code file apache" > < < span class = "kw3" > VirtualHost< / span > *:< span class = "nu0" > 80< / span > >
< span class = "kw1" > ServerName< / span > sympa.example.com
< < span class = "kw3" > Location< / span > /wws/sso_login/lemonldapng>
PerlHeaderParserHandler Lemonldap::NG::Handler
< /< span class = "kw3" > Location< / span > >
...
< /< span class = "kw3" > VirtualHost< / span > > < / pre >
< ul >
< li class = "level1" > < div class = "li" > For Nginx:< / div >
< / li >
< / ul >
< pre class = "code file nginx" > server {
listen 80;
server_name sympa.example.com;
root /path/to/application;
# Internal authentication request
location = /lmauth {
internal;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/llng-fastcgi-server/llng-fastcgi.sock;
# Drop post datas
fastcgi_pass_request_body off;
fastcgi_param CONTENT_LENGTH " " ;
# Keep original hostname
fastcgi_param HOST $http_host;
# Keep original request (LLNG server will received /llauth)
fastcgi_param X_ORIGINAL_URI $request_uri;
}
# Client requests
location /wws/sso_login/lemonldapng {
auth_request /lmauth;
auth_request_set $lmremote_user $upstream_http_lm_remote_user;
auth_request_set $lmlocation $upstream_http_location;
error_page 401 $lmlocation;
try_files $uri $uri/ =404;
...
include /etc/lemonldap-ng/nginx-lua-headers.conf;
}
location / {
try_files $uri $uri/ =404;
}
}< / pre >
< / div >
<!-- EDIT5 SECTION "Sympa virtual host" [1293 - 2795] -->
< h3 class = "sectionedit6" id = "sympa_virtual_host_in_manager" > Sympa virtual host in Manager< / h3 >
< div class = "level3" >
< p >
Go to the Manager and < a href = "../configvhost.html#lemonldapng_configuration" class = "wikilink1" title = "documentation:2.0:configvhost" > create a new virtual host< / a > for Sympa.
< / p >
< p >
Configure the < a href = "../writingrulesand_headers.html#rules" class = "wikilink1" title = "documentation:2.0:writingrulesand_headers" > access rules< / a > and define the following < a href = "../writingrulesand_headers.html#headers" class = "wikilink1" title = "documentation:2.0:writingrulesand_headers" > headers< / a > :
< / p >
< ul >
< li class = "level1" > < div class = "li" > Auth-User< / div >
< / li >
< li class = "level1" > < div class = "li" > Mail< / div >
< / li >
< / ul >
< / div >
<!-- EDIT6 SECTION "Sympa virtual host in Manager" [2796 - ] --> < / div >
< / body >
< / html >