Как устроенна безопасность Kablink.

Ведение.

 Администратор Kablink, должен понимать как настраивать права пользователей в рабочих областях и папках. Вопросы безопасности Портала тесно связанны с правами доступа и носят немного запутанный характер, в этой публикации попробуем разобраться в этом вопросе, но прежде договоримся о терминологии сокращений:

  • Термины.
    • область — Домашняя рабочая область, Глобальная рабочая область, Персональная рабочая область, Рабочая область коллектива
    • по умолчанию — все настройки рассматриваются в «коробочном» варианте, все роли и права остаются, как после первой установки Kablink
    • (наследование снято) — означает, что нет наследования от родителя
    • роль — набор правил
    • гость — пользователь с минимальными правами доступа, только просмотр

 Kablink представляет собой иерархию рабочих областей и папок с наследуемыми параметрами контроля доступа от родительских областей и папок. Безопасность Kablink, основана на управления ролями доступа, по умолчанию, существует двенадцать ролей для рабочих областей и папок и пять ролей для записей. Если нужно, чтобы конкретный пользователь имел определенные права, то ему необходимо присвоить соответствующую роль. Например, пользователь с ролью участник-гость в рабочей области или папке, владеет следующими правами: добавлять комментарии и ответы, создавать записи, читать записи.

 Рабочие области и папки могут наследовать настройки контроля доступа от своих родительских областей или папок. При изменении прав в корневой области или папке, изменения произойдут и для наследуемых областей и папок. При перемещении рабочей области или папки, наследуются параметры контроля доступа новой родительской области. Если новая родительская рабочая область или папка имеет настройки иные, чем в исходной, параметры контроля доступа перемещаемой области или папки изменится. Надо отметить, что существуют ограничения при наследовании некоторых областей — область члены коллектива не могут наследоваться по умолчанию, но об этом поговорим ниже.

Определения.

  • Типы пользователей.
    • встроенные
    • по умолчанию
    • пользователи
    • группы

 Встроенные пользователи.

 Kablink, по умолчанию, имеет двух пользователей и роли связанные с ними, помимо них имеются и другие, но они относятся скорее к службам Портала. Отметим, что владелец рабочей области или папки и участники коллектива это как бы одно лицо, но тем ни менее имеется некоторая двойственность, которая позволяет разделять их. Эту парочку мы будем встречать везде т.к парадигма коллектива является сутью работы Kablink.

Пользователь.

Роль.

Владелец рабочей области или папки.Администратор рабочей области и папки.
Участники коллектива.Участники коллектива.
Таблица №1

 Встроенные группы.

 Kablink,  по умолчанию,  имеет четыре группы пользователей.

Заголовок группы \ Имя группы

Роль.

Admin \ administratorАдминистратор рабочей области и папки.
All \ allВсе пользователи Портала.
Все внешниеГруппа «Все внешние пользователи» содержит список всех внешних пользователей.
Все внутренние пользователи \ allusersГруппа «Все пользователи» содержит список всех зарегистрированных пользователей, кроме учетной записи «Гость».
Таблица №2

Встроенные Роли для рабочих областей и папок.

 В Kablink встроены четыре рабочие области, где можно создавать папки с наследуемыми правами. Корневой областью является Домашняя в неё входит: глобальная, персональная и область коллективов. В таблице указанны все роли которые можно добавлять для управления доступом в областях, * указаны роли, по умолчанию, установленные в Домашней области, которые наследуются всеми областями и папками по умолчанию.

Роль.

Права.

Администратор рабочей области и папкиСоздавать, изменять, удалять рабочие области\папки
Посетитель.Читать ,добавлять комментарии.
Просмотр заголовка средства привязки.Просмотр заголовка средства привязки.
Разрешить общедоступное совместное использование.Разрешить общедоступное совместное использование
Разрешить передачу прав на предоставление совместного доступа.Разрешить передачу прав на предоставление совместного доступа.
Разрешить предоставлять общий доступ к ссылкам на файлы.Совместное использование файловых ссылки
Разрешить совместное использование для внешних пользователей.Разделять рабочие области и папки с внешними пользователями.
Разрешить совместное использование для внутренних пользователей.Разделять рабочие области и папки с внутренними пользователями.
Создатель рабочей области.Добавление рабочих областей.
Участник коллектива.Добавить комментарии или ответы, загрузить папку как CSV-файл, Изменить, переименовать, удалить собственные записи. Создание отчетов и записей. Управление глобальными тегами. Чтение записей. Элементы управления доступом на уровне записи создает владелец.
Участник-гость.Добавить комментарии или ответы. Создать записи. Чтение записей.
Участник.Добавить комментарии или ответы, загрузить папку как CSV-файл, Изменить, переименовать, удалить собственные записи. Создание отчетов и записей. Управление глобальными тегами. Чтение записей. Элементы управления доступом на уровне записи создает владелец.
Таблица №3

Встроенные Роли для записей.

 Под записью в Kablink будем понимать — контент, фото, видео, файлы прикреплении, в общем всё, что может находится в папке.

Роль

Права

ЗаписатьДобавить комментарии или ответы, изменять и переименовывать записи, Создание отчетов, Управление глобальными тегами,Чтение записей
Изменить права доступаДобавить комментарии или ответы, Изменение записей, Изменение прав доступа, Переименовать записи, Создание отчетов, Удаление записей, Управление глобальными тегами, Чтение записей.
Прочитать и ответитьДобавить комментарии или ответы, Чтение записей.
ПрочитатьЧтение записей.
Удалить.Добавить комментарии или ответы, изменять и переименовывать записи, Создание отчетов, Удаление записей, Управление глобальными тегами, Чтение записей.
Таблица №4

Домашняя рабочая область (корень).

 Выше упоминалась, что Домашняя рабочая область — корень для областей и папок. Установленные в ней, по умолчанию, роли и права наследуются без исключения всеми областями и папками Портала.

Пользователь\Группа

Роль.

Владелец рабочей области или папки.Администратор рабочей области и папки.
Участники коллектива.Участники коллектива.
Группа admin (administrator)Администратор рабочей области и папки.
Группа Все внутренние пользователи (allusers)Посетитель, Участник.
Гость. (по умолчанию выключен)Посетитель.
Таблица №5

Персональные рабочие области.

 Когда создаётся новый пользователь, для него отводится персональное пространство(область) с папками. Внутри области наследование снято * и это правильно т.к он, пользователь, является администратор рабочей области и папок и сам в праве управлять своей областью.

Имя пользователя. Роль.
Владелец рабочей области или папкиРазрешить совместное использование для внутренних пользователей, Разрешить совместное использование для внешних пользователей, Разрешить передачу прав на предоставление совместного доступа, Разрешить общедоступное совместное использование, Разрешить предоставлять общий доступ к ссылкам на файлы, Посетитель, Участник, Участник коллектива, Администратор рабочей области и папки
Участники коллектива.Посетитель, Участник, Участник коллектива, Администратор рабочей области и папки
Таблица №6

Создание https соединения Kablink.

Ведение.

 Рассмотрим последовательность действий, для включения дополнительной защиты по HTTPS протоколу, если это требуется политикой предприятия, отметим при этом, что ключи сертификата подлинности бывают: самоподписанными, подписанный центром сертификации (СA) вашей организации, подписанный коммерческим центром (СА) на определённый срок и за определённую плату.

Последовательность действий для формирования ключей.

  • Порядок действий.
    • создать (генерировать) сертификат подлинности
    • на основе созданного сертификата подлинности, создать и отправит запрос в виде .csr файла в СА центр
    • после получения ответа из СА, импортировать полученные ключи в созданный ранние сертификат подлинности
    • импортировать подписанный сертификат подлинности в хранилище Портала
    • перегрузит Портал

 Каталоги хранения keystore.

