Это старый вариант инструкции, который сейчас уже не обновляется. Новый вариант доступен здесь

ПО, необходимое для загрузки

С сайта XWiki

  • Базовый продукт XWiki Enterprise:
    • берем war-файл - собственно само приложение,
    • и также xar-файл - содержит начальные настройки и базовые страницы wiki.
  • Также доступны для скачивания множественные дополнительные плагины и приложения, которые будут рассмотрены отдельно.

Другое ПО

  • Вам нужен Application Server / Servlet Container и адекватная версия Java к нему. Имеются разные варианты, в т.ч.:
    • Jetty. И для Jetty достаточно Java JRE
    • GlassFish Для GlassFish нужен вариант Java JDK, который включает в себя JRE.
  • Вам нужны Oracle 10g JDBC Drivers,  версию брать в зависимости от версии Oracle и проблем с nls (о проблемах с nls - см. ниже). Для Oracle 10G предлагается ojdbc14.jar, а для Oracle 11G - ojdbc5.jar, или ojdbc6.jar. Эти файлы бывают разных версий в зависимости от редакций Oracle. В реальности ojdbc6.jar работает и с Oracle 10G.

    Примечание. В некоторых случаях версия jdbc-драйвера может быть актуальна. Например, с OracleXE есть проблема связанная с тем, что JDBC Drivers от текущей версии XE 10.2.0.1 не совсем подходят - в них имеются проблемы с nls (языковыми настройками). С XE 10.2.0.1 корректно работают jdbc-драйвера от  10.1.0.2 (почему-то). Ситуация возникала с XWiki 2.0 M3 - с учетом, что это был предварительный релиз 2.0 - возможно проблема именно в этом.
  • В случае, если СУБД Oracle будет устанавливаться локально, то Вам нужна база данных Oracle, например 10g Express Edition.
  • В процессе настройки LDAP идентификации, Вам могут потребоваться программы-утилиты:
    • LDAP Explorer Tool - этой утилиты в принципе может быть достаточно
    • LDAP Browser/Editor
    • Windows Server 2003 Administration Tools - набор средств, для администрирования Active Directory. Бывает разных версий, в зависимости от версии Service Pack для Windows 2003 (без SP, SP1, SP2). На компьютерах с Win2003 этот набор имеется в C:\Windows\System32\adminpak.msi. Для установки в Windows XP также может потребоваться соответствующий патч.
    • Softerra LDAP Browser 2.6 - имеет смысл юзать при возникновении проблем
    • Wireshark - можно брать portable-вариант, имеет смысл юзать при возникновении проблем

