Я пытаюсь настроить программное обеспечение для совместной работы kolab на моем сервере Ubuntu 14.04. Я следую инструкциямздесь.
Ошибки, которые я получаю во время «setup-kolab»:
Could not import LDIF file '/tmp/ldifsAgNzA.ldif'. Error: 65280. Output: ./ldif2db: 85: [: 0: unexpected operator
importing data ...
[04/Jul/2015:19:28:52 -0500] - mkdir_p /var/lib/dirsrv/slapd-core: error -5966 (Access Denied.)
[04/Jul/2015:19:28:52 -0500] - Can't start because the database directory "/var/lib/dirsrv/slapd-core/db" either doesn't exist, or is not accessible
[04/Jul/2015:19:28:52 -0500] - ERROR: Failed to init database (error -1: BDB0092 Unknown error: -1)
Error: Could not create directory server instance 'core'.
Exiting . . .
Log file is '/tmp/setupOrcgdf.log'
Я создал нового пользователя и группу (называемые kolab-srv и kolab-srv-grp), а затем запустил setup-kolab. Я получаю указанную выше ошибку. Кажется, не имеет значения, вошел ли я в систему как root, запустил это с помощью команды sudo или добавил пользователя kolab-srv в группу администраторов на коробке... Я каждый раз получаю одно и то же сообщение.
Каждый раз, когда я получал это сообщение, я удалял каталог /var/lib/dirsrv/slapd-core
, вносил изменения и начинал настройку заново, но результат был тот же.
решение1
Я пытался установить 389-ds на Ubuntu 14.04, который, кажется, является частью kolab. Я столкнулся с той же проблемой. Похоже, это «баг» в скрипте ldif2db, который вызывается по ходу дела. Версия этого скрипта, которая устанавливается через обычные пакеты, имеет:
#!/bin/sh
Что дает сбой в строке 85:
if [ $? == 1 ]
Что недопустимо для /bin/sh. Мне удалось обойти это, изменив скрипт /usr/sbin/ldif2db, чтобы он начинался с:
#!/bin/bash
Очень хакерский подход, который наверняка вызовет проблемы в других местах, но...
решение2
Я получил ту же ошибку на Debian Testing (strech) при попытке запустить Dogtag.
Я создал символическую ссылку с /bin/sh
на, /bin/bash
но все равно получаю ту же ошибку.
Затем я проверил пользователя и группу, назначенную/var/lib/dirsrv
# ls -lha /var/lib/dirsrv/<br>
total 8.0K<br>
drwxr-x--- 2 dirsrv dirsrv 4.0K Mar 9 2015 .<br>
drwxr-xr-x 29 root root 4.0K Apr 8 17:00 ..<br>
Чтобы обойти эту проблему, я использовал dirsrv
пользователя и группу для установки, и тогда это сработало.