Регламентные работы по обновлению 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 [Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.]:
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 Successful

Действия с 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

старт мастера обновления

vibe-4.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 с нуля.

 Содержание.

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

Последовательность действий.

Мы будем последовательно рассказывать о версии Kablink 4.x и её новых возможностях опираясь на проверенный опыт работы Kablink 3.x, рассмотрим риски и тонкости миграции с версии Kablink 3.x на Kablink 4.x Материалы и сведения о Kablink 3.x вы всегда сможете найти в архиве и при необходимости развернуть экземпляр Портала, следует только учесть - версия java должна быть выбрана jdk7, ищите ею в архиве Oracle.

 

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

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

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

Условия и требования для развёртывания Kablink.

 Так как движок Портала собран на {tip content="Объектно-ориентированный язык программирования"}Java{/tip} требуется установить контейнер Java Development Kit (jdk) от компаний Oracle. Необходимо отметить важность правильной работы java как на стороне сервера так и на стороне пользователя, в ходе нашего изложения мы не раз будем возвращаться к этому вопросу.

Требование для DNS Kablink.

Проверьте и настройте правильное разрешение имён {tip content="Система доменных имён"}DNS{/tip} сервера на котором будет развёрнут Портал, это важный момент, который надо понимать, для проверки выполните с любого ПК команду ping <имя Портала>.

Требование к Портам Kablink.

Проверьте, на сервере, чтобы порты 80443 8080 8081 8443 были не заняты другими службами или программами, командой netstat -tulpn

Условия для SMTP Kablink.

В Kablink предусмотрен небольшой {tip content="Simple Mail Transfer Protocol — простой протокол передачи почты"}SMTP{/tip} движок, для поддержки входящих и исходящих сообщений электронной почты Портала, необходимо предусмотреть и запланировать трафик почтовых сообщений Портала и корпоративного почтового сервера использующегося на вашем предприятие.

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

 Очень важный параметр порт SMTP, классически это {tip content="Предназначен для передачи исходящей почты"}25{/tip} порт, но в Kablink используется порт 2525, также в обход обще принятых правил работают 80 и 443 порты, при проектировании необходимо учесть возможность для переадресации этих портов: 25 на 2525; 80 на 8081; 443 на 8443 портов Портала. 

Планирование безопасности Kablink.

 Безопасность Kablink включает, защиту паролем имени администратора, запуск процессов Портала от пользователя не имеющего привилегий root, защита соединений по SSL протоколу, добавления политики ввода сложности пароля при регистрации пользователей, настраивание политик управления ролями, и в дополнение ко всему перечисленному можно добавить тест {tip content="Completely Automated Public Turing test to tell Computers and Humans Apart — тест для различения компьютеров и людей"}CAPTCHA{/tip}, настройки которого доступны из панели администратора. В качестве группы пользователя(ей) для запуска процессы Портала подойдёт группа adm, создадим для неё пользователя kablink и предоставим ему права на запуск сценария Teaming.

Требование для подключения Kablink к LDAP.

 Планирование LDAP протокола - важная составляющая для понимания и встраивания процессов Kablink в существующею древовидную структуру работающего предприятия под управлением каталога имён, как правило построенного по технологии {tip content="Активный каталог AD — служба каталогов корпорации Microsoft."}AD{/tip} на основе LDAP протокола. Такая задача как синхронизация учётных записей пользователей в адресной книге вашей организации с каталогом пользователей Kablink, позволит во многом сократить время администрирования на всех уровнях управления Портала при планирование и назначении рутинных задач получения оповещений, отправки подтверждений, назначения мероприятий и заданий, управление пользовательскими календарями и многое другое. У администратора и пользователей, появится возможность видеть список имён адресной книги вашей организации, через интерфейсные окна Портала.

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

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

Таблица №1 Системные требования.
ПараметрТребования
Требование к ЦПУ
  • X86-32
  • x86-64
  • >= 2 GHz
Требование к ОЗУ
  • 3 GB RAM для x86-32
  • 4 GB RAM для x86-64
Операционная система
  • ALT Linux 
База данных
  • MySQL
  • SQL
Контейнер сервлетов Apache-Tomcat, входит в Kablink
Среда разработки
  • Oracle JDK8
  • IBM JDK
Поддержка сервиса каталогов
  • Novell eDirectory
  • Microsoft Active Directory directory
Размер дискового пространства: Не менее 500 MB при новой установке
Размер хранилищ баз данных ~50 МБ для каждого нового пользователя
Совместная работа
  • GroupWise
  • MC Outlook
  • Evolution
Поддержка мобильных устройств Любые мобильные устройства с поддержкой HTML 4/5 и JavaScript
Поддерживаемые среды
  • IPV6
  • Кластеризация
  • Xen
  • VMware
  • VirtualBox
  • Linux File System
  • Hyper-V
  • KVM
