Alfresco: синхронизация пользователей с Zimbra
Продолжаем интеграцию, начатую в топике Alfresco: авторизация пользователей в Zimbra LDAP + SSL.
Есть сервер с Alfresco 3.4d и сервер с Zimbra 7. Синхронизация пользователей через LDAP Zimbrы происходит во время запуска Alfresco а также ежедневно в полночь (настройка Alfreso по-умолчанию, см. документацию).
При синхронизации создаются/обновляются учетные записи на сервере Alfresco с заполненными именем, фамилией, почтовым адресом.
Логин имеет вид почтового адреса пользователя, но без @domain.com. с таким-же именем создается домашняя директория пользователя.
При удалении пользователя в Zimbra он будет удален в Alfresco, но домашнюю директорию придется удалять вручную, т.к. там могут остаться файлы пользователя.
Группы синхронизируются со списками рассылки Zimbra.
Для синхронизации нам понадобится пароль от LDAP сервера Zimbra. Можно использовать административный пароль, а можно и создать отдельного пользователя. Чтобы поменять административный пароль на OpenLDAP Zimbrы (его просто забыть, т.к. после установки он нигде не используется пользователем):
( Читать дальше )
Есть сервер с Alfresco 3.4d и сервер с Zimbra 7. Синхронизация пользователей через LDAP Zimbrы происходит во время запуска Alfresco а также ежедневно в полночь (настройка Alfreso по-умолчанию, см. документацию).
При синхронизации создаются/обновляются учетные записи на сервере Alfresco с заполненными именем, фамилией, почтовым адресом.
Логин имеет вид почтового адреса пользователя, но без @domain.com. с таким-же именем создается домашняя директория пользователя.
При удалении пользователя в Zimbra он будет удален в Alfresco, но домашнюю директорию придется удалять вручную, т.к. там могут остаться файлы пользователя.
Группы синхронизируются со списками рассылки Zimbra.
Для синхронизации нам понадобится пароль от LDAP сервера Zimbra. Можно использовать административный пароль, а можно и создать отдельного пользователя. Чтобы поменять административный пароль на OpenLDAP Zimbrы (его просто забыть, т.к. после установки он нигде не используется пользователем):
( Читать дальше )
- 0
- 31 мая 2011, 15:37
- комментировать
Alfresco: включение https в Tomcat
Для того, чтобы использовать https для начала сгенерируем самоподписанный сертификат. Например на 3 года. Моя alfresco установлена в /opt/alfresco.:
Если уже есть существующий keystore (например, вы настраивали авторизацию по топику Alfresco: авторизация пользователей в Zimbra LDAP + SSL), в качестве keystore нужно указать существующий. Если нет, то создать новый.
В /opt/alfresco/tomcat/conf правим server.xml по аналогии:
Стоит отметить, что alfresco так же будет работать и на порту 8080 и соответствующий коннектор отключать не нужно, нужно просто заблокировать доступ брандмауэром.
К сожалению, пока есть проблемы с Flash загрузчиком файлов при работе в некоторых браузерах через https:
bugs.adobe.com/jira/browse/FP-4830
Здесь описание как отключить Flash загрузчик:
forums.alfresco.com/en/viewtopic.php?f=47&t=37270
/opt/alfresco/java/bin/keytool -genkey -alias tomcat -keyalg RSA -validity 1095 -keystore /путь/к/keystoreЕсли уже есть существующий keystore (например, вы настраивали авторизацию по топику Alfresco: авторизация пользователей в Zimbra LDAP + SSL), в качестве keystore нужно указать существующий. Если нет, то создать новый.
В /opt/alfresco/tomcat/conf правим server.xml по аналогии:
<Connector port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="/путь/к/keystore" keystorePass="пароль" />
Стоит отметить, что alfresco так же будет работать и на порту 8080 и соответствующий коннектор отключать не нужно, нужно просто заблокировать доступ брандмауэром.
К сожалению, пока есть проблемы с Flash загрузчиком файлов при работе в некоторых браузерах через https:
bugs.adobe.com/jira/browse/FP-4830
Здесь описание как отключить Flash загрузчик:
forums.alfresco.com/en/viewtopic.php?f=47&t=37270
- 0
- 30 мая 2011, 19:59
- комментировать
Alfresco: авторизация пользователей в Zimbra LDAP + SSL
Есть сервер с Alfresco 3.4d и сервер с Zimbra 7. Настроим авторизацию пользователей в LDAP Zimbra. Будем использовать SSL шифрование для LDAP. Есть одна трудность — по-умолчанию, LDAP Zimbrы работает на 389 порту и поддерживает конечно TLS, но Alfresco с ним нормально не работает. Для того, чтобы LDAP Zimbrы работал также на 636 порту с поддержкой SSL нужно подправить конфигурацию.
На сервере Zimbra заходим в консоль:
( Читать дальше )
На сервере Zimbra заходим в консоль:
( Читать дальше )
- 0
- 25 мая 2011, 18:00
- 14
Alfresco: русификация
Я использую Alfresco версии 3.4d, скачиваем русификацию отсюда:
forge.alfresco.com/projects/alf-russian/
Распаковываем как написано в инструкции.
Правим /путь-к-alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/web-client-config.xml.
Можно отключить выбор языка:
Добавляем в самое начало списка Русский, остальные можно закомментировать:
Добавляем в /opt/alfresco/tomcat/bin/catalina.sh:
( Читать дальше )
forge.alfresco.com/projects/alf-russian/
Распаковываем как написано в инструкции.
Правим /путь-к-alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/web-client-config.xml.
Можно отключить выбор языка:
<language-select>false</language-select>Добавляем в самое начало списка Русский, остальные можно закомментировать:
<config evaluator="string-compare" condition="Languages">
<!-- the list of available language files -->
<languages>
<language locale="ru_RU">Русский</language>
<!--<language locale="en_US">English</language>
<language locale="de_DE">German</language>
<language locale="es_ES">Spanish</language>
<language locale="fr_FR">French</language>
<language locale="it_IT">Italian</language>-->
</languages>
</config>
Добавляем в /opt/alfresco/tomcat/bin/catalina.sh:
( Читать дальше )
- 0
- 25 мая 2011, 14:37
- 2
Установка SSL сертификатов в Java
При попытке установить https соединение с помощью клиента, написанного на Java видим вот такое примерно сообщение (если сертификат сервера самоподписанный):
Воспользуемся небольшим кодом на Java, который значительно облегчит установку сертификата. Скачиваем InstallCert.java отсюда.
Т.к. я использую красноглазный-gentoo-подобный дистрибутив, управление различными версиями JRE и JDK в нем осуществляется приятной утилитой java-config.
Просмотрим, что у нас установлено:
Нам понадобится именно JDK, т.к. .java файл необходимо откомпилировать в .class. Устанавливаем по-умолчанию для пользователя JDK. В этом мощь данной утилиты — версий JRE и JDK может быть установлено сколько угодно, каждому пользователю можно просто назначить используемую версию JRE или JDK:
Проверяем, доступна ли теперь утилита для компиляции javac:
Компилируем .java файл в .class:
Запускаем, указав в качестве аргумента имя хоста и порт или ip адрес:
Вуаля.
unable to find valid certification path to requested targetВоспользуемся небольшим кодом на Java, который значительно облегчит установку сертификата. Скачиваем InstallCert.java отсюда.
Т.к. я использую красноглазный-gentoo-подобный дистрибутив, управление различными версиями JRE и JDK в нем осуществляется приятной утилитой java-config.
Просмотрим, что у нас установлено:
java-config --list-available-vmsThe following VMs are available for generation-2:
1) Sun JDK 1.6.0.24 [sun-jdk-1.6]
*) Sun JRE 1.6.0.24 [sun-jre-bin-1.6]Нам понадобится именно JDK, т.к. .java файл необходимо откомпилировать в .class. Устанавливаем по-умолчанию для пользователя JDK. В этом мощь данной утилиты — версий JRE и JDK может быть установлено сколько угодно, каждому пользователю можно просто назначить используемую версию JRE или JDK:
java-config --set-user-vm=sun-jdk-1.6Now using sun-jdk-1.6 as your user JVMПроверяем, доступна ли теперь утилита для компиляции javac:
java-config --javac/opt/sun-jdk-1.6.0.24/bin/javacКомпилируем .java файл в .class:
javac ./InstallCert.javaЗапускаем, указав в качестве аргумента имя хоста и порт или ip адрес:
java InstallCert xx.xx.xx.xx:443...
Added certificate to keystore /opt/sun-jre-bin-1.6.0.24/lib/security/cacerts using alias 'xx.xx.xx.xx-1'Вуаля.
- 0
- 24 мая 2011, 22:52
- комментировать
OpenLDAP и Java
Некоторое время назад на Mtaalamu было опубликовано несколько топиков о сервере OpenDS — Java-реализации службы каталогов, аналогичной OpenLDAP. Как специалист по Java, не мог не заинтересоваться этим продуктом. Через некоторое время стало понятно, что это один из проектов, из-за которых разорилась фирма Sun: ничего принципиально нового по сравнению с имеющимися реализациями там не содержалось, а места на жестком диске и оперативной памяти OpenDS занимает больше своих собратьев. Не случайно Oracle не взяла его «на борт», спасая Java. Однако изучение продукта не прошло без пользы: в ходе его изучения хорошо освоил технологию LDAP, стал использовать ее в своих проектах. Но как же стыковка с Java?
( Читать дальше )
( Читать дальше )
- +4
- 16 апреля 2011, 19:55
- 3
Джеймс Гослинг о контроллерах для роботов
Джейс Гослинг в ходе своей первой недели работы в Google участвовал в состязаниях роботов в качестве наставника.
Перевод с английского мой (на основе автоматического от Google), извините, если что-то не верно.
Моя первая неделя работы в Google напоминала скачку на дикой лошади. Самой большой встряской стал Конкурс роботов Силиконовой долины, организованный робототехнической лигой FIRST. Он проходил в университете Сан-Хосе с четверга по субботу. Я был одним из наставников команды из Вудсайдской школы. Моя младшая дочь учится там, но она не достаточно взрослая для того, чтобы быть зачисленной в команду робототехников, хотя участвовала в Первой лиге.
Я убежал с работы на несколько часов в пятницу, чтобы быть с детьми. На соревнованиях сделал несколько фотографий и видеоклипов выступления команды в трех раундах. Выступили так хорошо, что оказались в числе победителей. Теперь собираются на национальный чемпионат в Сент-Луисе. Одной из сильных сторон их робота была производительность в автономных заездах. Каждый тур в начинается с периода, когда робот должен передвигаться автономно, лишь затем контролируется студентами удаленно. В каждом из трех раундов, которые я видел, автономный показатель нашей команды был просто фантастическим.
Несколько лет назад группа из Sun (под руководством Эрика Арсено, которому отдельное спасибо) работала совместно с командой из FIRST и WPI над портированием Squawk VM (виртуальная машина, используемая в SunSPOT) на Compact RIO от National Instruments. Это промышленные контроллеры, используемые для автоматизации в лиге FIRST. Раньше программирование этого контроллера был чудовищно трудным, поэтому мало кто из студентов разбирался в этом. Теперь, в связи с переводом кода на Java, и включением его поддержки в среду NetBeans (даже с точками останова при отладке на реальном роботе, здорово, правда?), контроллеры RIO становится действительно легко программируемыми, и, следовательно, способны на гораздо более сложные алгоритмы.
Было приятно смотреть, как дети проектируют, изготавливают и программируют своих роботов. Вряд ли им необходима моя помощь в написании ПО. Оно и так великолепно.
Перевод с английского мой (на основе автоматического от Google), извините, если что-то не верно.
- +8
- 04 апреля 2011, 13:42
- 6
Джеймс Гослинг трудоустраивается в Google
Создатель языка Java написал в своем блоге:
«После множества зигзагов и заминок, случившихся в моей карьере за последние годы, я решил работать в Google. Одна из самых сложных вещей в жизни — делать выбор. Мне жаль отказываться от множества других интересных возможностей, но очень интересно познакомится с новым механизмом. Еще не знаю, над чем буду работать. Надеюсь, будет всего понемногу».
- +13
- 28 марта 2011, 18:43
- 4
Обновлен сайт среды разработки Java-приложений 3f-lab
Много лет я пишу программы в собственноручно сформированной среде разработки — 3f-lab. Она пригодна для создания практически любых приложений, основанных на Java-синтаксисе, вплоть до программ для мобильных телефонов и ОС Android. Для кодинга в 3f-lab не нужно ничего, кроме консоли и JDK (Java Developer Kit). На Mtaalamu уже было несколько материалов, на эту тему. Сегодня выложена новая версия сайта 3f-lab со следующими изменениями:
* демонстрационный ролик «Как начать программировать на Java за 10 минут» перемещен на первую вкладку;
* удалены описания приемов работы, которые давно уже не используются (например, сборка с помощью Makefile);
* вычитан текст, из него удалены многие несуразности и длинноты;
* изменен дизайн;
* добавлены кнопки для пожертвований ;).
Может показаться, что такой вот любительской поделке нет места в мире, где правят такие монстры, как Eclipse или NetBeans. Тем не менее, скорость разработки в консольном режиме может быть выше, чем под GUI. Кроме того, 3f-lab позволяет писать и отлаживать программы непосредственно на удаленных серверах, где об оконном доступе не может быть и речи. Короче говоря, я ее ни на что не променяю. Если кто-то заинтересуется — с удовольствием подскажу как пользоваться.
* демонстрационный ролик «Как начать программировать на Java за 10 минут» перемещен на первую вкладку;
* удалены описания приемов работы, которые давно уже не используются (например, сборка с помощью Makefile);
* вычитан текст, из него удалены многие несуразности и длинноты;
* изменен дизайн;
* добавлены кнопки для пожертвований ;).
Может показаться, что такой вот любительской поделке нет места в мире, где правят такие монстры, как Eclipse или NetBeans. Тем не менее, скорость разработки в консольном режиме может быть выше, чем под GUI. Кроме того, 3f-lab позволяет писать и отлаживать программы непосредственно на удаленных серверах, где об оконном доступе не может быть и речи. Короче говоря, я ее ни на что не променяю. Если кто-то заинтересуется — с удовольствием подскажу как пользоваться.
- +4
- 26 марта 2011, 01:45
- комментировать
Openfire: couldn't discover local host
Довольно глупый баг c openfire об который споткнулся. Вся проблема в неправильно прописанном имени хоста. Он должен быть таким, который резолвится в ip данного сервера.
Меняем в /etc/hostname. Чтобы не пришлось перегружаться, выполняем команду:
2011.03.20 13:38:22 Couldn't discover local host
java.net.UnknownHostException: yourhost: yourhost
at java.net.InetAddress.getLocalHost(InetAddress.java:1353)
at org.jivesoftware.openfire.filetransfer.proxy.FileTransferProxy.initialize(FileTransferProxy.java:195)
at org.jivesoftware.openfire.XMPPServer.initModules(XMPPServer.java:597)
at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:485)
at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:212)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:30<img class="smile" src="/images/smilies/dirol.gif" />
at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:113)
at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:5<img class="smile" src="/images/smilies/dirol.gif" />Меняем в /etc/hostname. Чтобы не пришлось перегружаться, выполняем команду:
hostname yourhost.com
- 0
- 20 марта 2011, 16:22
- комментировать