В java сертификат подлинности называется .keystore,точка указывает на скрытый характер этого файла, хранится он в каталоге /opt/novell/teaming/apache-tomcat/conf, путь для хранения файла .keystore и пароль доступа к нему при операции импорта, указан в /opt/novell/teaming/apache-tomca/con/server.xml файле, значения можно менять, но лучше этого не делать.

 Наша задача состоит в том, что бы полученный тем или иным способом файл сертификата подлинности, импортировать в хранилище и сделать это надо аккуратно и правильно иначе порт 8443 просто не «заведётся».

 По умолчанию, при первой установке, создаётся сертификат с непонятным сроком действия и сомнительной подписью, этот сертификат необходимо заменить на постоянный и доверенный, к примеру с годовым сроком доверия подлинности.

 Виды SSL ключей, утилита keytool.

  • сертификат выданный коммерческим центром сертификации СА, при этом браузеры пользователей будут автоматически принимать их при некоторой задержке в ожидании подтверждения от СА
  • сертификат подписанный СА вашего предприятия и собственный
  • самоподписанный, пользователи будут получать предупреждения при первом соединении с требованием «ручного» подтверждения подлинности при открытии ssl соединения c Порталом в браузере

 Для создания сертификата и его импорта в хранилище существует утилита keytool находится, по умолчанию, в установленном каталоге jdk/bin.

 Рассмотрим несколько теоретически возможных вариантов и манипуляций при создании и импорте сертификата подлинности в хранилище Kablink используя знания из практики работы.

 Подготовка каталогов и путей.

  • Добавляем переменную пути к keytool:
    • export PATH=$PATH:/usr/java/jdk1.8.0_xx/bin/
  • Создаём временный каталог:
    • mkdir /home/mms/sert переходим cd /home/sert

 Создание SSL ключа.

ДействиеПояснения
keytool -genkey -alias tomcat -keyalg RSA -keystore .keystoreЗапускаем сценарий создания ключа сертификата, срок не определён
Enter keystore password: changeitПароль по умолчанию
Re-enter new password: changeitПодтверждение пароля
What is your first and last name?Имя домена
[ Unknown]: moyportal.ru  
What is the name of your organizational unit?Имя подразделения организации
[Unknown]: smal 
What is the name of your organization?Имя организации
[Unknown]: big 
What is the name of your City or Locality?Город
[Unknown]: Moscow 
What is the two-letter country code for this unit?Страна
Unknown]: RU 
Is CN=moyportal.ru, OU=smal, O=big, L=Moscow, ST=Moscow, C=RU correctПроверить данные
[no]: yesЕсли правильно\неправильно
Enter key password for <tomcat>Пароль для контейнера tomcat
(RETURN if same as keystore password): changeit 
Re-enter new password: changeitПодтвердить пароль
Таблица №7

Генерация запроса на подпись CSR.

# keytool -certreq -alias tomcat -keyalg RSA -file certreq.csr -keystore .keystore 

 Импорт полученного отпечатка подписи из центра CA, псевдоним root, в .keystore.

# keytool -import -alias root -trustcacerts -keyalg RSA -keystore .keystore -file CertificateAuthorityCert.der

 Импорт полученного отпечатка подписи из центра CA,псевдоним tomcat, в .keystore.

# keytool -import -alias tomcat -keyalg RSA -keystore .keystore -file certificate_name.cer

 Импорт подписанного центром СА сертификат в хранилище Kablink.

# mv /opt/novell/teaming/apache-tomcat/conf/.keystore keystorebk # cp /home/sert/.keystore /opt/novell/teaming/apache-tomcat/conf # ls -al /opt/novell/teaming/apache-tomcat/conf/.keystore # /etc/init.d/teaming restart
  • Проверка порта 443.
    • https://moyportal.ru :844

 Использования СА ALT Linux.

  • 5. Открываем ЦУС >[Система]>[Удостоверяющий центр УЦ].
    • 5.1 Выполняем действия пункта 1 и 2, переходим в УЦ, выполняем:
    • [Система]>[Удостоверяющий Центр]>[Загрузить запрос]>[Подписать] на выходе отгружается файл output.pem
    • [ Система]>[Удостоверяющий Центр]>[Управление УЦ]отгружаем корневой сертификат ca-root.pem

Расширение pem — Privacy Enhanced Mail Certificate

 Теперь можно импортировать отпечатки созданные УЦ ЦУС в сертификат подлинности .keystore:

# keytool -import -alias root -keyalg RSA -keystore .keystore -file ca-root.pem # keytool -import -alias tomcat -keyalg RSA -keystore .keystore -file output.pem

Выполнить пункты 3 и 3.1

УЦ Alt Linux должен быть встроен в цепочку СА вашей организации.

Использование СА MS AD.

 Нам надо получить сертификат для экспорта в хранилище AD, это можно сделать используя браузер например IE. В адресной строке вводим название Портала, https://moyportal.ru, читаем и игнорируем предупреждение, производим импорт ключа в хранилище сертификатов рабочей станции Windows.

  • В браузере IE открываем:
    • Сервис>[Свойство обозревателя]>[Содержание]>[Сертификаты]> производим импорт ключа Портала в файл с расширением, portal.der или portal.p7b
    • Отправляем сертификат Портала, portal.der/portal.p7b, в контейнер корневого центра сертификации предприятия, находится на DC Active Directory, в папки «Промежуточный центр сертификации» и «Доверенные корневые центры сертификации».
    • Через некоторое время у пользователей в хранилищах сертификатов рабочих станций, появятся сертификаты Портала распространяемые по групповой политике AD — ручная команда для обновления групповой политики GPUpdate.exe.

URL Портала должен присутствовать в списке доверенных адресов корневого центра сертификации AD.

Заключение.

Защита соединения Kablink становится особенно актуальным, когда требования к хранению документов Портала будет возрастать по мере увеличения объёма количества публикаций и создаваемого массива архива и срока хранения принятых в организации.

Как обновить Kablink.

Введение

 Вопросы обновления или модернизации Портала возникают каждый раз, когда появляются очередные «заплатки» (patch) или новые версии программы. Риски связанные с этой операцией сведены к минимуму, но всё же они присутствуют и могут стать причиной «головной боли» для администратора, чтобы этого избежать необходимо ясно представлять всю картину и технологическую последовательность действий, которые необходимо соблюдать для получения успешных результатов. Обновление версий Kablink4, требует подготовительных действий т.к усложнилась архитектура и поменялась jdk, при этом остались неизменны основные действия которые требуются выполнить:

Подготовка к установке.

  • Пошаговые действия.
    • обновить операционную систему
    • проверить наличие резервной копии см.резервирование
    • скачать новую версию и распаковать
    • копировать файл сценария установок installer.xml
    • обновить jdk (необязательно)
    • сохранить пользовательские формы и представления
    • сохранить пользовательские шаблоны
    • сохранить шаблоны областей и папок
    • сохранить глобальные формы и определения
    • стоп Kablink
    • обновить программные папки kablink
    • обновить и перестроить схему БД kablink
    • проверить временную зону jdk
    • старт kablink
    • проверка индексации kablink
    • сброс глобальных форм и определений
    • сброс шаблонов областей и папок
    • проверить пользовательские формы
    • проверить пользовательские шаблоны
    • проверить наличие «старого» сертификата

 Первое, что надо сделать это убедится в наличие резервной копии, проверить её сохранность и целостность. Скачать новую версию Kablink, проветрить контрольную сумму и распаковать. Сохранить файл installer.xml , переписав его из каталога предыдущей установки, чтобы не вводить параметры конфигурации Kablink заново.

home]# md5sum kablink-vibe-4.0.1-linux.tar md5: 59095748155ca853da96db09f496994f home]# mkdir /home/kablink-4.0.1-linux home]# tar xvf /home/kablink-4.0.1-linux.tar -C /home/kablink-4.0.1-linux # cp /home/kablink-4.0.0-linux/installer.xml /home/kablink-4.0.1-linux # /etc/init.d/teaming stop $ rpm -qa|grep jdk jdk1.8-1.8.0_181-fcs.x86_64

 Сохранить локальные формы, определения и шаблоны, создаваемые (настраиваемые) опытными пользователями, хранящиеся непосредственно в тех областях к которым они имеют права доступа, т.е их личные области. Совет: необходимо установить политику управления записями пользователей, что предотвратит их бесконтрольное распространение и облегчит обслуживание и управление формами и шаблонами пользователей. Добраться до локальных форм и определений можно по «шестерёнке» любой доступной папки, далее остаётся выполнить несколько кликов после чего шаблоны с формами и определениями будут сохранены на вашем ПК. Эти же действия необходимо выполнить для сохранения локальных шаблонов создаваемых опытными пользователями, предупредив их о предстояших работах.

 Теперь надо сохранить глобальные шаблоны рабочих областей и папок, здесь могут оказаться шаблоны созданные администратором или членами группы администраторов, которые распространяются на все рабочие области и папки пользователей Портала.

 Последнее, что надо сохранить — глобальные формы и определения, шаблоны хранят не только основные формы папок, рабочих областей, процессов и профилей пользователей, но и шаблоны созданные администратором или группой администраторов, распространяемые как глобальные т.е доступные всем пользователям Портала.