Установка XWiki Enterprise

  • Сначала устанавливаем Java (JRE или JDK). Запускаем installer и дальше все автоматически.
  • Далее устанавливаем Application Server / Servlet Container:
    • Для Jetty просто распаковываем zip файл с jetty в C:\Jetty.
    • Для GlassFish - запускаем installer и отвечаем на вопросы (Java DB можно не ставить, Update Tool - надо ставить).  
  • Теперь надо установить XWiki в Application Server:
    • Для Jetty - распаковываем war-файл Xwiki в C:\Jetty\Webapps\Xwiki (winrar-ом например).
    • Для GlassFish все чуток сложнее:
      • запускаем GlassFish командой C:\glassfishv3\bin\asadmin start-domain (останавливать - командой stop-domain).
      • В браузере набираем http://localhost:4848 и заходим в админ-консоль (имя и пароль задаются при инсталляции, удобнее всего как в XWiki - Admin, admin).
      • Выбираем в дереве слева Applications а в правой части - Deploy.
      • Открываем с диска war-файл XWiki.
      • Устанавливаем: Type = Web Application, Context Root = xwiki, Application name = xwiki. Остальные параметры можно не менять.
  • Копируем файл JDBC-драйвера (ojdbc14.jar / ojdbc5.jar / ojdbc6.jar) в \xwiki\WEB-INF\lib.
  • В случае необходимости (если будем использовать локальную БД), следует установить OracleXE:
    • Собственно инсталляция Oracle через setup.
    • После установки заходим через web-доступ в консоль управления Oracle. Если не зайти хотя-бы один раз то база потом почему-то будет недоступна через другие средства (toad), возможно это глюк версии XE 10.2.0.1.
    • Меняем порт для HTTP-доступа Oracle на 8088 (т.к. 8080 стоит по умолчанию на web-консоли XE и совпадает с портом у Jetty / GlassFish). Для этого надо:
      • подключиться к Oracle под юзером DBA System: connect system;
      • выполнить команду EXEC DBMS_XDB.SETHTTPPORT(8088); Делать надо через sqlplus или Toad, т.к. встроенная web-консоль не допускает выполнение этой команды.
      • Для Glassgish возможен обратный вариант, когда устанавливаем порт для Glassfish, например в 80. Причем если OracleXE установлен и запущен, Glassfish автоматически определит это прямо при инсталляции и предложит другой порт.
  • Следующий шаг - создание БД:
    • подключаемся к Oracle dba-юзером
    • и создаем схему create user xwiki identified by xwiki;
    • Назначаем привелегии grant all privileges to xwiki;

      Примечание. Можно не назначать полные привелегии, а оставить "по умолчанию". Полные привелегии могут потребоваться для режима multi-wiki (пока в точности не известно).
  • Далее занимаемся редактированием файла конфигурации соединения с БД \Xwiki\WEB-INF\hibernate.cfg. В данном файле приведены варианты настройки соединений под основные распространенные СУБД. Следует:
    • Закомментировать строки не относящиеся к Oracle.
    • Разкомментировать ту часть, где касается Oracle.
    • Указываем параметры коннекта к базе (SID и host).

      Примечание. Причем если база стоит локально, можно оставить localhost.
  • Пробуем запускать Jetty / GlassFish (и XWiki соответственно):
    • Запуск Jetty:
      • Это можно сделать вручную из командной строки. Для этого запускаем dos-консоль в папке с jetty и выполняем: java -jar start.jar etc/jetty.xml
      • Через какое-то время можно протестить в браузере: http://localhost:8080. Должна открыться тестовая страничка jetty. Для остановки выполнения из командной строки следует использовать ctrl+c.
      • Лучше установить jetty как сервис windows. Для этого следует в папке C:\Jetty\Bin выполнить команду: Jetty-Service.exe --install jetty-service.conf - в списке виндовых сервисов появиться jetty. Дальше запускаем и останавливаем через консоль управления сервисами windows. Для деинсталяции выполнить: Jetty-Service.exe --remove jetty-service.conf.
    • GlassFish запустился сразу выполнения команды start-domain, а XWiki также стартовала, при операции Deploy.
      • Соответственно, сейчас требуется просто сделать Restart XWiki в админ-консоли GlassFish.
      • Если устанавливать GlassFish как windows-service, то следует остановить GlassFish командой asadmin stop-domain, а потом установить сервис командой asadmin create-service. Помимо windows-оснастки, управление сервисом можно осуществлять из командной строки, следующими командами:
Start Command:  C:\glassfishv3\glassfish\domains\domain1\bin\domain1Service.exe  start
Stop Command:   C:\glassfishv3\glassfish\domains\domain1\bin\domain1Service.exe  stop
Uninstall Command:  C:\glassfishv3\glassfish\domains\domain1\bin\domain1Service.exe  uninstall
Install Command:  C:\glassfishv3\glassfish\domains\domain1\bin\domain1Service.exe  install
  • Теперь пробуем открыть xwiki: http://localhost:8080/xwiki.  Если все нормально, то откроется начальная страница xwiki.
  • Далее следует установить начальные настройки xwiki (xar-файл).  Для этого на начальной странице xwiki находим и выбираем Administration. Откроется страничка, на которой будет возможность выбора файла с диска. Выбираем с диска xar-файл от xwiki. После выбора нажимаем attach this file (левая нижняя кнопка из имеющихся).
  • После "аттача" в списке чуть выше появится строка таблицы с указанием xar-файла. Кликаем на нее. Через несколько секунд ниже или справа строки таблицы появится список всех обектов xwiki, предназначенных для импорта с возможностью отключения/включения каждого (галочками). По умолчанию все включено. Внизу списка есть отдельная невыбранная опция with history - ее не надо выбирать (так по умолчанию и есть). Чуть ниже кнопка Import - нажимаем. Через некоторое время откроется начальная страница xwiki для логина. Значит процесс успешно завершен, база успешно создана и настройки xwiki по умолчанию загружены.
  • Первоначально логиниться следует под пользователем Admin, а пароль admin. Все администрирование осуществляется через Administration раздел (кнопка в правом верхнем углу).

