This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new 26a085c  [OPENMEETINGS-2258] added new LDAP Configuration in markdown 
format. (#61)
26a085c is described below

commit 26a085c92d31af3756b8e89444e959c810cd28ec
Author: ormf <[email protected]>
AuthorDate: Sun Apr 19 03:32:08 2020 +0200

    [OPENMEETINGS-2258] added new LDAP Configuration in markdown format. (#61)
    
    - updated openmeetings-server/src/site/resources/images/ldap_screen.png
          - deleted openmeetings-server/src/site/xdoc/LdapAndADS.xml
    
    Co-authored-by: Orm Finnendahl <[email protected]>
---
 .../src/site/markdown/LdapAndADS.md                | 238 +++++++++++++++++++++
 .../src/site/resources/images/ldap_screen.png      | Bin 104512 -> 123234 bytes
 openmeetings-server/src/site/xdoc/LdapAndADS.xml   |  96 ---------
 3 files changed, 238 insertions(+), 96 deletions(-)

diff --git a/openmeetings-server/src/site/markdown/LdapAndADS.md 
b/openmeetings-server/src/site/markdown/LdapAndADS.md
new file mode 100644
index 0000000..fc32b7c
--- /dev/null
+++ b/openmeetings-server/src/site/markdown/LdapAndADS.md
@@ -0,0 +1,238 @@
+<!-- 
+# Licensed under the Apache License, Version 2.0 (the "License") 
http://www.apache.org/licenses/LICENSE-2.0 -->
+
+# LDAP and Active Directory Integration
+
+This manual explains the configuration to use an already existing
+(e.g. corporate or university) LDAP/AD Server for user authentication
+into OpenMeetings. Successful integration has also been reported with
+Novell eDirectory.
+
+For installation and setup instructions of an LDAP server itself see
+https://help.ubuntu.com/lts/serverguide/openldap-server.html
+
+## LDAP Configuration in OpenMeetings
+
+To configure access to an LDAP Server, three things are needed:
+
+### 1. Information how to access the LDAP Server for user lookup
+
+-   Obtain the ip address and port number of the LDAP server. For the
+    example configuration in the next section we will use the ip
+    address 10.8.0.10 and the default LDAP port number 389.
+
+-   A single LDAP user account is needed that has read privileges to the
+    user entries that are to be used for login by OpenMeetings. Often
+    these accounts have the organizational unit attribute
+    `ou=system-users`.
+
+-   Obtain the cn and password of that user from the LDAP
+    administrator. For the example configuration we will use
+    `cn=openmeetings` and `password=12345`.
+
+-   Obtain the dc values of the root of the LDAP database. In our
+    example we will use `dc=mydomain,dc=org`.
+
+### 2. An LDAP config file
+
+-   This file needs to be located in the folder
+    `$OM_HOME/webapps/openmeetings/data/conf/` <sup><a id="fnr.1" 
class="footref" href="#fn.1">1</a></sup>.
+    An example file called `om_ldap.cfg` should come with your
+    OpenMeetings installation.
+
+-   The file needs to contain the access information obtained in the
+    previous section. For our example the file would contain the
+    following:
+
+    ```
+    ldap_conn_host=10.8.0.10
+    ldap_conn_port=389
+    ldap_conn_secure=false
+    
+    # The following lines specify the data of the ldap user with 
+    # read privileges to the user entries according to the LDAP DB.
+    ldap_admin_dn=cn=openmeetings,ou=system-users,dc=mydomain,dc=org
+    ldap_passwd=12345
+    
+    # The following line specifies where to search for users wanting to login 
+    ldap_search_base=ou=users,dc=mydomain,dc=org
+    
+    # The attribute in the LDAP DB which will be matched against the 
+    # given login data ("Username or mail address" field) in OpenMeetings:
+    ldap_search_query=(uid=%s)
+    
+    # the scope of the search might be: OBJECT, ONELEVEL, SUBTREE
+    ldap_search_scope=ONELEVEL
+    
+    # Ldap auth type(NONE, SEARCHANDBIND, SIMPLEBIND)
+    #  When using SIMPLEBIND a simple bind is performed on the LDAP server to 
check user authentication
+    #  When using NONE, the Ldap server is not used for authentication
+    ldap_auth_type=SIMPLEBIND
+    
+    # userDN format, will be used to bind if ldap_auth_type=SIMPLEBIND
+    # might be used to get provisionningDn in case ldap_auth_type=NONE
+    ldap_userdn_format=uid=%s,ou=users,dc=mydomain,dc=org
+    
+    # Ldap provisioning type(NONE, AUTOCREATE, AUTOUPDATE)
+    ldap_provisioning=AUTOCREATE
+    
+    # Ldap deref mode (never, searching, finding, always)
+    ldap_deref_mode=always
+    
+    #  Set this to 'true' if you want to use admin_dn to get user attributes
+    #  If any other value is set, user_dn will be used
+    ldap_use_admin_to_get_attrs=true
+    
+    # Ldap-password synchronization to OM DB
+    #  Set this to 'true' if you want OM to synchronize the user Ldap-password 
to OM's internal DB
+    #  If you want to disable the feature, set this to any other string.
+    #  Defautl value is 'true'
+    ldap_sync_password_to_om=true
+    
+    # Ldap group mode (NONE, ATTRIBUTE, QUERY)
+    # NONE means group associations will be ignored
+    # ATTRIBUTE means group associations will be taken from 'ldap_group_attr' 
attribute (M$ AD mode)
+    # QUERY means group associations will be taken as a result of 
'ldap_group_query' query
+    ldap_group_mode=NONE
+    
+    ldap_group_query=(&(memberUid=%s)(objectClass=posixGroup))
+    
+    # Ldap user attributes mapping
+    # Set the following internal OM user attributes to their corresponding 
Ldap-attribute
+    ldap_user_attr_login=uid
+    ldap_user_attr_lastname=sn
+    ldap_user_attr_firstname=givenName
+    ldap_user_attr_mail=mail
+    ldap_user_attr_street=streetAddress
+    ldap_user_attr_additionalname=description
+    ldap_user_attr_fax=facsimileTelephoneNumber
+    ldap_user_attr_zip=postalCode
+    ldap_user_attr_country=co
+    ldap_user_attr_town=l
+    ldap_user_attr_phone=telephoneNumber
+    # optional attribute for user picture
+    #ldap_user_attr_picture=
+    ldap_group_attr=memberOf
+    
+    # optional, absolute URL will be used as user picture if 
#ldap_user_attr_picture will be empty
+    #ldap_user_picture_uri=picture_uri
+    
+    # Ldap ignore upper/lower case, convert all input to lower case
+    ldap_use_lower_case=false
+    
+    # Ldap import query, this query should retrieve all LDAP users
+    ldap_import_query=(objectClass=inetOrgPerson)
+    
+    ``` 
+    
+    NOTE: Directory Servers are individual for every organization, and
+    might use different attribute names than the ones listed in the
+    example config. Please obtain the information about the structure
+    and attribute names of the entries and adjust the config file
+    accordingly.
+
+    It is important to configure LDAP_SEARCH_PATH so that it points to the
+    node of the LDAP directory server that contains the users.
+
+    If there are multiple search paths you can either try to define a
+    search path that points to multiple nodes or define multiple LDAP
+    configurations in the LDAP administration pane of OpenMeetings.
+
+### 3. Configuring OpenMeetings to use the ldap config file
+
+The final step binds the config file of the previous section to
+OpenMeetings:
+
+-   Log into OpenMeetings as Administrator
+
+-   Open Administration->LDAP
+
+    <img src="../resources/images/ldap_screen.png"></img>
+
+-   In the right pane of the main window labeled "LDAP Config" set
+    the Name of the LDAP DB which you want to appear in the popup
+    menu right of the "Domain" label of OpenMeeting's login
+    screen. Any Name can be set here.
+
+-   Check the "Enabled" checkbox to make the LDAP DB available on the
+    login screen.
+
+-   Fill in the field "Config file name" with the file name of the
+    config file from the previous section of this manual (just the
+    file name, without it's path).
+
+-   Save the Configuration by clicking in the save icon above the
+    "LDAP Config" label and load this setting by clicking in the
+    reload icon right of the save icon.
+
+-   The table in the left pane of OpenMeeting's LDAP administration
+    window should contain an entry with the ID (autoassigned by
+    OpenMeetings), name and config file.
+
+Test the settings by logging out of Openmeetings and logging back in
+with a user and password of the LDAP DB. Make sure you select the
+configured name of the LDAP DB in the "Domain" popup menu of the Login
+screen before pressing the "Sign in" button. If login doesn't work,
+see the section [Troubleshooting](#ldap-troubleshooting)
+
+## Additional (optional) steps
+
+Once login with users from the LDAP DB works, all users of that
+database can get imported into OpenMeetings internal table of users
+using the command line tool "admin.sh":
+
+-   First test with:
+    
+    `$OM_HOME/admin.sh -l -d1 --print-only`
+    
+    The argument of the `-d` ("domain-id") flag indicates the ID number
+    of the LDAP DB in the LDAP table on the left pane in OpenMeeting's
+    Administration->LDAP configuration. If only one LDAP DB is
+    configured there the ID most probably is 1.
+    
+    `--print-only` indicates that the entries shouldn't actually get
+    imported, but rather printed out on the terminal.
+    
+    If everything works as expected, a lot of printout should happen
+    on the terminal with the user entries of the LDAP DB appearing
+    last.
+
+-   In that case the entries can actually get imported into
+    OpenMeetings by omitting `--print-only`:
+    
+    `$OM_HOME/admin.sh -l -d1`
+
+After import they can be found in the OpenMeeting website at
+appopriate places (Invitation into rooms, in the Administration
+pages of Users, Groups and Conference rooms, etc.).
+
+NOTE: It is not strictly necessary to import all users from the LDAP
+DB: Any user who logs into OpenMeeting for the first time will be
+added to OpenMeeting's Users table. For administrative purposes it
+can nevertheless be very convenient to import all users of an LDAP
+DB in order to distribute them to different Groups/Rooms without
+requiring each of them to log in first.
+
+<a id="ldap-troubleshooting" href="#ldap-troubleshooting"></a>
+
+## Troubleshooting
+
+In case login doesn't work it is recommended to turn on verbose
+logging:
+
+- stop OM
+
+- add the following line to 
`$OM_HOME/webapps/openmeetings/WEB-INF/classes/logback-config.xml`:
+
+    `<logger name="org.apache.directory" level="DEBUG" />`
+
+- restart OM
+
+- Try to log in using the configured LDAP DB and try to debug the
+  problem by checking the log file. By default, logging is done to the
+  file `$OM_HOME/logs/catalina.out`.
+
+## Footnotes
+
+<sup><a id="fn.1" href="#fnr.1">1</a></sup> `$OM_HOME` is the
+home folder of the OpenMeetings installation, e.g. `/opt/open503`
diff --git a/openmeetings-server/src/site/resources/images/ldap_screen.png 
b/openmeetings-server/src/site/resources/images/ldap_screen.png
index 4e44820..de013e3 100644
Binary files a/openmeetings-server/src/site/resources/images/ldap_screen.png 
and b/openmeetings-server/src/site/resources/images/ldap_screen.png differ
diff --git a/openmeetings-server/src/site/xdoc/LdapAndADS.xml 
b/openmeetings-server/src/site/xdoc/LdapAndADS.xml
deleted file mode 100644
index 612020d..0000000
--- a/openmeetings-server/src/site/xdoc/LdapAndADS.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
- -->
-<document xmlns="http://maven.apache.org/XDOC/2.0";
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 
http://maven.apache.org/xsd/xdoc-2.0.xsd";>
-       <properties>
-               <title>LDAP/ADS configuration</title>
-               <author email="[email protected]">Apache 
OpenMeetings Team</author>
-       </properties>
-
-       <body>
-               <section name="Ubuntu Installation">
-                       <div>
-                               Run the commands
-                               <source>
-<![CDATA[
-sudo apt-get install slapd ldap-utils
-]]>
-                               </source>
-                       </div>
-                       <div>
-                               Modify file <tt>/etc/ldap/ldap.conf</tt> add 
highlighted attributes:
-                               <source>
-<![CDATA[
-#
-# LDAP Defaults
-#
-# See ldap.conf(5) for details
-# This file should be world readable but not world writable.
-BASE    dc=unixmen,dc=com
-URI     ldap://192.168.1.200
-#SIZELIMIT      12
-#TIMELIMIT      15
-#DEREF          never
-# TLS certificates (needed for GnuTLS)
-TLS_CACERT      /etc/ssl/certs/ca-certificates.crt
-]]>
-                               </source>
-                       </div>
-                       <div>
-                               Run the Configuration assistant: <tt>sudo 
dpkg-reconfigure slapd</tt>
-                       </div>
-                       <div>
-                               Test LDAP server: <tt>ldapsearch -x</tt>
-                       </div>
-                       <div>
-                               Add/Edit/Delete users: <tt>sudo apt-get install 
phpldapadmin</tt>
-                       </div>
-                       <div>
-                               Detailed reference: <a 
href="http://www.unixmen.com/openldap-installation-and-configuration-in-ubuntu-12-10-server-debian-6/";>http://www.unixmen.com/openldap-installation-and-configuration-in-ubuntu-12-10-server-debian-6/</a>
-                       </div>
-               </section>
-               <section name="LDAP and Active Directory Integration">
-                       <p> In: $OM_HOME/webapps/openmeetings/data/conf<br/>
-                               you will find sample configurations for LDAP 
and Active Directory. The
-                               nature of those Directory Servers are that they 
are individual for
-                               every organization, so you have to modify of 
course at least the
-                               path to your user-base et cetera.<br/>
-                               <br/>
-                               To activate any of those configurations you 
have to login into
-                               OpenMeetings, goto Administration > Ldap.
-                       </p>
-                       <a class="fancybox-buttons" 
href="images/ldap_screen.png">
-                               <img src="images/ldap_screen.png" alt="" 
width="442" height="282" />
-                       </a>
-                       <p>
-                               Import is that you configure LDAP_SEARCH_PATH 
so that it points to the node of your directory server that contains the users
-                       </p>
-                       <p>
-                               If you have multiple search paths you can 
either try to define a search path that points to multiple nodes or define 
multiple ldap configurations.
-                       </p>
-                       <p>
-                               Successful integration is also reported with 
Novell eDirectory
-                       </p>
-                       <p>
-                               You can configure multiple domains or different 
user-paths in the Administration of OpenMeetings.
-                       </p>
-                       <p>
-                               <b>NOTE: </b>You should specify file name 
<i>RELATIVE</i> to <tt>$OM_HOME/webapps/openmeetings/conf</tt>
-                       </p>
-               </section>
-
-       </body>
-</document>
\ No newline at end of file

Reply via email to