Обновление файловой структуры kablink.

Остановить kablink.

# /etc/init.d/teaming stop

Обновить программные папки kablink, можно выбрать два варианта, третий с GUI не рассматривается — «безмолвный», один раз запускаем на все вопросы «отвечает» файл installer.xml 

# cd /home/kablink-4.0.1-linux
# ./installer-teaming.linux --silent --upgrade

Листинг «безмолвной» установки.

# ./installer-teaming.linux --silent --upgrade ::softwareVersion Data fsroot directory /var/opt/novell/teaming Data fsroot directory /var/opt/novell/teaming Removing obsolete Conferencing presence settings from installer.xml. Starting installation... Installation mode: 2   ... /home/kablink-vibe-4.0.1-linux/temp-installer/db    ... /home/kablink-vibe-4.0.1-linux/temp-installer/apache-tomcat    ... /home/kablink-vibe-4.0.1-linux/temp-installer/backup-ext    ... /home/kablink-vibe-4.0.1-linux/temp-installer/kablink-teaming-4.0.1-standalone.zip JAVA_HOME is set to: /usr/java/jdk1.8.0_181-amd64 JRE_HOME is set to: /usr/java/jdk1.8.0_181-amd64/jre         Backing up installDirectory is /opt/novell/teaming and root directory is apache-tomcat         Backing up previous settings and webapps to /opt/novell/teaming/teaming-backup         Backing up /opt/novell/teaming/apache-tomcat/bin         Backing up /opt/novell/teaming/apache-tomcat/conf         Backing up /opt/novell/teaming/apache-tomcat/lib         Backing up webapps/ROOT         Backing up webapps/mobile         Backing up webapps/ssf         Backing up webapps/ROOT         Backing up webapps/ssr         Backing up webapps/rest Copying deployment kits to work directory...Installing into /opt/novell/teaming Installing Kablink Vibe ... --> Saving file owner and permissions for vibe.jmxremote.access, vibe.jmxremote.password and vibe.management.properties Backing up /opt/novell/teaming/apache-tomcat/webapps/ssf/WEB-INF/jsp/custom_jsps Backing up /opt/novell/teaming/apache-tomcat/lib/custom-ext Laying down files for StandAlone tomcat copying the mobile webapp into /opt/novell/teaming/apache-tomcat/webapps/mobile into /opt/novell/teaming/apache-tomcat/webapps copying the ssf webapp into /opt/novell/teaming/apache-tomcat/webapps/ssf copying the ROOT webapp into /opt/novell/teaming/apache-tomcat/webapps/ROOT copying the ssr webapp into /opt/novell/teaming/apache-tomcat/webapps/ssr copying the rest webapp into /opt/novell/teaming/apache-tomcat/webapps/rest copying the novl webapp into /opt/novell/teaming/apache-tomcat/webapps/novl Remove Tomcat Work Dir Laying down files for StandAlone tomcat copying the bin dir into /opt/novell/teaming/apache-tomcat/bin into /opt/novell/teaming/apache-tomcat copying the conf dir into /opt/novell/teaming/apache-tomcat/conf copying the lib dir into /opt/novell/teaming/apache-tomcat/lib Restoring custom jsp /home/kablink-vibe-4.0.1-linux/temp-installer/backup-ext/custom_jsps/ss_call_out_servlet_head.jsp to /opt/novell/teaming/apache-tomcat/webapps/ssf/WEB-INF/jsp/custom_jsps Restoring custom jsp /home/kablink-vibe-4.0.1-linux/temp-installer/backup-ext/custom_jsps/ss_call_out_sidebar_bottom.jsp to /opt/novell/teaming/apache-tomcat/webapps/ssf/WEB-INF/jsp/custom_jsps Restoring custom jsp /home/kablink-vibe-4.0.1-linux/temp-installer/backup-ext/custom_jsps/ss_call_out_css_init.jsp to /opt/novell/teaming/apache-tomcat/webapps/ssf/WEB-INF/jsp/custom_jsps Restoring custom jsp /home/kablink-vibe-4.0.1-linux/temp-installer/backup-ext/custom_jsps/ss_call_out_head.jsp to /opt/novell/teaming/apache-tomcat/webapps/ssf/WEB-INF/jsp/custom_jsps Restoring custom jsp /home/kablink-vibe-4.0.1-linux/temp-installer/backup-ext/custom_jsps/ss_call_out_sidebar_middle.jsp to /opt/novell/teaming/apache-tomcat/webapps/ssf/WEB-INF/jsp/custom_jsps Restoring custom jsp /home/kablink-vibe-4.0.1-linux/temp-installer/backup-ext/custom_jsps/ss_call_out_sidebar_top.jsp to /opt/novell/teaming/apache-tomcat/webapps/ssf/WEB-INF/jsp/custom_jsps Restoring custom jsp /home/kablink-vibe-4.0.1-linux/temp-installer/backup-ext/custom_jsps/ss_call_out_find_search_results.jsp to /opt/novell/teaming/apache-tomcat/webapps/ssf/WEB-INF/jsp/custom_jsps Restoring custom jsp /home/kablink-vibe-4.0.1-linux/temp-installer/backup-ext/custom_jsps/ss_call_out_mobile_head.jsp to /opt/novell/teaming/apache-tomcat/webapps/ssf/WEB-INF/jsp/custom_jsps Restoring /opt/novell/teaming/teaming-backup/conf/.keystoreCompleted Software install successfully Check to see if need to removeLifeRay configurationApplying installation settings...   Loading current configuration files...    Default locale...    Database settings...       using database configuration: Installed       Database type is: MySql    Request and Connection settings:       maxThreads:  200       maxActive:  50       maxIdle:  20       schedulerThreads:  20       maxRestRequests:  50    File system settings...       using configuration: basic    File system root path: /var/opt/novell/teaming    Email settings...    Email notification timezone setting...    Internal SMTP server email settings...    Network settings...    Lucene...    WebDAV authentication settings...       using WebDAV authentication method:  digest    Disabling Reverse Proxy SSO...    Fixing security files for SSO configuration.  Reverse Proxy SSO enabled state is now:  false    Disabling IIS for Windows Authentication SSO...    Fixing security files for SSO configuration.  IIS for Windows Authentication SSO enabled state is now:  false    Fixing security files for WebDAV 'digest authentication'. --> Removing memcached elements    Custom settings...    Startup files...    Assuming Oracle JDK Removing obsolete Conferencing presence settings from ssf-ext.properties. Setting cluster wide encryption key...    loading existing sec.properties file...    using existing encryption.key from sec.properties...    Writing all settings...      Saved copy of installer.xml in /opt/novell/teaming/install-config    Setting software file ownerships to: root ...    Setting software file protections to: 750 (no access outside of group) ...    Setting file permissions to 600 on vibe.jmxremote.password file (only the owner can read and write this file)    Restoring file ownership for vibe.jmxremote.access    Restoring file permissions for vibe.jmxremote.access    Restoring file ownership for vibe.jmxremote.password    Restoring file permissions for vibe.jmxremote.password    Restoring file ownership for vibe.management.properties    Restoring file ownership for vibe.management.properties    Copied startup file /opt/novell/teaming/apache-tomcat/bin/teaming to /etc/init.d Novell Messenger Presence integration disabled. Analyzing self-signed 'tomcat' certificate status... ...checking for existance of a valid 'tomcat' certificate... ......existing 'tomcat' certificate exists and will not be overwritten... Self-signed 'tomcat' certificate analysis complete.End: Apply SettingsSettings successfully applied.   Clearing JSP caches...Getting database creation scripts.... Installation completed.You can start Kablink Vibe by running the startup script:   /opt/novell/teaming/apache-tomcat/bin/teaming start #

В сценарий с развёрнутыми вопросами и ответами из файла installer.xml, можно, по ходу выполнения, вносить необходимые исправления и контролировать параметры настроек Kablink

# ./installer-teaming.linux

Листинг установки с развёрнутыми вопросами и ответами.