Настройка многоязычной поддержки

Многоязычная поддержка обеспечивается тем, требуется все базовые элементы, которые так или иначе используются настроить на UTF-8. Это касается собственно XWiki, Jetty, Oracle и OS. После настройки следует включить многоязычность в XWiki и указать доступные языки.

Включение поддержки UTF-8

  • Для самой XWiki, версии более 1.9 - не требуется!
  • Включение UTF-8 для Jetty.
    • Если jetty запускаем из командной строки, то следует создать bat-файл start_jetty.bat со следующим содержанием:
echo off
rem set LANG=fr_FR.ISO8859-1
set LANG=en_US.UTF-8
set JETTY_PORT=8080
set JETTY_HOME=.
java %JAVA_OPTS% -Djetty.port=%JETTY_PORT% -Djetty.home=%JETTY_HOME% -Dfile.encoding=UTF-8 -jar %JETTY_HOME%/start.jar

    • Если же используется запуск Jetty через windows-сервис, то в файл C:\jetty\bin\jetty-service.conf после строки wrapper.java.additional.2 следует добавить строку:
wrapper.java.additional.3=-Dfile.encoding=UTF-8## после строки ##wrapper.java.additional.2
  • Включение UTF-8 для Oracle
    • Следует добавить в файл C:\jetty\webapps\xwiki\WEB-INF\hibernate.cfg.xml перед строкой <mapping resource="xwiki.oracle.hbm.xml"/> 2 строки:
<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">UTF-8</property>

    • Также в документации сказано, что следует устанавливать Oracle в варианте UTF-8. Однако в реальности пробовалась работа с уже установленным и сконфигурированным Oracle, где при инсталляции выбиралось Win1251 - и ни каких проблем не было - и русские символы и румынские сохранялись и отображались правильно. На самом деле это не всегда так в отношении румынских символов (с русскими проблем нет). Румынские символы вроде бы сохраняются, потом странички показываются с диакритикой, но в какой-то момент они все корректно заменяются аналогичные символы без диакритики. Таки по всей видимости следует использовать Oracle ТОЛЬКО в варианте UTF-8 (задавать при инсталяции).
  • Для включения UTF-8 для Windows В переменные окружения ОС следует добавить переменную LANG со значением en_US.UTF-8.

Многоязычность в XWiki

  • Поддержка нескольких языков в XWiki включается в web-конфигураторе Xwiki, в разделе General. Следует включить режим многоязычности и перечислить, через запятую, языки, которые будут доступны пользователям. Переключатель языков появляется в правом верхнем углу XWiki.
  • В текущих версиях XWiki невозможно настроить язык интерфейса системы отдельно от языка пользовательской страницы. Соответственно, чтобы появилась возможность переключения языков, следует перевести содержимое страницы на заданные в настройках языки. При включенном режиме поддержки нескольких языков, в режиме редактирования страницы, появляется специальное меню, позволяющее добавлять переводы к данной странице.

Установка Сервера OpenOffice

Установка сервера OpenOffice необходима для обеспечения функциональности импорта и вставки из буфера обмена офисных документов.

  • Устанавливаем OpenOffice.
  • Запускаем его один раз, чтобы выполнился мастер регистрации.
  • Устанавливаем Windows Server 2003 Resource Kit - это необходимо, т.к. в составе Resource Kit имеется утилита для создания сервиса из обычного exe-файла.
  • Выполняем в командной строке для добавления сервиса команду:
"C:\Program Files\Windows Resource Kits\Tools\INSTSRV.EXE" OpenOfficeUnoServer "C:\Program Files\Windows Resource Kits\Tools\SRVANY.EXE"
  • Запускаем из Run Regedit, находим раздел [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OpenOfficeUnoServer и встаем на него
  • Добавляем подраздел (key) Parameters и встаем на него.
  • Добавляем строковый параметр (string value) Application со значением C:\Program Files\OpenOffice.org 3\program\soffice.exe.
  • Добавляем строковый параметр (string value) AppParameters со значением -headless -accept=socket,port=8100;urp;
  • Открываем файл C:\Program Files\OpenOffice.org 3\Basis\share\registry\data\org\openoffice\Setup.xcu. Находим в нем текст:
<prop oor:name="ooSetupInstCompleted">
 <value>false</value>
</prop>
<prop oor:name="ooSetupShowIntro">
 <value>true</value>
</prop>

и заменяем его на:

<prop oor:name="ooSetupInstCompleted" oor:type="xs:boolean">
<value>true</value>
</prop>
<prop oor:name="LicenseAcceptDate" oor:type="xs:string">
<value>2006-07-25T17:34:04</value>
</prop>
<prop oor:name="FirstStartWizardCompleted" oor:type="xs:boolean">
<value>true</value>
</prop>

при этом дату и время указываем свое, больше даты установки OpenOffice.

  • Идем в оснаску Services и запускаем сервис OpenOfficeUnoServer.
  • Открываем файл \xwiki\WEB-INF\xwiki.properties, разкоментируем и меняем в нем следующие стринги:
    • openoffice.serverType=1 (для версии выше 1.9)
    • и openoffice.autoStart=true  (для версии выше 1.9)
    • и еще openoffice.homePath=C:/Program Files/OpenOffice.org 3
    • а также openoffice.profilePath=C:/Documents and Settings/LocalService/Application Data/OpenOffice.org/3
  • Перезапускаем jetty или glassfish, открываем xwiki, идем в Administration, OpenOffice Server - поле Status должно показывать "running" если все нормально.

Решение проблем и тюннинг

  • Для решения проблемы с аттачами в Jetty (атачи не прикладываются или же при добавлнении или удалении аттача выдается ошибка) следует увеличить память выделяемую для java.
    • В случае если запуск jetty осуществляется через bat-файл, то в основной строке вызова следует стринг %JAVA_OPTS% заменить на -Xmx1024m.
    • Если вызов происходит через windows-сервис, то в файле C:\jetty\bin\jetty-service.conf для параметра wrapper.java.maxmemory следует установить значение 1024.
  • Для версий XWiki ниже 2.0 имеет смысл переключить синтакс по умолчанию. Для этого надо открыть C:\jetty\webapps\xwiki\WEB-INF\xwiki.properties и в соответствующем месте указать core.defaultDocumentSyntax = xwiki/2.0.
  • При использовании Jetty, если при вставке большого объема текста в вики-страничку происходит при сохранении ошибка: Form too large, то следует в настройках jetty добавить:
    • В случае, если вызов идет через bat-файл, то добавляем в него -Dorg.mortbay.jetty.maxFormContentSize=1000000
    • Если вызов jetty происходит через windows-сервис, то следует добавить строку: wrapper.java.additional.4=-Dorg.mortbay.jetty.Request.maxFormContentSize=1000000
  • Если требуется чтобы имена прикрепленных файлов показывались полностью (по умолчанию показывается только 1-ые 25 символов), следует в attachmentsinline.vm в папке templates добавить первую строку #set($maxnamelength = 256)
  • Проблемы windows-сервиса jetty.
    • Иногда windows-сервис jetty не запускается. В таком случае его следует запустить через bat-файл start_jetty.bat или из командной строки. Обычно потом (после остановки командной строки) windows-сервис уже запускается.
    • Еще один способ чтобы победить упрямый windows-сервис jetty, который частенько не хочет стартовать. В настройках сервиса есть специальная закладка, где можно настроить действия в случае неуспешного старта сервиса. Как вариант, можно поставить: 1) для первого раза - перезапустить 2) для 2-го раза - вместо сервиса запустить батник start_jetty.bat.
  • Для того, чтобы в Print preview показывалось только собственно содержимое страницы и ничего более следует открыть файл print.css в папке с используемым скином и в раздел /* Hide unneeded stuff */, после строки #globallinks, #footerglobal, добавить строку:
#headerglobal, #hierarchy, #document-title, #document-info, #xdocFooter, #docextrapanes,
  • Для того, чтобы вывести все иконки на тулбар в wysiwyg-редакторе необходимо:
    • открываем templates\macros.vm
    • находим строку plugins: '$xwiki.getXWikiPreference("wysiwyg.plugins", - в этой строке указываются те плагины, которые будут подгружаться, но сам вид тулбаров настраивается ниже.
    • в найденную строку добавляем через пробелы (место не имеет значения) - color font justify - только этих трех плагинов нету в варианте по умолчанию.
    • Теперь в строке toolbar: '$xwiki.getXWikiPreference("wysiwyg.toolbar" добавляем сами иконки. Вот полный вариант:
bold italic underline strikethrough teletype | subscript superscript | justifyleft justifycenter justifyright justifyfull | unorderedlist orderedlist |
outdent indent | undo redo | format | fontname fontsize forecolor backcolor | hr removeformat symbol | paste

- символ "|" означает строчный разделитель, символ "/" - разбивает тулбар на несколько строк.

  • Для того, чтобы обеспечить сортировку прикрепленных файлов по дате изменения, следует в файле attachmentsinline.vm в папке templates после строки #set($attachments = $doc.attachmentList) (и соответственно перед <div id="attachmentscontent" class="xwikiintracontent">) добавить:
#set($attachmentsMap = $util.hashMap)
#foreach($a in $attachments)
  #if(!$attachmentsMap.containsKey($a.date))
    #set($discard = $attachmentsMap.put($a.date, $util.arrayList))
  #end
  #set($discard = $attachmentsMap.get($a.date).add($a))
#end
#set($dates = $util.arrayList)
#foreach($date in $attachmentsMap.keySet())
  #set($discard = $dates.add($date))
#end
#set($dates = $util.sort($dates))
#set($dates = $util.reverseList($dates))
#set($attachments = $util.arrayList)
#foreach($date in $dates)
  #set($discard = $attachments.addAll($attachmentsMap.get($date)))
#end 
  • В некоторых случаях, некорректная работа appache приводит к тому, что функция getURL возвращает полный путь к ресурсу, и как следствие, часть функционала портится. Например, такая ситуация наблюдается для XWiki, установленной на ресурсе UNA.MD, в частности нарушается визуальное отображение страницы Main.Spaces. При этом, если открывать эту страницу из локальной сети - то все в порядке. Проблема имеет место только в случае адресации через внешний сайт UNA.MD (т.е. внешний appache). Проблема именно в appache, однако путем переписывания кода страницы можно исправить ситуацию (следует исключить getURL). См. исправленный код страницы Main.Spaces:


Кликните здесь, чтобы просмотреть полный текст

  • Для решения проблемы (oracle-related) с показом аттачей в Document Index (страница Main.AllDocs) на закладке files (Файлы) следует на странице XWiki.AllAttachmentsResults поменять:
      #else #set($sql = "and lower(doc.fullName) <> ’’ ") #end
    на
      #else #set($sql = "and lower(doc.fullName) is not NULL") #end
  • Аттачи-файлы MS Office 2007 и OpenOffice в IE сохраняются как zip-архивы (с расширением zip). Проблема имеет место только в IE. Решение такое - в файл web.xml, который лежит в папке WEB-INF приложения добавить в соответствующем месте (поискать по mime):