Файловые системы
  • ext3
  • ext4
  • NSS
Клиент
    Java Runtime Environment включить
  • Mozilla Firefox
  • IE
  • Google Chrome
  • Opera
Редактор
  • OpenOffice
  • LibreOffice
  • Microsoft Office
Поддержка языков Все основные языки включая русский

* /var/opt/novell/teaming

Таблица №2. Расчёт нагрузки Kablink.
Пользователи (кол)СервераCPUПамятьРазмер Java куча
10
    Сервер:
  • Tomcat
  • Lucene
  • База данных
x86 2 GB 1 GB
50
    Сервер:
  • Tomcat
  • Lucene
  • База данных
x64 4 GB 2 GB
100
    Сервера:
  • 1-Tomcat сервер
  • 1-Lucene сервер
  • 1-БД сервер
x64 8 GB 6 GB
500
    Сервера:
  • 3 Tomcat сервера, L4 балансировкой нагрузки
  • 2 Lucene сервера
  • 2 БД сервера
x64 8 GB 6 GB

 Заключение.

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

Резервное копирование и восстановление Портала Kablink.

Введение.

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

 Содержание.

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

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

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

Листинг kbbk.

сценарий, kbbk поместить в /usr/local/bin , архивы лучше хранить на отдельном томе vol

#!/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:

Пример использования сценария delkb

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

# 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           

вид архива за месяц до запуска 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 пропущены 

vol]# 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

vol]# tar xvf tim_data_back.tar.bz2

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

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

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

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

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

tim_bk]# 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 позволяют существенно увеличить и более гибче использовать прикладные протоколы формирования и обмена публикуемой информации. Изменения могут касаться, как непосредственной работы Портала и корректировки уже существующих параметров, так и добавления новых протоколов, для более гибкой работы Kablink с пользователями. Ранние уже говорилось, что для Kablink действуют два режима расширенной установки — на уровне прикладных протоколов, рассматривается в этой статье и на уровне расширения формирования дизайна публикуемого контента и его сопровождения с применением виджетов шаблонов, форм и рабочих процессов поддерживающие коммуникационные связи с помощью встроенного механизма электронной почты kablink, подробности смотри в этой статье.

Содержание.

 

Подготовка.

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

останавливаем работу Портала 

# /etc/init.d/teaming stop

запускаем мастера установки и выбираем пункт Reconfigure settings (перестроить настройки) после чего выходим на нужный тип установки

# cd /home/kablink-vibe-4.x.x-linux
# ./installer-teaming.linux
# Have you read and agree with the license? : yes
...
Select the action you want to perform
1. New installation
2. Update software and settings
3. Reconfigure settings
Selection?  [3]: 
...
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? [2]:

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

 Конфигурация хранилищ.

Изменить или переместить расположения места хранения каталогов файлов репозитория Kablink.

File system location [/var/opt/novell/teaming]: 
Simple File Repository location [/var/opt/novell/teaming]: 
Jackrabbit Repository location [/var/opt/novell/teaming]: 
Extensions Repository location [/var/opt/novell/teaming]: 
Archive Store location [/var/opt/novell/teaming]: 
Cache Store location [/var/opt/novell/teaming]: 
Lucene Index location [/var/opt/novell/teaming]:
  • Simple File Repository location - использует большое дисковое пространство, хранит прикрепления и версии файлов
  • Jackrabbit Repository location - использует небольшое дисковое пространство
  • Extensions Repository location - использует программы - расширения создаваемые администратором и распространяемые через kablink
  • Archive Store location- архивные файлы пользователей
  • Cache Store location - хранилище небольших  частей файлов и html запросов
  • Lucene Index location - файлы индекса БД для быстрого поиска нужной информации пользователей Kablink

 при перемещении любого из перечисленных хранилищ на удалённые сервера, следует учитывать возможность быстрого сетевого доступа  в режиме чтения/запись к дискам вновь созданных разделов

Сетевые настройки.

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

 Session timeout [240]: 
  • Max Threads: - максимальное количество одновременных клиентских запросов поддерживаемых Kablink, по умолчанию 200 потоков
  • Max Active - максимальное количество одновременных подключений к базе данных, по умолчанию 200
  • Max Idle - максимальное количество ожидающих в очереди подключений к базе данных, по умолчанию 20

 Изменить место хранилища файла .keystore, используется в kablink как самоподписаннй сертификат ключей для защиты портов при установке соединения по SSL протоколу, по умолчанию находится в каталоге /opt/novell/teaming/apache-tomcat/conf

Keystore file: 

в дальнейшем необходимо заменить самоподписанный сертификат на сертификат выданный вашим CA, более подробную информацию смотри здесь

