> On Jul 17, 2015, at 1:29 AM, Yavuz Maşlak <[email protected]> wrote:
>
>
>
> On 15/07/15 18:16, "Christian M. Jensen" <[email protected]> wrote:
>
>> Hi,
>>
>> On 15-07-2015 16:56, Yavuz Maşlak wrote:
>>>
>>> On 15/07/15 16:25, "Francis Lachapelle" <[email protected]> wrote:
>>>
>>>> Hello Yavuz
>>>>
>>>>> On Jul 15, 2015, at 3:23 AM, Yavuz Maşlak <[email protected]>
>>>>> wrote:
>>>>>
>>>>>
>>>>> i have 3 domains ( for example a.com b.com c.com ).
>>>>>
>>>>> Users of A.com and b.com can see eachother but c.com
>>>>> C.com ¹s users can only see eachother but other domains.
>>>>>
>>>>> How can i do that ?
>>>>>
>>>>> Could you give me an example?
>>>> This should do it:
>>>>
>>>> SOGoDomainsVisibility = ( (a.com, b.com), (c.com) );
>>>>
>>>>
>>>> Francis--
>>>> [email protected]
>>>> https://inverse.ca/sogo/lists
>>> I tried now. Unfortunately, it does not work.
>>> Whan can be the problem ?
>>>
>>
>> How do you define your domains in SOGo configuration?
>>
>> if your just set all your configuration in 'SOGoUserSources' then SOGo
>> has no way of detecting what user source belong to what domain
>> but if you use the 'Domains' value then 'SOGoDomainsVisibility' will
>> work as expected
>>
>> using the domain parameter:
>>
>> domains = {
>> "domain.com" = {
>> SOGoMailDomain = "domain.com";
>> SOGoSuperUsernames = (
>> "[email protected]"
>> );
>> SOGoUserSources = (
>> {
>> type = sql;
>> id = "sql-auth";
>> isAddressBook = NO;
>> .....
>> },
>> {
>> type = sql;
>> id = "sql_addressbook";
>> isAddressBook = YES;
>> .....
>> }
>> );
>> };
>> "domain1.com" = {
>> SOGoMailDomain = "domain1.com";
>> SOGoSuperUsernames = (
>> "[email protected]"
>> );
>> SOGoUserSources = (
>> {
>> type = ldap;
>> id = "ldap_auth";
>> isAddressBook = NO;
>> .....
>> },
>> {
>> type = ldap;
>> id = "ldap_addressbook";
>> isAddressBook = YES;
>> .....
>> }
>> );
>> };
>> };
>>
>>
>> Regards
>> Christian Jensen
>> --
>> [email protected]
>> https://inverse.ca/sogo/lists
>
> Hi
>
> Does ldap id have to be different for every domain in Sogousersources?
> SOGoDomainsVisibility does not work in my conf.
> My sogo.conf;
> ###
> {
> SOGoDebugRequests = YES;
> LDAPDebugEnabled = YES;
> SOGoEASDebugEnabled = YES;
> WOWorkersCount = 50;
> WOPort = 127.0.0.1:20000;
> WOLogFile = /var/log/sogo/sogo.log;
> SOGoProfileURL =
> "mysql://sogo:[email protected]:3306/sogo/sogo_user_profile";
> OCSFolderInfoURL =
> "mysql://sogo:[email protected]:3306/sogo/sogo_folder_info";
> OCSSessionsFolderURL =
> "mysql://sogo:[email protected]:3306/sogo/sogo_sessions_folder";
> SOGoLanguage = English;
> SOGoLoginModule = Mail;
> SOGoForceExternalLoginWithEmail = YES;
> SOGoMailCustomFromEnabled = YES;
> SOGoEnableEMailAlarms = YES;
> SOGoIMAPServer = "imap://127.0.0.1:143/";
>
> SOGoDomainsVisibility = "( (domain.com, domain1.com), (domain2.com) )";
>
> SOGoMailingMechanism = smtp;
> SOGoSMTPServer = 127.0.0.1;
> SOGoMemcachedHost = 127.0.0.1;
> SOGoTimeZone = "Asia/Istanbul";
> SOGoFirstDayOfWeek = 1;
> SOGoRefreshViewCheck = every_5_minutes;
> SOGoMailReplyPlacement = below;
> SOGoAppointmentSendEMailNotifications = YES;
> SOGoFoldersSendEMailNotifications = YES;
> SOGoACLsSendEMailNotifications = YES;
> SOGoPasswordChangeEnabled = YES;
> SQL backend */
>
> domains = {
> “domain.com" = {
> SOGoMailDomain = “domain.com";
> SOGoUserSources = (
> {
> type = ldap;
> hostname = "ldap://127.0.0.1:389";
> baseDN = "o=domains,dc=root,dc=com";
> bindDN = "cn=vmailadmin,dc=root,dc=com";
> bindPassword = “PASS”;
> filter = "objectClass=mailUser AND accountStatus=active";
> scope = SUB;
> userPasswordAlgorithm = ssha;
> IDFieldName = mail;
> bindFields = (mail);
> CNFieldName = cn;
> UIDFieldName = mail;
> IMAPLoginFieldName = mail;
> SearchFieldNames = (cn, sn, displayName, telephoneNumber,
> mail, shadowAddress);
> canAuthenticate = YES;
> displayName = "LDAP Auth";
> id = ldap_auth;
> isAddressBook = NO;
> },
> {
> type = ldap;
> hostname = "ldap://127.0.0.1:389";
> baseDN = "o=domains,dc=root,dc=com";
> bindDN = "cn=vmailadmin,dc=root,dc=com";
> bindPassword = “PASS”;
> filter = "objectClass=mailUser AND accountStatus=active AND
> enabledService=mail";
> scope = SUB;
> userPasswordAlgorithm = ssha;
> IDFieldName = mail;
> bindFields = (mail);
> CNFieldName = cn;
> UIDFieldName = mail;
> IMAPLoginFieldName = mail;
> SearchFieldNames = (cn, sn, displayName, telephoneNumber,
> mail, shadowAddress);
> canAuthenticate = NO;
> displayName = "Global Address Book";
> id = ldap_addressbook;
> isAddressBook = YES;
> }
> );
> };
>
> “domain1.com" = {
> SOGoMailDomain = “domain1.com";
> SOGoUserSources = (
> {
> type = ldap;
> hostname = "ldap://127.0.0.1:389";
> baseDN = "o=domains,dc=root,dc=com";
> bindDN = "cn=vmailadmin,dc=root,dc=com";
> bindPassword = “PASS”;
> filter = "objectClass=mailUser AND accountStatus=active";
> scope = SUB;
> userPasswordAlgorithm = ssha;
> IDFieldName = mail;
> bindFields = (mail);
> CNFieldName = cn;
> UIDFieldName = mail;
> IMAPLoginFieldName = mail;
> SearchFieldNames = (cn, sn, displayName, telephoneNumber,
> mail, shadowAddress);
> canAuthenticate = YES;
> displayName = "LDAP Auth";
> id = ldap_auth2;
> isAddressBook = NO;
> },
> {
> type = ldap;
> hostname = "ldap://127.0.0.1:389";
> baseDN = "o=domains,dc=root,dc=com";
> bindDN = "cn=vmailadmin,dc=root,dc=com";
> bindPassword = “PASS”;
> filter = "objectClass=mailUser AND accountStatus=active AND
> enabledService=mail";
> scope = SUB;
> userPasswordAlgorithm = ssha;
> IDFieldName = mail;
> bindFields = (mail);
> CNFieldName = cn;
> UIDFieldName = mail;
> IMAPLoginFieldName = mail;
> SearchFieldNames = (cn, sn, displayName, telephoneNumber,
> mail, shadowAddress);
> canAuthenticate = NO;
> displayName = "Global Address Book";
> id = ldap_addressbook2;
> isAddressBook = YES;
> }
> );
> };
>
>
> "domain2.com” = {
> SOGoMailDomain = "domain2.com";
> SOGoUserSources = (
> {
> type = ldap;
> hostname = "ldap://127.0.0.1:389";
> baseDN = "o=domains,dc=root,dc=com";
> bindDN = "cn=vmailadmin,dc=root,dc=com";
> bindPassword = “PASS”;
> filter = "objectClass=mailUser AND accountStatus=active";
> scope = SUB;
> userPasswordAlgorithm = ssha;
> IDFieldName = mail;
> bindFields = (mail);
> CNFieldName = cn;
> UIDFieldName = mail;
> IMAPLoginFieldName = mail;
> SearchFieldNames = (cn, sn, displayName, telephoneNumber,
> mail, shadowAddress);
> canAuthenticate = YES;
> displayName = "LDAP Auth";
> id = ldap_auth3;
> isAddressBook = NO;
> },
> {
> type = ldap;
> hostname = "ldap://127.0.0.1:389";
> baseDN = "o=domains,dc=root,dc=com";
> bindDN = "cn=vmailadmin,dc=root,dc=com";
> bindPassword = “PASS”;
> filter = "objectClass=mailUser AND accountStatus=active AND
> enabledService=mail";
> scope = SUB;
> userPasswordAlgorithm = ssha;
> IDFieldName = mail;
> bindFields = (mail);
> CNFieldName = cn;
> UIDFieldName = mail;
> IMAPLoginFieldName = mail;
> SearchFieldNames = (cn, sn, displayName, telephoneNumber,
> mail, shadowAddress);
> canAuthenticate = NO;
> displayName = "Global Address Book";
> id = ldap_addressbook3;
> isAddressBook = YES;
> }
> );
> };
> }
> ###
How do you test your "domain visibility" settings exactly?
A user from domain.com should see all system addressbooks from domain.com and
domain1.com. Maybe you have unique display names for your addressbooks
ldap_addressbook and ldap_addressbook2.
Francis--
[email protected]
https://inverse.ca/sogo/lists