Кликните здесь, чтобы просмотреть полный текст

  • Проблемы с импортом xar-файлов, проявляющиеся на версиях XWiki 2.3, 2.4 на Glassfish v.3 (выдается ошибка: number 0 in 11: Uncaught exception Wrapped Exception: org.apache.commons.codec.binary.Base64), связаны с тем, что Glassfish и XWiki имеют разные версии одной и той же библиотеки. Для решения проблемы следует скопировать файл commons-codec-1.4.jar из \xwiki\WEB-INF\lib в папку \glassfishv3\glassfish\modules а оттуда удалить commons-codec-repackaged.jar. Вроде бы данная проблема будет решена в XWiki 2.5 и замены библиотеки не потребуется.
  • Ограничение в 10MB для upload-а. В XWiki имеется ограничение на upload. Для его регулирования следует:
    • edit the XWiki.XWikiPreferences class and add a NumberProperty field of type long, named upload_maxsize; if the field already exists, you can skip this step
    • edit the XWiki.XWikiPreferences object and specify the desired maximum attachment size (in bytes)

Настройка LDAP-идентификации

Включение LDAP-идентификации в XWIki обеспечивает идентификацию пользователей через внешние системы идентификации, например Windows Active Directory. В данном примере рассмотрен самый простой случай, когда все пользователи домена получают возможность стать пользователями XWiki. В процессе настройки требуются дополнительные LDAP-утилиты, а сама же настройка выполняется путем редактирования параметров xwiki.cfg.

LDAP-утилиты

  • LDAP Explorer Tool - этой утилиты в принципе будет достаточно.
    • Утилита, устанавливаемая в Windows стандартным образом. После инсталляции запускаем иконку приложения. Откроется окно программы. Для использования - необходимо выполнить настройку подключения к серверу LDAP.
    • Для этого открываем меню File и дальше Configurations, New.
    • На закладке Configuration даем какое-нибудь имя данной конфигурации, т.к. программа позволяет хранить несколько конфигураций подключения.
    • На следующей закладке Server, в поле Server Name указываем имя домен-контроллера Active Directory. Параметры Server port, Server SSL port и Version оставляем без изменений. Нажимаем Test для проверки.
    • Далее переходим на закладку Connection. Т.к. у Active Directory запрещен анонимный доступ, то ввводим User DN - это может быть обычный domain user. Нажимаем галочку Store password и в поле Password вносим пароль этого пользователя. Параметры Use SSL port и Use TLS - не меняем. Ключевое поле - Base DN. Сюда следует заполнить полное имя вашего домена в транскрипции LDAP. Там есть кнопка Guess value, которая пытается сама заполнить это поле, но делает это направильно. Пример правильной записи: для домена internal.moldtelecom.md - DC=internal,DC=moldtelecom,DC=md. После заполнения этого поля жмем Test Connection. На этом создание новой конфигурации закончено - остальные закладки трогать не требуется. В отдельном окне выбора конфигураций выбираем из списка созданную нами конфигурацию и жмем Open. Утилита готова к работе.
      Плюс утилиты в простоте, минус в том, что значения из нее не копируются в буфер обмена.
  • LDAP Browser/Editor - утилита примерно по функциональности соответствует LDAP Explorer Tool, однако это java-аплет, соответственно установки нет - просто распаковываем. Необходимо также откорректировать bat-файл, указав точный путь к JAVA_HOME (куда установлена java). Запускать через этот-же bat-файл.
    Утилита более сложна, больше настроек, они более напонятны. Зато возможен не только просмотр LDAP но и редактирование (если соответствующие права есть), а также выгрузка информации в файлы и в буфер обмена.
  • Windows Server 2003 Administration Tools - предоставляет ряд административных windows-аплетов для работы с Active Directory. LDAP-структуру (т.е. структуру Active Directory) можно просматривать через Active Directory Users and Computers.
    Красиво все видно, но не показывает имена узлов LDAP-directory в полной транскрипции. С этой точки зрения безполезна.
  • Softerra LDAP Browser 2.6 - приложение, аналогично LDAP Explorer Tool, позволяющее осуществлять коннект, просмотр и выгрузку LDAP-директории. Очень мощный интерфейс (пожалуй самый развитый из всех утилит), удобные возможности по выгрузке информации.
  • Wireshark - Собственно говоря, не LDAP утилита, а снифер сетевых пакетов. Может понадобиться в случае, если возникли проблемы с коннектом к LDAP из XWiki, позволяет точно отследить, что передается и что получается в ответ (используя фильтр по протоколу LDAP).