Настройка веб-служб.

 По умолчанию Kablink, при установке и настройке, запускает три веб-протокола, а четвёртый по выбору для анонимного доступа — определяется политикой безопасности прдприятия. Основная задача первых трёх протоколов защитить клиент-серверное соединение от несанкционированного доступа с помощью логин пароля и ssl ключей. Для защиты удалённых приложений используется отдельный протокол token-based.

...
Enable Web Services Enable WSS Authentication (recommended) [Yes]: Enable Basic Authentication (recommended) [Yes]: Enable token-based authentication (recommended) [Yes]: Enable anonymous access [No]:

 Конфигурация запросов.

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

....
Resource and Connection Settings
...
Max Threads (Default:  200) [200]: 
Max Active (Default:  50) [50]: 
Max Idle (Default:  20) [20]: 
Scheduler Threads (Default:  10) [20]
...
  • Max Threads: - максимальное количество одновременных клиентских запросов поддерживаемых Kablink, по умолчанию 200 потоков
  • Max Active - максимальное количество одновременных подключений к базе данных, по умолчанию 200
  • Max Idle - максимальное количество ожидающих в очереди подключений к базе данных, по умолчанию 20

 Конфигурация RSS каналов.

 Для пользователей Kablink открыт доступ к настройкам RSS-каналов непосредственно в любой из папок своей рабочей области, администратор вносит исправления если  настройки RSS создают избыточную нагрузку на дисковое пространство Портала при подписке на каналы RSS.

RSS settings
Note: RSS feeds are inherently insecure as they do not use the standard authentication mechanism.

Enable RSS? [Yes]: 
Maximum elapsed days [31]: 
Maximum inactive days [7]:
  • Enable RSS? - администратор kablink может отключить RSS, если сочтёт его работу небезопасным
  • Max elapsed days:- время хранения элементов из RSS - каналов, по умолчанию 31 день
  • Maximum inactive days - если в течении, по умолчанию 7 дней,  нет обращений канал RSS не обновляется

 запускаем Kablink

# /etc/init.d/teaming start

Заключение.

 Возможность расширения любой платформы позволяет взглянуть на работу сервиса более внимательно, kablink не исключение. Конечно можно менять каталоги, перенося их на дополнительные сервера, тем более, что с введением облачной виртуализации это сделать не сложно. Другой вопрос, целесообразность предлагаемых изменений, потеря соединения, с выделенным ресурсом, может привести к остановке Портала и к разбирательству действий администратора. Конечно все каталоги перносить не требуется, но приступая к расширенным настройкам Kablink, необходимо уделить особое внимание хранилищу индексов, серверу Lucene, порой от скорости открытия поискового запроса многое зависит, можно конечно заняться внешней красотой Портала, но когда зависает страница, здесь уже не до красоты. На систему поиска в Kablink работает специальная служба, которая занимается созданием шаблонов поискового алгоритма индексации запросов. Ещё хотелось бы обратить внимание на такой параметр, как размер памяти кучи java, по умолчанию 1 Гб.

...
JVM heap size to use [1g]:
...

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

Установка и настройка 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 минимальной конфигурации в соответствии с рекомендацией по установке, смотри.

добавляем необходимые библиотеки

# 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
//некотрые пакеты могут отсутствовать в новых репозиториях

базовые настройки MySQL смотри 

Прежде чем перейти к настройке MySQL необходимо уточнить один момент, в настояшее время сервер ALT Linux поставляется с БД MySQL 8xxx версии, к сожалению Kablink работает, пока, на версии MySQL 5xxx, ждём обновления. В этой ситуации, для того что бы использовать сервер ALT Linux 9 для установки Kablink, нeжен сервер БД MySQL 5.xxx. Для этого, как один из вариантов, необходимо переключится, временно, на ветку Branch p8 и исползуя утилиту {tip content="Графический менеджер пакетов для apt (apt-get). Позволяет устанавливать, удалять, обновлять пакеты (программы) в системе и многое другое."}Synaptic{/tip} установить БД MySQL 8xxx,  после чего вернутся на ветку Branch p9. Но как быть с регулярными обновлениями сервера, во время регламентных работ, MySQL 5.xxx также будет стремиться обновится до MySQL 8xxx. Предлагается рабочий вариант испытанный на практике - блокировка пакета MySQL 5.xxx в apt при помоши консольной команды см.ниже.

выполнить сценарий:

# 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 для Kablink, вносим изменения в файл 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 <mysql-create-empty-database.sql
...
//проверка
# mysql -uroot -pkablink
mysql> 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 — гибкий инструмент, позволяюший в режиме терминала, {tip content="У Вас должен быть готовый файл installer.xml — шаблон из которого будут получены ответы на вопросы программы, вносящие изменения в процессе запрошенных действий."}выполнять{/tip}, в "безмолвном", режиме установку, обновление или пернастройку Портала.

//установка по шаблону 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=GMT ...-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 [Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.]: 
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

Заключение.

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