PageRenderTime 56ms CodeModel.GetById 30ms RepoModel.GetById 0ms app.codeStats 0ms

/iRedMail/conf/openldap

https://code.google.com/p/iredmail/
#! | 249 lines | 203 code | 46 blank | 0 comment | 0 complexity | 2460549a1bf8498882aa1ff89b65668c MD5 | raw file
  1. #!/usr/bin/env bash
  2. # Author: Zhang Huangbin (zhb(at)iredmail.org)
  3. #---------------------------------------------------------------------
  4. # This file is part of iRedMail, which is an open source mail server
  5. # solution for Red Hat(R) Enterprise Linux, CentOS, Debian and Ubuntu.
  6. #
  7. # iRedMail is free software: you can redistribute it and/or modify
  8. # it under the terms of the GNU General Public License as published by
  9. # the Free Software Foundation, either version 3 of the License, or
  10. # (at your option) any later version.
  11. #
  12. # iRedMail is distributed in the hope that it will be useful,
  13. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. # GNU General Public License for more details.
  16. #
  17. # You should have received a copy of the GNU General Public License
  18. # along with iRedMail. If not, see <http://www.gnu.org/licenses/>.
  19. #---------------------------------------------------------------------
  20. # Variables for OpenLDAP and related. Refer to 'dialog/ldap_config.sh'.
  21. # LDAP service info.
  22. export LDAP_SERVER_HOST='127.0.0.1'
  23. export LDAP_SERVER_PORT='389'
  24. export LDAP_USE_TLS='NO'
  25. export LDAP_BIND='yes'
  26. export LDAP_BIND_VERSION='3'
  27. # Database backend type.
  28. # Note:
  29. # * We use the same database type on all distributions to reduce our
  30. # workflow, and users migrate their mail server between supported
  31. # OS will be more comfortable.
  32. # * Performance of bdb backend is good enough. but Debian/Ubuntu can
  33. # also use 'hdb' for OpenLDAP-2.4.x.
  34. export OPENLDAP_DEFAULT_DBTYPE='bdb' # bdb, hdb(used for OpenLDAP-2.4.x)
  35. # Default LDAP data directory.
  36. export OPENLDAP_DATA_DIR='/var/lib/ldap' # Do *NOT* end with '/'.
  37. # Configure.
  38. if [ X"${DISTRO}" == X"RHEL" ]; then
  39. # OpenLDAP version.
  40. if [ X"${DISTRO_VERSION}" == X"5" ]; then
  41. export OPENLDAP_VERSION='2.3'
  42. export LDAP_RC_SCRIPT_NAME='ldap'
  43. else
  44. export OPENLDAP_VERSION='2.4'
  45. export LDAP_RC_SCRIPT_NAME='slapd'
  46. fi
  47. # LDAP daemon user & group.
  48. export LDAP_USER='ldap'
  49. export LDAP_GROUP='ldap'
  50. # Configuration files.
  51. export OPENLDAP_CONF_ROOT="/etc/openldap"
  52. export OPENLDAP_DB_CONFIG_SAMPLE="${OPENLDAP_CONF_ROOT}/DB_CONFIG.example"
  53. export OPENLDAP_PID_FILE='/var/run/openldap/slapd.pid'
  54. export OPENLDAP_ARGS_FILE='/var/run/openldap/slapd.args'
  55. export OPENLDAP_SYSCONFIG_CONF="${ETC_SYSCONFIG_DIR}/ldap"
  56. # RC script.
  57. export LDAP_INIT_SCRIPT="${DIR_RC_SCRIPTS}/${LDAP_RC_SCRIPT_NAME}"
  58. # Module related.
  59. export OPENLDAP_MODULE_PATH='/usr/lib/openldap'
  60. elif [ X"${DISTRO}" == X"SUSE" ]; then
  61. # OpenLDAP version.
  62. export OPENLDAP_VERSION='2.4'
  63. # LDAP daemon user & group.
  64. export LDAP_USER='ldap'
  65. export LDAP_GROUP='ldap'
  66. # Configuration files.
  67. export OPENLDAP_CONF_ROOT="/etc/openldap"
  68. export OPENLDAP_DB_CONFIG_SAMPLE='/var/lib/ldap/DB_CONFIG.example'
  69. export OPENLDAP_PID_FILE='/var/run/slapd/slapd.pid'
  70. export OPENLDAP_ARGS_FILE='/var/run/slapd/slapd.args'
  71. export OPENLDAP_SYSCONFIG_CONF="${ETC_SYSCONFIG_DIR}/openldap"
  72. # RC script.
  73. export LDAP_INIT_SCRIPT="${DIR_RC_SCRIPTS}/ldap"
  74. elif [ X"${DISTRO}" == X"DEBIAN" -o X"${DISTRO}" == X"UBUNTU" ]; then
  75. # OpenLDAP version.
  76. export OPENLDAP_VERSION='2.4'
  77. # LDAP daemon user & group.
  78. export LDAP_USER='openldap'
  79. export LDAP_GROUP='openldap'
  80. # Configuration files.
  81. export OPENLDAP_CONF_ROOT="/etc/ldap"
  82. export OPENLDAP_DB_CONFIG_SAMPLE="/usr/share/slapd/DB_CONFIG"
  83. export OPENLDAP_PID_FILE='/var/run/slapd/slapd.pid'
  84. export OPENLDAP_ARGS_FILE='/var/run/slapd/slapd.args'
  85. export OPENLDAP_SYSCONFIG_CONF="${ETC_SYSCONFIG_DIR}/slapd"
  86. # Module related.
  87. export OPENLDAP_MODULE_PATH='/usr/lib/ldap'
  88. # RC script.
  89. export LDAP_INIT_SCRIPT="${DIR_RC_SCRIPTS}/slapd"
  90. elif [ X"${DISTRO}" == X"FREEBSD" ]; then
  91. # OpenLDAP version.
  92. export OPENLDAP_VERSION='2.4'
  93. # LDAP daemon user & group.
  94. export LDAP_USER='ldap'
  95. export LDAP_GROUP='ldap'
  96. # Configuration files.
  97. export OPENLDAP_CONF_ROOT='/usr/local/etc/openldap'
  98. export OPENLDAP_DB_CONFIG_SAMPLE="${OPENLDAP_CONF_ROOT}/DB_CONFIG.example"
  99. export OPENLDAP_PID_FILE='/var/run/openldap/slapd.pid'
  100. export OPENLDAP_ARGS_FILE='/var/run/openldap/slapd.args'
  101. # Module related.
  102. export OPENLDAP_MODULE_PATH='/usr/local/libexec/openldap'
  103. # RC script.
  104. export LDAP_INIT_SCRIPT="${DIR_RC_SCRIPTS}/slapd"
  105. # Override default setting.
  106. export OPENLDAP_DATA_DIR='/var/db/openldap-data' # Do *NOT* end with '/'.
  107. else
  108. :
  109. fi
  110. export OPENLDAP_SCHEMA_DIR="${OPENLDAP_CONF_ROOT}/schema"
  111. export OPENLDAP_SLAPD_CONF="${OPENLDAP_CONF_ROOT}/slapd.conf"
  112. export OPENLDAP_LDAP_CONF="${OPENLDAP_CONF_ROOT}/ldap.conf"
  113. export OPENLDAP_LOGFILE='/var/log/openldap.log'
  114. export OPENLDAP_LOGROTATE_FILE="${LOGROTATE_DIR}/openldap"
  115. # LDAP data directory.
  116. export LDAP_DATA_DIR="${OPENLDAP_DATA_DIR}/${dn2dnsname}"
  117. # Setting for one instance. You can edit ${OPENLDAP_SLAPD_CONF} manually to hold
  118. # multi instances.
  119. export LDAP_INIT_LDIF="${CONF_DIR}/ldap_init.ldif"
  120. ##################################################
  121. # iRedMail LDAP schema related
  122. #
  123. # objectClass
  124. export LDAP_OBJECTCLASS_OU='organizationalUnit'
  125. export LDAP_OBJECTCLASS_MAILDOMAIN='mailDomain'
  126. export LDAP_OBJECTCLASS_MAILUSER='mailUser'
  127. export LDAP_OBJECTCLASS_MAILALIAS='mailAlias'
  128. export LDAP_OBJECTCLASS_MAILGROUP='mailList'
  129. export LDAP_OBJECTCLASS_MAILADMIN='mailAdmin'
  130. export LDAP_OBJECTCLASS_MAIL_EXTERNAL_USER='mailExternalUser'
  131. # Common attribute.
  132. export LDAP_ENABLED_SERVICE='enabledService'
  133. # Values of service name.
  134. export LDAP_SERVICE_DOMAIN_ALIAS='domainalias'
  135. export LDAP_SERVICE_MAIL='mail'
  136. export LDAP_SERVICE_INTERNAL='internal'
  137. export LDAP_SERVICE_SMTP='smtp'
  138. export LDAP_SERVICE_SMTPS='smtpsecured'
  139. export LDAP_SERVICE_POP3='pop3'
  140. export LDAP_SERVICE_POP3S='pop3secured'
  141. export LDAP_SERVICE_IMAP='imap'
  142. export LDAP_SERVICE_IMAPS='imapsecured'
  143. export LDAP_SERVICE_DELIVER='deliver'
  144. export LDAP_SERVICE_LDA='lda'
  145. export LDAP_SERVICE_FORWARD='forward'
  146. export LDAP_SERVICE_SENDER_BCC='senderbcc'
  147. export LDAP_SERVICE_RECIPIENT_BCC='recipientbcc'
  148. export LDAP_SERVICE_MANAGESIEVE='managesieve'
  149. export LDAP_SERVICE_MANAGESIEVES='managesievesecured'
  150. export LDAP_SERVICE_SIEVE='sieve'
  151. export LDAP_SERVICE_SIEVES='sievesecured'
  152. export LDAP_SERVICE_WEBMAIL='webmail'
  153. export LDAP_SERVICE_AWSTATS='awstats'
  154. export LDAP_SERVICE_SHADOW_ADDRESS='shadowaddress'
  155. export LDAP_SERVICE_DISPLAYED_IN_ADDRBOOK='displayedInGlobalAddressBook'
  156. # Shared attributes.
  157. export LDAP_ATTR_ACCOUNT_STATUS='accountStatus'
  158. export LDAP_ATTR_MTA_TRANSPORT='mtaTransport'
  159. # Domain admin related.
  160. export LDAP_ATTR_DOMAINADMIN_DN_NAME='domainAdmins'
  161. # Domain related attributes.
  162. export LDAP_ATTR_DOMAIN_RDN='domainName'
  163. export LDAP_ATTR_DOMAIN_ALIAS_NAME='domainAliasName'
  164. export LDAP_ATTR_DOMAIN_ADMIN='domainAdmin'
  165. export LDAP_ATTR_DOMAIN_GLOBALADMIN='domainGlobalAdmin'
  166. export LDAP_ATTR_DOMAIN_BACKUPMX='domainBackupMX'
  167. export LDAP_ATTR_DOMAIN_MAX_QUOTA_SIZE='domainMaxQuotaSize'
  168. export LDAP_ATTR_DOMAIN_MAX_USER_NUMBER='domainMaxUserNumber'
  169. export LDAP_ATTR_DOMAIN_SENDER_BCC_ADDRESS='domainSenderBccAddress'
  170. export LDAP_ATTR_DOMAIN_RECIPIENT_BCC_ADDRESS='domainRecipientBccAddress'
  171. # Values of domain related attributes.
  172. export LDAP_VALUE_DOMAIN_GLOBALADMIN='yes'
  173. export LDAP_VALUE_DOMAIN_BACKUPMX='yes'
  174. # Group related.
  175. export LDAP_ATTR_GROUP_RDN='ou'
  176. export LDAP_ATTR_GROUP_USERS='Users'
  177. export LDAP_ATTR_GROUP_GROUPS='Groups'
  178. export LDAP_ATTR_GROUP_ALIASES='Aliases'
  179. export LDAP_ATTR_GROUP_EXTERNALS='Externals'
  180. # Attributes of group object.
  181. export LDAP_ATTR_GROUP_ACCESSPOLICY='accessPolicy'
  182. export LDAP_ATTR_GROUP_HASMEMBER='hasMember'
  183. export LDAP_ATTR_GROUP_MEMBER='mailForwardingAddress'
  184. export LDAP_ATTR_GROUP_ALLOWED_USER='listAllowedUser'
  185. # Values of group related attributes.
  186. export LDAP_VALUE_GROUP_HASMEMBER='yes'
  187. # Attributes of user object.
  188. export LDAP_ATTR_USER_RDN='mail'
  189. export LDAP_ATTR_USER_PASSWD='userPassword'
  190. export LDAP_ATTR_USER_HOME_DIRECTORY='homeDirectory'
  191. export LDAP_ATTR_USER_STORAGE_BASE_DIRECTORY='storageBaseDirectory'
  192. export LDAP_ATTR_USER_SENDER_BCC_ADDRESS='userSenderBccAddress'
  193. export LDAP_ATTR_USER_RECIPIENT_BCC_ADDRESS='userRecipientBccAddress'
  194. export LDAP_ATTR_USER_BACKUP_MAIL_ADDRESS='backupMailAddress'
  195. export LDAP_ATTR_USER_QUOTA='mailQuota'
  196. export LDAP_ATTR_USER_FORWARD='mailForwardingAddress'
  197. export LDAP_ATTR_USER_RESTRICTION_CLASS='restrictionClass'
  198. export LDAP_ATTR_USER_RESTRICTED_DOMAIN='restrictedDomain'
  199. export LDAP_ATTR_USER_MEMBER_OF_GROUP='memberOfGroup'
  200. export LDAP_ATTR_USER_SHADOW_ADDRESS='shadowAddress'
  201. # Values of user related attributes.
  202. export LDAP_STATUS_ACTIVE='active'
  203. #### END LDAP schema ####