# ./installer-teaming.linux ::softwareVersionInstalling this software requires agreement to the terms and conditions set forth in the: Kablink LicenseYou can review this agreement again at the download site or type "REVIEW" below. Note: You must answer "YES" to install the software. Have you read and agree with the license? : Yes Kablink Vibe Installer 4.0.1 Select the action you want to perform 1. New installation 2. Update software and settings 3. Reconfigure settings Selection? [3]: 2 Your Vibe server must be shutdown to perform this operation. Is your Vibe server shutdown [Y]: Where is Kablink Vibe installed? (top-level directory) Install directory: [/opt/novell/teaming]: Directory /opt/novell/teaming exists Directory /opt/novell/teaming is not empty Select the type of installation you want to perform 1. Basic installation (select this if you do not have to configure any of the optional features) 2. Advanced installation (select this if you need to configure any of the optional features) Selection? [1]: File system location [/var/opt/novell/teaming]: Default locale ... 323. Europe/Moscow ... Selection? [323]: Please enter the userid or userid:group under which to run Kablink Vibe: [root]: Network information These settings control the way that Kablink Vibe appears on the networkHostname [kablink.dd]: HTTP port [8081]: Secure HTTP port [8443]: Listen port (if different from Port) [8081]: Secure listen port (if different from Secure port) [8443]: Shutdown port [8005]: AJP port [8009]: Session timeout [240]: Keystore file: (Optional) Forward Proxy ServerProxy server hostname: Proxy server port [80]: WebDAV Authentication Method Select the authentication method to use for WebDAV access. Two forms of WebDAV authentication are supported, basic and digest. The choice of which one to select must take the following into consideration: 1) Windows 7 users may not be able to use WebDAV features if basic authentication is selected and the users access Vibe over HTTP; 2) Basic Authentication is recommended if Vibe server is set up to force HTTPS; and 3) Digest authentication will require user passwords to be stored using symmetric encryption. WebDAV authentication method? 1. basic 2. digest Selection? [2]: Database selection It is recommended that your database software be installed and running, before proceeding Which database are you using? 1. MySql 2. SQLServer 3. Oracle Selection? [1]: Username for Vibe database [root]: Password for Vibe database [kablink]: JDBC URL for Vibe database [jdbc:mysql://localhost:3306/sitescape?useUnicode=true&characterEncoding=UTF-8]: *** Note *** After the upgrade has finished, you will need to run the database upgrade scripts by hand. Please refer to the installation guide for details. ********** Enter Y to continue, enter N to cancel installation [Y]: Checking database settings... Database type is: MySql Checking MySql version and access for Kablink Vibe -------------- mysql Ver 14.14 Distrib 5.7.28, for Linux (x86_64) using EditLine wrapper Connection id: 12 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.7.28-alt1 (ALT p8) Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /var/lib/mysql/mysql.sock Uptime: 12 hours 16 min 19 sec Threads: 1 Questions: 98073 Slow queries: 0 Opens: 18921 Flush tables: 1 Open tables: 29 Queries per second avg: 2.219 -------------- mysql: [Warning] unknown variable 'loose-chroot=/var/lib/mysql' mysql: [Warning] Using a password on the command line interface can be insecure. NOTE: Minimum database requirement is 5.0.26 We see Server version: 5.7.28 Please review above notes. Enter Y to continue, enter N to cancel installation [Y]: A Java JDK of version 1.7.0 or higher is required to run Kablink Vibe. Path to JDK version 1.7.0 or higher [/usr/java/jdk1.8.0_181-amd64]: JVM heap size to use [1g]: The Java Cryptography Extension must be installed for Vibe to work. Please verify that this has been installed. Outbound e-mail settings There are features of Kablink Vibe that require an outbound e-mail server be configured. Email protocol for outbound messages 1. smtp 2. smtps Selection? [1]: Email host [kablink.dd]: Port [25]: Connection timeout [15000]: Default time zone for outbound messages .. 323. Europe/Moscow .. Selection? [323]: Username [kablink@kablink.dd]: Password: Is authentication required to send? [No]: Allow sending e-mail to all users? [No]: Force HTTPS links in e-mails? [No]: Enable STARTTLS? [No]: From e-mail addresss override: Use this from e-mail address for all outbound e-mail? [No]: Internal SMTP server e-mail settingsEnable internal SMTP e-mail server? [No]: Data fsroot directory /var/opt/novell/teaming Data fsroot directory /var/opt/novell/teaming Removing obsolete Conferencing presence settings from installer.xml.Configuration saved in installer.xml. Perform upgrade now? [Yes]: Starting installation... Installation mode: 2 ... /home/kablink-vibe-4.0.1-linux/temp-installer/db ... /home/kablink-vibe-4.0.1-linux/temp-installer/apache-tomcat ... /home/kablink-vibe-4.0.1-linux/temp-installer/backup-ext ... /home/kablink-vibe-4.0.1-linux/temp-installer/kablink-teaming-4.0.1-standalone.zip JAVA_HOME is set to: /usr/java/jdk1.8.0_181-amd64 JRE_HOME is set to: /usr/java/jdk1.8.0_181-amd64/jre Backing up installDirectory is /opt/novell/teaming and root directory is apache-tomcat Backing up previous settings and webapps to /opt/novell/teaming/teaming-backup Backing up /opt/novell/teaming/apache-tomcat/bin Backing up /opt/novell/teaming/apache-tomcat/conf Backing up /opt/novell/teaming/apache-tomcat/lib Backing up webapps/ROOT Backing up webapps/mobile Backing up webapps/ssf Backing up webapps/ROOT Backing up webapps/ssr Backing up webapps/rest Copying deployment kits to work directory...Installing into /opt/novell/teaming Installing Kablink Vibe ... --> Saving file owner and permissions for vibe.jmxremote.access, vibe.jmxremote.password and vibe.management.properties Backing up /opt/novell/teaming/apache-tomcat/webapps/ssf/WEB-INF/jsp/custom_jsps Backing up /opt/novell/teaming/apache-tomcat/lib/custom-ext Laying down files for StandAlone tomcat copying the mobile webapp into /opt/novell/teaming/apache-tomcat/webapps/mobile into /opt/novell/teaming/apache-tomcat/webapps copying the ssf webapp into /opt/novell/teaming/apache-tomcat/webapps/ssf copying the ROOT webapp into /opt/novell/teaming/apache-tomcat/webapps/ROOT copying the ssr webapp into /opt/novell/teaming/apache-tomcat/webapps/ssr copying the rest webapp into /opt/novell/teaming/apache-tomcat/webapps/rest copying the novl webapp into /opt/novell/teaming/apache-tomcat/webapps/novl Remove Tomcat Work Dir Laying down files for StandAlone tomcat copying the bin dir into /opt/novell/teaming/apache-tomcat/bin into /opt/novell/teaming/apache-tomcat copying the conf dir into /opt/novell/teaming/apache-tomcat/conf copying the lib dir into /opt/novell/teaming/apache-tomcat/lib Restoring custom jsp /home/kablink-vibe-4.0.1-linux/temp-installer/backup-ext/custom_jsps/ss_call_out_servlet_head.jsp to /opt/novell/teaming/apache-tomcat/webapps/ssf/WEB-INF/jsp/custom_jsps Restoring custom jsp /home/kablink-vibe-4.0.1-linux/temp-installer/backup-ext/custom_jsps/ss_call_out_sidebar_bottom.jsp to /opt/novell/teaming/apache-tomcat/webapps/ssf/WEB-INF/jsp/custom_jsps Restoring custom jsp /home/kablink-vibe-4.0.1-linux/temp-installer/backup-ext/custom_jsps/ss_call_out_css_init.jsp to /opt/novell/teaming/apache-tomcat/webapps/ssf/WEB-INF/jsp/custom_jsps Restoring custom jsp /home/kablink-vibe-4.0.1-linux/temp-installer/backup-ext/custom_jsps/ss_call_out_head.jsp to /opt/novell/teaming/apache-tomcat/webapps/ssf/WEB-INF/jsp/custom_jsps Restoring custom jsp /home/kablink-vibe-4.0.1-linux/temp-installer/backup-ext/custom_jsps/ss_call_out_sidebar_middle.jsp to /opt/novell/teaming/apache-tomcat/webapps/ssf/WEB-INF/jsp/custom_jsps Restoring custom jsp /home/kablink-vibe-4.0.1-linux/temp-installer/backup-ext/custom_jsps/ss_call_out_sidebar_top.jsp to /opt/novell/teaming/apache-tomcat/webapps/ssf/WEB-INF/jsp/custom_jsps Restoring custom jsp /home/kablink-vibe-4.0.1-linux/temp-installer/backup-ext/custom_jsps/ss_call_out_find_search_results.jsp to /opt/novell/teaming/apache-tomcat/webapps/ssf/WEB-INF/jsp/custom_jsps Restoring custom jsp /home/kablink-vibe-4.0.1-linux/temp-installer/backup-ext/custom_jsps/ss_call_out_mobile_head.jsp to /opt/novell/teaming/apache-tomcat/webapps/ssf/WEB-INF/jsp/custom_jsps Restoring /opt/novell/teaming/teaming-backup/conf/.keystoreCompleted Software install successfully Check to see if need to removeLifeRay configurationApplying installation settings... Loading current configuration files... Default locale... Database settings... using database configuration: Installed Database type is: MySql Request and Connection settings: maxThreads: 200 maxActive: 50 maxIdle: 20 schedulerThreads: 20 maxRestRequests: 50 File system settings... using configuration: basic File system root path: /var/opt/novell/teaming Email settings... Email notification timezone setting... Internal SMTP server email settings... Network settings... Lucene... WebDAV authentication settings... using WebDAV authentication method: digest Disabling Reverse Proxy SSO... Fixing security files for SSO configuration. Reverse Proxy SSO enabled state is now: false Disabling IIS for Windows Authentication SSO... Fixing security files for SSO configuration. IIS for Windows Authentication SSO enabled state is now: false Fixing security files for WebDAV 'digest authentication'. --> Removing memcached elements Custom settings... Startup files... Assuming Oracle JDK Removing obsolete Conferencing presence settings from ssf-ext.properties. Setting cluster wide encryption key... loading existing sec.properties file... using existing encryption.key from sec.properties... Writing all settings... Saved copy of installer.xml in /opt/novell/teaming/install-config Setting software file ownerships to: root ... Setting software file protections to: 750 (no access outside of group) ... Setting file permissions to 600 on vibe.jmxremote.password file (only the owner can read and write this file) Restoring file ownership for vibe.jmxremote.access Restoring file permissions for vibe.jmxremote.access Restoring file ownership for vibe.jmxremote.password Restoring file permissions for vibe.jmxremote.password Restoring file ownership for vibe.management.properties Restoring file ownership for vibe.management.properties Copied startup file /opt/novell/teaming/apache-tomcat/bin/teaming to /etc/init.d Novell Messenger Presence integration disabled. Analyzing self-signed 'tomcat' certificate status... ...checking for existance of a valid 'tomcat' certificate... ......existing 'tomcat' certificate exists and will not be overwritten... Self-signed 'tomcat' certificate analysis complete. End: Apply SettingsSettings successfully applied. Clearing JSP caches... Getting database creation scripts.... Installation completed. You can start Kablink Vibe by running the startup script: /opt/novell/teaming/apache-tomcat/bin/teaming start