Установка LDAP-параметров

  • Открываем WEB-INF\xwiki.cfg и находим в нем раздел LDAP, в котором сосредоточены все параметры, которые нам требуется заполнить.
  • Сначала включаем LDAP-идентификацию: xwiki.authentication.ldap=1.
  • Далее фиксируем IP-адрес сервера LDAP и TCP/IP порт. Адрес сервера LDAP узнайте заранее - для Active Directory это адрес Domain Controller и порт по умолчанию - 389. Адрес определяется через параметр xwiki.authentication.ldap.server=, а порт - xwiki.authentication.ldap.port=389.
  • Затем нужно записать пользователя и пароль, посредством которого XWiki будет делать запросы к LDAP-серверу, т.к. обычно в Active Directory анонимный доступ закрыт. Имя пользователя определяется через параметр xwiki.authentication.ldap.bind_DN=, а пароль - xwiki.authentication.ldap.bind_pass=.
    Однако записывается не просто имя пользователя, а соответствующая полная транскрипция имени в рамках LDAP. Поэтому находим этого пользователя в директории LDAP посредством утилиты LDAPExplorerTool (например), встаем в левой части окна на данного пользователя, а в правой части - видим его полное имя в транскрипции LDAP. Должно быть что-то вроде CN=Unisim,OU=Users TEMP,DC=internal,DC=moldtelecom,DC=md. Но вообще правильнее передавать не фиксированное имя (чтобы не писать личный пароль), а передавать логин и пароль текущего пользователя, который пытается войти в систему. Для этого следует записать (замените internal на название вашего домена):
xwiki.authentication.ldap.bind_DN=internal\\{0}
xwiki.authentication.ldap.bind_pass={1}
  • Необязательно. Для следующего параметра xwiki.authentication.ldap.validate_password= устанавливаем значение 1.
  • Далее 2 параметра xwiki.authentication.ldap.user_group= и xwiki.authentication.ldap.exclude_group= можно пропустить, т.к. мы не будем устанавливать ограничений по LDAP-группам.
  • Затем следует указать базовый домен для поиска. Это устанавливается параметром xwiki.authentication.ldap.base_DN=. Аналогично имени пользователя, имя домена должно быть записано через полную транскрипцию LDAP. Находим это имя в утилите LDAPExplorerTool (например), встав на самый верхний уровень дерева в левой части окна утилиты - в правой части видим полное имя домена. Должно получиться что-то вроде DC=internal,DC=moldtelecom,DC=md.
  • Следующий важный параметр xwiki.authentication.ldap.UID_attr=, который означает - какое свойство LDAP-директории будет браться в качестве имени пользователя в XWiki. Обычно это CN, но для Active Directory следует брать свойство sAMAccountName. На этом настройку LDAP в XWiki можно считать завершенной.

Примечания:

  • XWiki поддерживает также множество других интересных и в некоторых случаях нужных опций при работе с LDAP. Например, опция, определяющая какую информацию брать из LDAP (по умолчанию имя, фамилия и e-mail), или опция, позволяющая установить или снять возможность обновления информации о пользователе в xwiki из LDAP и другие. Однако, по умолчанию, данные настройки можно не менять. Все и так работает.
  • Следует быть внимательными к параметрам пользователя (имени, фамилии, e-mail). Так как теперь эта информация будет браться и обновляться из LDAP (т.е. из Active Directory) надо быть уверенным, что в Active Directory все прописано правильно (особенно актуально для e-mail - а то не будут приходить настроенные уведомления по списку слежения xwiki).
  • В самой XWiki возможность изменения e-mail через редактирование профиля отсутствует (до версии 2.4). Для того чтобы это все-таки сделать, следует  страницу пользователя именно открыть, а не нажимать на Edit, и далее выбрать Object Editor, дальше выбрать объект с типом XWiki.XWikiUsers и уже его редактировать. Откроется страница с перечнем полных параметров пользователя, в т.ч. e-mail.
Tags:
Created by ecolesnicov on 2011/02/20 09:17