
In our company, Zimbra Collaboration Server is used as the mail server. And although when typing the address, suitable names are automatically substituted into the address field, once the task was to make a general address book based on the GAL (global address list). The advantage of this book is that it is always up to date, account operations (delete / add / edit) are automatically applied to the book and displayed to all users. In principle, the task is not difficult, but as it turned out, somewhat complicated. Therefore, I will describe the whole process in order to help those who are faced with a similar one. And also I will give examples of correcting possible errors.
The description concerns the Zimbra Coloboration Server version 7.1.x installed on the Ubuntu server. Describes the GAL setting in Internal mode. Used materials from the article GAL Sync Account , as well as Zimbra forumIn general terms, the operation looks like this. To get a user with a shared address book, which after a certain interval is synchronized with the GAL server.
The official guide suggests using the name galsync@domain.com. In general, it does not matter what the name of this user will be called and what the name of the address book will be. Share name users can always change. But if you want originality, you can choose a name to your taste.')
In our case, the account will be called addressbook@rabota.loc, and the share will be named users.
Think through the username in advance. After activating it as a GAL sync, changing it will be not only impossible, but rather problematic. In no case do not delete the created user galsync. To correct the error received in the future is also difficult.You can perform the operation on the establishment of the user galsync with a shared resource from the command line on behalf of the user zimbra:
zmgsautil createAccount -a addressbook@rabota.loc -n users --domain rabota.loc -t zimbra -f users
To synchronize your address book with a GAL:
zmgsautil forceSync -a addressbook@rabota.loc -n users

Or through admin panel:
In the Administration Server window, in the “Configuration” section, select “Domains”, select the domain name, go to the GAL tab, Click the “Configure GAL” button.

Enter user galsync name, share name, update time (minimum 60 seconds).

Click "Next", click "Finish".
After that, the GAL settings will look like this:

To synchronize the address book of a new user with the GAL list, execute the command on behalf of the Zimbra user:
zmgsautil forceSync -a addressbook@rabota.loc -n users
You can make sure that the user is created by looking at the list of accounts.

Next, go to the next step - sharing the book for access.
Go to the addressbook of the user addressbook,

Right-click on the _users folder, select "Shared access to the address book", enter the user (s), define access rights, click "OK".

Now we go into the mail of the user who was given access. And we see something like the following message:


Click the button “Accept the sharing profile”, call the resource the desired name

and get the address book automatically synchronized with the GAL.
Error correction.And so you disobeyed the advice above and decided to change the user created by GALsync. Unfortunately, it will not work to change it with admin tools. To do this, have to resort to using the command line.
On behalf of Zimbra user:
$ zmgsautil deleteAccount -a addressbook@rabota.loc
$ zmgsautil createAccount -a galuser@rabota.loc -n gbook --domain rabota.loc -t zimbra -f gbook
: galuser@rabota.loc 76fd93f6-39ea-4f55-92ea-7ed6f8442dd8
$ zmprov modifyDomain rabota.loc zimbraGalAccountId 76fd93f6-39ea-4f55-92ea-7ed6f8442dd8
After that, in the Administration Server window, in the Configuration section, select Domains, select the domain name, go to the GAL tab, change the GAL polling interval, and click Save. The purpose of this procedure to achieve the message "There is no such account"

Without this step, for some reason, the changes are not applied. But after that, click "Configure GAL" and in the window "GAL Setup Wizard" we see the newly created user.

Do not forget to click "Next" and "OK"
And one more case of an error I had to deal with was removing a galsync user from the admin area. This is a blunder. Its result is this:

This error is almost solved:
$ zmgsautil createAccount -a galuser@rabota.loc -n gbook --domain rabota.loc -t zimbra -f gbook
: galuser@rabota.loc 76fd93f6-39ea-4f55-92ea-7ed6f8442dd8
$ zmprov modifyDomain rabota.loc zimbraGalAccountId 76fd93f6-39ea-4f55-92ea-7ed6f8442dd8