Обновление базы данных kablink.

Редактирование шаблона.

cd /home/kablink-4.0.1-linux]# unzip teaming-4.0.1-db.zip # chmod -R 744 db # cd db db] # vim mysql-liquibase.properties   driver: com.mysql.jdbc.Driver   url:   jdbc:mysql://localhost:3306/sitescape?useUnicode=true&characterEncoding=UTF-8   username : root   password : kablink

Проверка кодировки.

db]# mysql -uroot -pkablink mysql> use sitescape; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -ADatabase changed mysql> SHOW VARIABLES LIKE "character_set_database"; +------------------------+-------+ | Variable_name          | Value | +------------------------+-------+ | character_set_database | utf8  | +------------------------+-------+ 1 row in set (0,00 sec) mysql> quit

Перестроить схему базы данных Kablink.

db] # ./manage-database.sh mysql updateDatabase INFO :liquibase: Successfully acquired change log lock INFO :liquibase: Reading from `DATABASECHANGELOG` INFO :liquibase: Reading from DATABASECHANGELOG ... WARNING :liquibase: modifyDataType will lose primary key/autoincrement/not null settings for mysql. Use and re-specify all configuration if this is the case ... INFO :liquibase: ChangeSet scripts/changelog/mysql-changelog-quartz-1.8-to-2.2.xml::1-1::jong ran successfully in 9ms INFO :liquibase: ChangeSet scripts/changelog/mysql-changelog-quartz-1.8-to-2.2.xml::1-2::jong ran successfully in 4ms INFO :liquibase: ChangeSet scripts/changelog/mysql-changelog-quartz-1.8-to-2.2.xml::2-1::jong ran successfully in 36ms ... INFO :liquibase: Marking ChangeSet: scripts/changelog/mysql-changelog-quartz-1.8-to-2.2.xml::5-7::jong::(Checksum: 3:a50e6cfc290ccee54f760206347e5036) ran despite precondition failure due to onFail='MARK_RAN': scripts/changelog/mysql-changelog-master.xml : Index FK_SSQRTZ_CRON_TRIGGERS_SSQRTZ_TRIGGERS does not exist ... INFO :liquibase: ChangeSet scripts/changelog/mysql-changelog-quartz-1.8-to-2.2.xml::11-1::jong ran successfully in 42ms INFO :liquibase: Successfully released change log lock Liquibase Update Success

Действия с java.

Проверка временной зоны Tomcat

# /opt/novell/teaming/apache-tomcat/bin/catalina.sh
JAVA_OPTS=....-Duser.timezone=GMT ...-Duser.timezone=Europe/Moscow

Действия после обновления Kablink.

  • Порядок
    • Старт kablink, контролировать процессы загрузки.
# /etc/init.d/teaming stop # tail -f /opt/novell/teaming/apache-tomcat/logs/appserver.log
    • запустить проверку индексации kablink, может занять некоторое время
    • выполнить сброс глобальных форм и определений, проверить наличие и восстановление настраиваемых форм
    • выполнить сброс шаблонов областей и папок, проверить наличие и восстановление настраиваемых шаблонов
    • проверить пользовательские формы, если были созданы, при необходимости восстановить
    • проверить пользовательские шаблоны, если были созданы, при необходимости восстановить

Обновление «заплаток» kablink.

 Теперь рассмотрим другой тип обновления, для небольших исправлений, «заплаток», относящихся в основном к контейнеру apache-tomcat. Сам файл с обновлением выглядит примерно так, vibe-4.x.x-PX-xxxxxxxx.zip, где ‘x’ — цифровая номенклатура файла исправлений. Познакомится с исправлениями можно прочитав readme.txt zip архива. Прежде чем приступить к обновлению, надо сохранить резервную копию каталога apache-tomcat, так на всякий случай, отметим при этом, что мастер установки, предварительно, тоже создаёт резервный архив экземпляра apache-tomcat.

Порядок выполнения.

  • резервная копия apache-tomcat.
home]# tar -czfv apach_tomcat.tar /opt/novell/teaming
  • распаковать архив
home]# mkdir vibe-4.x.x-PX home]# cd vibe-4.x.x-PX vibe-4.x.x-PX]# unzip vibe-4.x.x-PX-xxxxxxxx.zip
  • остановить Портал
# /etc/init.d/teaming stop
  • старт мастера обновления
.x.x-PX]# tclsh vibe-ftf-installer.tcl Is Vibe shut down? [N]:Y ...
  • старт Портал
# /etc/init.d/teaming start 

Заключение.

 Задачи обновления любой системы относятся к операциям повышенного риска, kablink не исключение, здесь требуется особое внимание и понимание рисков связанных с этой ответственной процедурой. Прежде всего должна быть свежая проверенная резервная копия — спасательный круг, если Портал установлен в облаке, например Microsoft Azure, то можно делать контрольные точки на период обновления kablink, в любом случае у администратора должен быть запасной вариант в случае неудачи. Когда все действия по обновлению kablink закончатся и замечаний не будет, можно просмотреть сообщения журналов сервера и apache-tomcat, после чего включить обновление индексации структуры БД и файловых хранилищ kablink.

Как резервировать и восстановить Kablink.

Введение.

Резервное копирование и восстановлением системы, является важным условием для успешной эксплуатации Kablink, сохранение информации и возможность её полного восстановления станет особенно востребована, по мере заполнения Портала материалами и публикациями, безопасность которых обеспечивает администратор. Прежде чем открыть пользователям доступ и разрешить осуществлять публикации, запускать рабочие процессы, проекты и т.д, администратору необходимо научиться создавать архивные копии, восстанавливать архив Портала на сервере и быть уверенным, что потери информации не произойдёт.

 Следует отметить, в панели управления администратора специальной кнопки, создать архив нет. Здесь, предлагается простой, проверенный временем, надежный сценарий kbbk написанный на shell, с возможность автоматизации расписания выполнения создания архива(ов), при помощью cron. Для начала определимся, что мы будем сохранять и восстанавливать, вероятно это БД Kablink, хранилище Kablink и контейнер Apache-Tomcat (необязательно) т.к в нём могут находится настраиваемые страницы jsp  и прочие специфичные файлы вашей организации.

План подготовки резервной копии и автоматизация процесса.

Создание резервной копии.

  • Листинг kbbk:
    • сценарий kbbk поместить в /usr/local/bin
    • архивы лучше хранить на отдельном томе
#!/bin/bash TEMPDIR=/tmp/kb_bk/ BACKUPDIR=/vol/ mkdir -p $TEMPDIR # Стоп Kablink /etc/init.d/teaming stop # systemctl stop vibe # Создать dump MySQL и копировать во временный каталог mysqldump -u user -ppassword -A > $TEMPDIR/all_bd.sql # Стоп MySQL /etc/init.d/mysql stop # Копировать каталоги во временную директорию cp -r /var/opt/novell/teaming $TEMPDIR # Старт MySQL /etc/init.d/mysql start # Старт Kablink /etc/init.d/teaming start # systemctl start vibe # Сжать и добавить дату создания(максимально до 31 дня месяца) tar -cjf $BACKUPDIR/tim_`date +%d`_back.tar.bz2 $TEMPDIR # Очистить временный каталог rm -rf /tmp/teamback

 Здесь, вероятно, особых пояснений не требуется, нужно будет только переписать пути и каталоги под себя. Важно учесть время для выполнения задачи создания резервной копии, что бы не мешать работе пользователей.

 Управлять количеством резервных копий необходимо по мере их накопления, администратор должен удалять старые архивы вручную, что потребует дополнительного внимания. Но, «чистку» старых архивов можно автоматизировать, поручив выполнение этой операции планировщику cron, который будет запускать сценарий delkb из каталога /usr/local/bin/:

Сценарий удаления старых архивов delkb.

#!/bin/bash # DEY- delete file N day DAY=5 DIR="/vol/" find $DIR -type f -mtime +$DAY -exec rm -f {} \;
  • Пояснения сценария delkb
    • DAY=5         
    • количество дней, старше, которых файлы будут удаляться.
    • DIR=»/vol/»   
    • каталог архива
    • -type f          
    • найти только файлы
    • -mtime        
    • поиск по времени модификации файла
    • +$DAY       
    • определяет значение дней в большею сторону
    • -exec          
    • выполнить следующею команду
    • rm -f          
    • удаление каталогов и файлов не спрашивая

 Рассмотрим небольшой пример, допустим мы установили план создания резервных копий Kablink, один раз в день в 00 ч 00 м. Планировщик cron будет выполнять удаление старых архивов один раз в месяц, запуская сценарий delkb.

# crontab -l #minute (0-59), #|      hour (0-23), #|      |       day of the month (1-31), #|      |       |       month of the year (1-12), #|      |       |       |       day of the week (0-6 with 0=Sunday). #|      |       |       |       |       commands @daily kbbk @monthly                              delkb

Планировщик cron выполняет сценарий delkb  один раз в месяц в полночь 1-го числа

Вид архива за месяц до запуска delkb, некоторые подробности  вывода команды ls пропущены.

vol]# ls -l ...  month  1  tim_01_back.tar.bz2 ...  month  2  tim_02_back.tar.bz2 ...  month  3  tim_03_back.tar.bz2 ...  month  4  tim_04_back.tar.bz2 ...  month  5  tim_05_back.tar.bz2 ...  month  6  tim_06_back.tar.bz2 ...  month  7  tim_07_back.tar.bz2 ...  month  8  tim_08_back.tar.bz2 ...  month  9  tim_09_back.tar.bz2 ...  month 10  tim_10_back.tar.bz2 ...  month 11  tim_11_back.tar.bz2 ...  month 12  tim_12_back.tar.bz2 ...  month 13  tim_13_back.tar.bz2 ...  month 14  tim_14_back.tar.bz2 ...  month 15  tim_15_back.tar.bz2 ...  month 16  tim_16_back.tar.bz2                                                                                                               ...  month 17  tim_17_back.tar.bz2 ...  month 18  tim_18_back.tar.bz2 ...  month 19  tim_19_back.tar.bz2 ...  month 20  tim_20_back.tar.bz2 ...  month 21  tim_21_back.tar.bz2 ...  month 22  tim_22_back.tar.bz2 ...  month 23  tim_23_back.tar.bz2 ...  month 24  tim_24_back.tar.bz2 ...  month 25  tim_25_back.tar.bz2 ...  month 26  tim_26_back.tar.bz2 ...  month 27  tim_27_back.tar.bz2 ...  month 28  tim_28_back.tar.bz2 ...  month 29  tim_29_back.tar.bz2 ...  month 30  tim_30_back.tar.bz2 ...  month 31  tim_31_back.tar.bz2

Список архивов после выполнения delkbb.

# ls -l ...  month  7  tim_07_back.tar.bz2 ...  month  8  tim_08_back.tar.bz2 ...  month  9  tim_09_back.tar.bz2 ...  month 10  tim_10_back.tar.bz2 ...  month 11  tim_11_back.tar.bz2 ...  month 12  tim_12_back.tar.bz2 ...  month 13  tim_13_back.tar.bz2 ...  month 14  tim_14_back.tar.bz2 ...  month 15  tim_15_back.tar.bz2 ...  month 16  tim_16_back.tar.bz2                                                                                                               ...  month 17  tim_17_back.tar.bz2 ...  month 18  tim_18_back.tar.bz2 ...  month 19  tim_19_back.tar.bz2 ...  month 20  tim_20_back.tar.bz2 ...  month 21  tim_21_back.tar.bz2 ...  month 22  tim_22_back.tar.bz2 ...  month 23  tim_23_back.tar.bz2 ...  month 24  tim_24_back.tar.bz2 ...  month 25  tim_25_back.tar.bz2 ...  month 26  tim_26_back.tar.bz2 ...  month 27  tim_27_back.tar.bz2 ...  month 28  tim_28_back.tar.bz2 ...  month 29  tim_29_back.tar.bz2 ...  month 30  tim_30_back.tar.bz2 ...  month 31  tim_31_back.tar.bz2

План восстановления Kablik.

  • Порядок:
    • пробное, на стенде, восстановление резервной копии
    • установить сервер с параметрами оригинала
    • развернуть Kablink той же версии, что и при создании резервной копии
    • выполните действия, как показано ниже

Восстановление Kablink.

Распаковать копию архива Kablink.

# tar xvf tim_data_back.tar.bz2

Остановить Kablink или Vibe.

# /etc/init.d/teaming stop
# systemctl stop vibe

Скопировать или переписать файлы хранилищ пользователей из архива в целевой каталог.

# cp -invR tim_bk/teaming /var/opt/novell

Выполнить восстановление и проверку базы данных mysql Kablink.

# tim_bk mysql -uroot -pkablink -A < all_bd.sql # mysqlcheck -uroot -pkablink --auto-repair --check --all-databases

Запустить kablink.

# /etc/init.d/teaming start
# systemctl start vibe

Все шаги рассмотренные выше, можно использовать для Vibe, заменив kbbk на vbbk

Заключение.

 Если после всех шагов рассмотренных выше ошибок не произошло, остаётся зарегистрироваться на Портале как admin и выполнить операцию индексирования БД и файлов Kablink. Хранить резервные копии лучше всего на отдельном дисковом ресурсе(сах), периодичность и частота создание архивных копий может соответствовать работе предприятия и рассчитываться примерно по такой регламентной схеме: понедельник, вторник, среда, четверг, пятница в 23 час 59 мин должен включаться crontab, создавать архив, после чего готовые и сжатые архивные копии перемещаются в подготовленный для них хранилище.

Вся технологическая процедура резервного копирования осуществляется автоматически, без участия администратора — достигается проверкой всех этапов создания  backup на стенде, размеры тестируемых каталогов и БД можно делать небольшими, для уменьшения времени окончания операций, общий прогон делают на действующем Портале Kablink. И ещё одно замечание, никогда не храните резервные копии на диски где установлен kablink, это может привести к печальным последствиям — отказу оборудования от обслуживания.

Как установить Kablink.

Введение.

 Рассматривается установка Kablink и технологический порядок развёртывания базовых программ. В Kablink предусмотрены два режима установки — графический и терминальный, мы будем рассматривать терминальный т.к он более информатизирован, менее затратен и не требует для серверов Linux установки среды GUI, графический станет понятен после ознакомления с терминальным режимом т.к он более нагляден.

 В качестве ПО для сервера, используются Российский дистрибутив ALT Linux- хорошо зарекомендовавший себя многолетней эксплуатацией, в качестве надёжной платформы для вэб приложения, про лицензирование ALT, можно прочитать здесь Для установки и развёртывания Портала, воспользуемся программой доступной из свободного ПО, Kablink, естественно всё сказанное будет относиться и к его коммерческой версии Vibe за исключением небольших сервисных приложений, которые добавлены в платном релизе.

 Теперь по порядку — создаём группу или пользователя для запуска процессов Портала (см.планирование), можно конечно использовать root но не рекомендуется.

 Переименовываем файл лицензии (или 60 дн. пробный лицензионный ключ, только для Vibe,в файл с именем license-key.xml и копируем его в каталог где находятся разархивированные файлы пакета Vibe.

 Используя в качестве сервера, дистрибутив ALT Linux, необходимо отметить расположение портов, некоторые из которых «пересекаются» с адресами использующихся в Kablink.

 В ALT Linux центр управления системой (ЦУС) прослушивает порт 8080, для успешной работы Kablink так же необходим порт 8080, что делать?  ЦУС мы трогать не будем просто при установке и развёртывании Портала будем указывать порт 8081.

Подготовка.

  • Стенд.
    • Сервер Alt Linux
    • MySQL 5.7.28
    • jdk1.8-1.8.0_181-fcs.x86_64
    • jce-policy

 Произвести установку сервера ALT Linux минимальной конфигурации.

  • добавляем необходимые библиотеки
# apt-get update
# apt-get install libstdc++3.3
# apt-get install libstdc++.so.5
# apt-get install libstdc++.so.6
# apt-get install ms-fonts-ttf
# apt-get install libpthread.so.0
//некотрые пакеты могут отсутствовать в новых репозиториях

В настоящее время сервер ALT Linux поставляется с БД MySQL 8xxx версии, к сожалению Kablink работает, пока, на версии MySQL 5xxx, ждём обновления. В этой ситуации, для того что бы использовать сервер ALT Linux 9, необходима версия БД MySQL 5.xxx. Для этого, надо удалить MySQL 8xxx, временно переключиться на ветку Branch p8, используя утилиту Synaptic, установить MySQL 5xxx, после чего вернутся на ветку Branch p9. Но как быть с регулярными обновлениями сервера, во время регламентных работ, MySQL 5.xxx будет стремиться обновится до MySQL 8xxx. Предлагается рабочий вариант испытанный на практике — блокировка пакета MySQL 5.xxx при помощи консольной команды см.ниже.

  • выполнить сценарий:
# echo 'RPM::Hold { MySQL-server MySQL-client};' > /etc/apt/apt.conf.d/90-apt-hold.conf
  • после ввода команды:
# apt-get update;apt-get dist-upgrade
  • появится информационное сообщение:
---
Следующие пакеты будут СОХРАНЕНЫ:
MySQL-client MySQL-server
Продолжить? [Y/n]

В MySQL вносим изменения в файл my.cnf  устанавливаем пароль и отключаем соединение по IP.  

# mysql -uroot -p # Enter password: ENTER //нажать клавишу ENTER //установить пароль mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'kablink'; //установить native_password mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'kablink'; //изменения конфигурационного файла MySQL # vim /etc/my.cnf.d/server.cnf --- #skip-networking --- # systemctl restart mysqld

 Выставляем значения мягкого и жесткого лимита потребления ресурсов ЦП, при открытие файлов и папок kablink.

# vim /etc/security/limits.conf 
---
# @student - maxlogins 4
 * hard nofile 65535
 * soft nofile 4096
# End of fil
...
# reboot

У вас должны быть подготовлены архивы необходимых установочных пакетов, которые надо распаковать:

# cd /home # unzip jce_policy-8.zip # mkdir kablink-vibe-4.x.x # tar xvf kablink-vibe-4.x.x-linux.tar -C kablink-vibe-4.x.x

Действия с Oracle Java JDK.

//установка
# rpm -ivh jdk-8uxxx-linux-x64.rpm
# javac -version
# javac 1.8.0_xxx
//удаление
# rpm -qa|grep jdk
jdk1.8.0_xxx-1.8.0_xxx-fcs
# rpm -e jdk1.8.0_xxx-1.8.0_xxx-fcs

Перенос файлов JCE  в  каталог JDK. 

# cp -r UnlimitedJCEPolicyJDK8/* /usr/java/jdk1.8.0_xxx-amd64/jre/lib/security/ cp: переписать '/usr/java/jdk1.8.0_xxx/jre/lib/security/local_policy.jar'? y cp: переписать '/usr/java/jdk1.8.0_xxx/jre/lib/security/US_export_policy.jar'? y

По мере обновления базового пакета JDK, на сайте Oracle, необходимо обновлять версию JDK  Kablink — помните о JCE.

Подготовка развёртывания БД Kablink.

# cd /home/kablink-vibe-4.x.x-linux # unzip teaming-4.x.x-db.zip # chmod -R 744 db //редактировать имя и пароль доступа к библиотеке управляющей схемой БД MySQL # vim db/mysql-liquibase.properties driver: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/sitescape?useUnicode=true&characterEncoding=UTF-8 username: root password: kablink //секция для БД на удалённом сервере, если имеется referenceDriver: com.mysql.jdbc.Driver referenceUrl: jdbc:mysql://localhost:3306/sitescape?useUnicode=true&characterEncoding=UTF-8 referenceUsername: root referencePassword: kablink

Создание базы данных sitescape для  Kablink.

# cd db/scripts/sql # mysql -uroot -pkablink show databases; +---------------------+ | Databases           | +---------------------+ | information_schema  | | mysql               | | performance_schema  | | sitescape           | +---------------------+ //кодировка mysql> use sitescape; mysql> SHOW VARIABLES LIKE "character_set_database"; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | character_set_database | utf8 | +------------------------+-------+ mysql> quit

Создание схемы для базы данных  sitescape.

# cd ../../ db # ./manage-database.sh mysql updateDatabase INFO 17.06.17 9:40:liquibase: Successfully acquired change log lock INFO 17.06.17 9:40:liquibase: Creating database history table with name: 'DATABASECHANGELOG' --- WARNING 17.06.17 9:40:liquibase: modifyDataType will lose primary key/autoincrement/not null settings for mysql. Use and re-specify all configuration if this is the case INFO 17.06.17 9:40:liquibase: ChangeSet scripts/changelog/mysql-changelog-3.3.xml::1325864746197-1::jong (generated) ran successfully in 44ms INFO 17.06.17 9:40:liquibase: ChangeSet scripts/changelog/mysql-changelog-3.3.xml::1325864746197-2::jong (generated) ran successfully in 49ms --- INFO 17.06.17 9:41:liquibase: ChangeSet scripts/changelog/mysql-changelog-4.0.xml::1::jong ran successfully in 55ms INFO 17.06.17 9:41:liquibase: ChangeSet scripts/changelog/mysql-changelog-4.0.xml::3::peter ran successfully in 109ms --- Liquibase Update Successful //при ошибке Liquibase Update Failed: Communications link failure //проверить Таб №1

Установка каталогов Kablink.

Развёртывание структуры каталогов Kablink.

# cd /home/kablink-vibe-4.x.x-linux
kablink-vibe-4.x.x]#./installer-teaming.linux --text

Сохраните файл installer.xml, как шаблон, для будущих обновлений или изменений в настройках Kablink, чтобы не вводить всё заново.

Дополнительная информация.

Варианты установок Kablink.

Мастер установки и настройки Kablink — гибкий инструмент, позволяющий в режиме терминала, выполнять, в «безмолвном», режиме установку, обновление, перенастройку Портала.

//установка по шаблону installer.xml
# ./installer-teaming.linux --silent --install
//обновление
# ./installer-teaming.linux --silent --upgrade
//изменения конфигурации
# ./installer-teaming.linux --silent --reconfigure

 Установка библиотек для конвертации документов в HTML.

# cd /opt/novell/teaming/stellent-converter/linux/x86/
# ./exporter
 Error: no input file was specified
 Error: no output file was specified
 Error: No output id was specified
//только для Kablink
# apt-get install Apache-Openoffice

 Настройка временной зоны для  apache-tomcat

# /opt/novell/teaming/apache-tomcat/bin/catalina.sh JAVA_OPTS=...-Duser.timezone=Europe/Moscow

Создание правил для портов.

 Понятие перенаправить, для Kablink, означает возможность обращаться к страницам Портала используя для этого стандартные порты для браузера и электронной почты, по умолчанию. Запускаем наш любимый браузер,  нажимаем вкладку где находится адрес ЦУС сервера kablink, заполняем поля регистрации для авторизации, находим нужную секцию управления брандмауэр и создаем правила для перенаправление портов.

Запуск kablink.

Команды для запуска Kablink.

# /etc/init.d/teaming start
# chkconfig teaming on

Набираем в браузере адрес портала вводим имя admin пароль admin в форме регистрации , попадаем в личную область администратора Портала и сразу меняем пароль на более сложный по требованию безопасности остаётся только ознакомится с информационным сообщением, которое актуально если Kablink имеет доступ в интернет, отказаться от этого предложения можно в настройках администратора.

//журналы # tail -f /opt/novell/teaming/apache-tomcat/logs/catalina.out # tail -f /opt/novell/teaming/apache-tomcat/logs/appserver.log //хранилище # /var/opt/novell/teaming # /var/lib/mysql

После установки Kablink.

Использование memcached.

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

# apt-get update
# apt-get install memcached
# vim /etc/sysconfig/memcached
RUNAS="memcached"
LISTEN="127.0.0.1"
MAXCONN="1024"
CACHESIZE="64"

Листинг установки  Kablink 

kablink-vibe-4.x.x]# ./installer-teaming.linux --text ::softwareVersion Installing this software requires agreement to the terms and conditions set forth in the: Kablink License You can review this agreement again at the download site or type "REVIEW" below. Note: You must answer "YES" to install the software. Have you read and agree with the license? : YES Kablink Vibe Installer 4.0.1 Select the action you want to perform 1. New installation 2. Update software and settings 3. Reconfigure settings Selection? [1]: Where would you like to install Kablink Vibe? Install directory: [/opt/novell/teaming]: Directory /opt/novell/teaming exists Directory /opt/novell/teaming is not empty Select the type of installation you want to perform 1. Basic installation (select this if you do not have to configure any of the optional features) 2. Advanced installation (select this if you need to configure any of the optional features) Selection? [1]: File system location [/var/opt/novell/teaming]: Default locale .... 31. Russian (Russia) .... Selection? [31]: Logfile time zone ... 323. Europe/Moscow ... Selection? [323]: Please enter the userid or userid:group under which to run Kablink Vibe: [root]: Built-in Administrator Name for Kablink Vibe Specify the default name for the built-in administrator account. Default Administrator Name [admin]: Network information These settings control the way that Kablink Vibe appears on the network Hostname [kablink.kb]: HTTP port [8081]: Secure HTTP port [8443]: Listen port (if different from Port) [8081]: Secure listen port (if different from Secure port) [8443]: Shutdown port [8005]: AJP port [8009]: Session timeout [240]: Keystore file: (Optional) Forward Proxy Server Proxy server hostname: Proxy server port [80]: WebDAV Authentication Method Select the authentication method to use for WebDAV access. Two forms of WebDAV authentication are supported, basic and digest. The choice of which one to select must take the following into consideration: 1) Windows 7 users may not be able to use WebDAV features if basic authentication is selected and the users access Vibe over HTTP; 2) Basic Authentication is recommended if Vibe server is set up to force HTTPS; and 3) Digest authentication will require user passwords to be stored using symmetric encryption. WebDAV authentication method? 1. basic 2. digest Selection? [2]: Database selection It is recommended that your database software be installed and running, before proceeding Which database are you using? 1. MySql 2. SQLServer 3. Oracle Selection? [1]: Username for Vibe database [root]: Password for Vibe database [kablink]: JDBC URL for Vibe database [jdbc:mysql://localhost:3306/sitescape?useUnicode=true&characterEncoding=UTF-8]: *** Note *** After the installation has finished, you will need to run the database creation scripts by hand. Please refer to the installation guide for details. ************ Checking database settings... Database type is: MySql Checking MySql version and access for Kablink Vibe -------------- mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper Connection id: 12 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.7.22-alt1.M80P.1 (ALT) Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /var/lib/mysql/mysql.sock Uptime: 4 min 30 sec Threads: 1 Questions: 2821 Slow queries: 0 Opens: 629 Flush tables: 1 Open tables: 26 Queries per second avg: 10.448 -------------- mysql: [Warning] unknown variable 'loose-chroot=/var/lib/mysql' mysql: [Warning] Using a password on the command line interface can be insecure. NOTE: Minimum database requirement is 5.0.26 We see Server version: 5.7.22 Please review above notes. Enter Y to continue, enter N to cancel installation [Y]: A Java JDK of version 1.7.0 or higher is required to run Kablink Vibe. Path to JDK version 1.7.0 or higher [/usr/java/jdk1.x.x_xxx-amd64]: JVM heap size to use [1g]: The Java Cryptography Extension must be installed for Vibe to work. Please verify that this has been installed. Outbound e-mail settings There are features of Kablink Vibe that require an outbound e-mail server be configured. Email protocol for outbound messages 1. smtp 2. smtps Selection? [1]: Email host [10.0.2.10]: Port [25]: Connection timeout [15000]: Default time zone for outbound messages ... 323. Europe/Moscow ... Selection? [323]: Username [portal@kablink.kb]: Password: Is authentication required to send? [No]: Allow sending e-mail to all users? [Yes]: Force HTTPS links in e-mails? [No]: Enable STARTTLS? [No]: From e-mail addresss override: Use this from e-mail address for all outbound e-mail? [No]: Internal SMTP server e-mail settings Enable internal SMTP e-mail server? [Yes]: //свой smtp движок SMTP bind address [10.0.2.2]: SMTP port [2525]: Announce TLS? [Yes]: Data fsroot directory /var/opt/novell/teaming Data fsroot directory /var/opt/novell/teaming Removing obsolete Conferencing presence settings from installer.xml. Configuration saved in installer.xml. Install software now? [Yes]: Yes

Заключение.

  Если всё прошло без ошибок, организация получает готовый корпоративный Портал для работы и моделирования задач. Прежде чем включить Kablink в структуру вашего предприятия необходимо провести обучение пользователей, создав тестовую рабочею область «песочницу». Выделите время, на отладку резервного копирования и восстановления Портала, уделите этому вопросу необходимое время — поверьте это окупится. Дальнейшие действия будут складываться в зависимости от потребностей и заказов для формирования задач, которые может выполнять Kablink. Пройдёт время, количество публикаций увеличится, нагрузка на администратора возрастёт, требуя более внимательного отношения к теории и практике применения правил работы пользователей на Портале. Наступит потребность в установлении правил хранения информации: время, тип, размер, приватность…, иначе дисковое пространство будет забито контентным «хламом».

Kablink мощный и гибкий коммуникационный сервис, способный выполнять множество задач при грамотной эксплуатации. Созданный на основе Open Source, Kablink, способен работать на Российской ОС, позволяя организациям на долгое время обеспечить обслуживание своих ИТ решений.

Сравнивая Kablink и SharePoint компании Microsoft, можно убедится в предсказуемости продукции Open Source, её лицензионной надёжности и технической поддержки. Многие компании использующие SharePoint, так и не смогли «вылезти» из SharePoint 2003 — 2007, причина проста дорого, слишком большие риски, требуется обновить одновременно сервера MS Windows и Share Point. Для Kablink такие трудности сведены к минимуму, с обновлением БД всё будет в конце концов решено, пока можно оставить в том виде, как показано выше. Если в компании имеется java программист, способный создавать jsp приложения, то отдача от Портала будет во много раз увеличена, что успешно скажется на финансовом фоне организации.

Copyright © 2011-2024
Все права защищены.
При перепечатке указать источник: kabtim.ru
Контакты