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

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

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

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

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

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

Если в качестве сервера для Портала, будет использован другой дистрибутив: Ubuntu, Mandriv, openSUSE, ROSSA Fresh, Centos - проверьте их служебные порты.

Программы для установки Kablink
Alt Linux Centaurus Oracle Java Development Kit Oracle Java Cryptography Extension Open kablink-Vibe 
Таблица №1 Подготовка к установке
Добавляем необходимые библиотеки.
# apt-get update
# apt-get install libstdc++3.3
# apt-get install libstdc++.so.5
# apt-get install libstdc++.so.6
# apt-get install update-alternatives
# apt-get install ms-fonts-ttf
# apt-get install libpthread.so.0
Останавливаем (если работает) Apache2
# service httpd2 stop
# chkconfig httpd2 off
Устанавливаем сервер базы данных MySQL
# apt-get install MySQL-server
Вносим изменения в файл конфигурации сервера MySQL
# vim /var/lib/mysql/my.cnf
--- #skip-networking ---
:wq
# mysqladmin password kablink
# service mysqld restart # chkconfig mysqld on
Редактируем файл ограничения памяти при работе Kablink
# vim /etc/security/limits.conf
---
#@student - maxlogins 4 * hard nofile 65535 * soft nofile 4096
# End of file
:wq
Распаковываем архивы установочных пакетов
# tar xvf kablink-vibe-4.x.x-linux.tar -C 4kab
# unzip jce_policy-8.zip
Таблица №2 Установка Oracle Java JDK
Версия ALT Linux p7
# mkdir /usr/java
# tar xvf jdk-8uxx-linux-x64.tar.gz -C /usr/java
# ln -s /usr/java/jdk1.8.0_xxx/jre/bin/java /usr/bin
# ln -s /usr/java/jdk1.8.0_xxx/bin/javac /usr/bin
# ln -s /usr/java/jdk1.8.0_xxx /usr/java/latest
# chmod -R 755 /usr/java/jdk1.8.0_xxx
# rpm -qa|grep jdk
# jdk1.8.0_xxx-1.8.0_xxx-fcs
# javac -version
# javac 1.8.0_xxx
Версия ALT Linux p8
# rpm -ivh jdk-8uxx-linux-x64.rpm
# javac -version
# javac 1.8.0_xxx
Удаление JDK, версия ALT Linux p7
# rm /usr/bin/java
# rm /usr/bin/javac
# rm -rf /usr/java/jdk1.8.0_xxx
# rm /usr/java/latest
# rpm -qa|grep jdk
Удаление JDK, версия ALT Linux p8
# rpm -e jdk1.8.0_xxx-1.8.0_xxx-fcs
# rpm -qa|grep jd
Копируем файлы JCE  в  каталог JDK
# cp UnlimitedJCEPolicyJDK8/* /usr/java/jdk1.8.0_xxx/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
z2По мере обновления базового пакета JDK, на сайте Oracle, необходимо обновлять версию JDK Портала Kablink - не забывайте копировать два файла JCE в новый JDK каталог
 
Таблица №3 Установка базы данных Kablink.
# cd /home/4kab/
Подготовка структуры файлов сценария для установки базы данных Kablink
 4kab]# unzip teaming-4.x.x-db.zip
4kab]# chmod -R 744 db
Вносим изменения в файл сценария установки базы данных Портала
# 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
:wq
Создание базы данных Kablink
# cd db/scripts/sql 
# mysql -uroot -pkablink <mysql-create-empty-database.sql
Проверяем создание базы данных Kablink "sitescape"
# mysqlshow -uroot -pkablink
+--------------------+
| Databases |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sitescape |
+--------------------
Создание схемы базы данных Kablink "sitescape"
# cd /home/4kab/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'
INFO 17.06.17 9:40:liquibase: Reading from 'DATABASECHANGELOG'
INFO 17.06.17 9:40:liquibase: Reading from '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:40:liquibase: ChangeSet scripts/changelog/mysql-changelog-3.3.xml::1325864746197-3::jong (generated) ran successfully in 85ms
---
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::2::jong ran successfully in 53ms
INFO 17.06.17 9:41:liquibase: ChangeSet scripts/changelog/mysql-changelog-4.0.xml::3::peter ran successfully in 109ms
---
Liquibase Update Successful

Проверка кодировки базы данных Kablink
 # mysql -uroot -pkablink
mysql> use sitescape;
mysql> SHOW VARIABLES LIKE "character_set_database";
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| character_set_database | utf8 |
+------------------------+-------+
mysql> quit
Таблица №4 Установка Kablink
# cd /home/4kab
4kab]#./installer-teaming.linux --text
z2Сохраняем файл installer.xml, как шаблон, для будущих обновлений или изменениях настроек.
Варианты выбора установочных конфигураций
4kab]# ./installer-teaming.linux --silent --install
4kab]# ./installer-teaming.linux --silent --upgrade
4kab]# ./installer-teaming.linux --silent --reconfigure
Послеустановочные действия.
Наличие библиотек для конвертации документов в HTML, редакция Vibe
# 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
Установка пакета для конвертация документов в HTML, редакция 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
  # /etc/init.d/teaming start
# chkconfig teaming on

Набираем в браузере адрес портала : http://Portal IP, Вводим имя admin пароль admin, попадаем в личную область администратора Портала и сразу меняем пароль на более сложный по требованию безопасности.

z1Таблица №5 Дополнительные сведнения
Журналы Портала
# tailf /opt/novell/teaming/apache-tomcat/logs/catalina.out
# tailf /opt/novell/teaming/apache-tomcat/logs/appserver.log
Хранилище Портала
# /var/opt/novell/teaming
# /var/lib/mysql
Оптимизация работы Портала, кеширование данных с использованием memcached
# apt-get install memcached
# vim /etc/sysconfig/memcached
# Running on Port 11211
PORT="11211"
# Start as memcached daemon
USER="memcached"
# Set max simultaneous connections to 1024
MAXCONN="1024"
# Set Memory size to 2048 - 4GB(4096)
CACHESIZE="2048"
#Set server IP address
OPTIONS="-l 127.0.0.1"
:qw
# /etc/init.d/memcached start|status|restart
# chkconfig --levels 235 memcached on
# chkconfig memcached
Проверка
# netstat -tap | grep memcached
# telnet localhost 11211
Trying xxx.xxx.xxx.xx...
Connected to xxx.xxx.xxx.xx.
Escape character is '^]'.
stats
STAT pid 4858
STAT uptime 193373
STAT time 1495716378
STAT version 1.4.13_alt4.M80P.1
STAT libevent 2.0.22-stable
STAT pointer_size 64
STAT rusage_user 4.340553
STAT rusage_system 3.233386
.......
STAT evictions 0
STAT reclaimed 0
END

Листинг установки Kablink-Vibe ver.4.x.x

4kab]# ./installer-teaming.linux --text
::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? :
yesKablink Vibe Installer 4.x.x Select the action you want to perform
1. New installation
2. Update software and settings
3. Reconfigure settings
Selection?  [1]: 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 networkHostname [portal]:
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; and3) Digest authentication will require user passwords to be stored using symmetric encryption.WebDAV authentication method?
1. basic
2. digest
Selection?  [1]: Database selection
It is recommended that your database software be installed and running,
before proceedingWhich 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 xx.xx Distrib x.x.xx, for Linux (x86_64) using  EditLine wrapperConnection id:          192
Current database:
Current user:           root@localhost<br< a=""> />SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         x.x.xx-alt0.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:                 23 days 5 hours 42 min 38 secThreads: 8  Questions: 11123289  Slow queries: 0 
Opens: 436  Flush tables: 1 
Open tables: 400  Queries per second avg: 5.540
--------------  NOTE: Minimum database requirement is 5.0.26
  We see Server version: x.x.xxPlease 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.x_xxx]:
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 [123.45.67.89]:
Port [25]:
Connection timeout [15000]:
Default time zone for outbound messages---
323. Europe/MoscowSelection?  [323]:
Username [Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.]:
Password [no]:
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? [Yes]:
SMTP bind address [98.76.54.321]:
SMTP port [2525]:
Announce TLS? [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.
Install software now? [Yes]:
----
Starting installation...
Installation mode: 1   ... /home/vibe-4.x.x-linux/temp-installer/novell-teaming-4.x.x-standalone.zip
   ... /home/vibe-4.x.x-linux/temp-installer/db
   ... /home/vibe-4.x.x-linux/temp-installer/novell-teaming-4.x.xx.x.x-converter.zip
JAVA_HOME is set to: /usr/java/jdk1.8.xxx
JRE_HOME is set to: /usr/java/jdk1.8.0_xxx/jre
Copying deployment kits to work directory...Installing into /opt/novell/teaming
Installing Novell Vibe ...
--> Saving file owner and permissions for vibe.jmxremote.access, vibe.jmxremote.password and vibe.management.properties
Laying down files for StandAlone tomcat
Extracting jar file /home/vibe-4.x.x-linux/temp-installer/novell-teaming-4.x.x-standalone.zip
Remove Tomcat Work Dir
Installing Novell Vibe converters ...
   ... doneCompleted Software install successfully
Check to see if need to removeLifeRay configurationApplying installation settings...   Loading current configuration files...
Using empty zcExt
Using empty acExt
Using an empty hibernate-configuration xml document
   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...
   creating a new sec.properties file...
   generating a random encryption.key.
   writing modified sec.properties...
   setting permissions on new sec.properties...
   setting file ownership to: root ...
   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)
   Creating and protecting data root directories...
   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 default Vibe 'tomcat' certificate exists, will overwrite with a new self-signed 'tomcat' certificate...
...creating a new self-signed 'tomcat' certificate...
Self-signed 'tomcat' certificate analysis complete.End: Apply SettingsSettings successfully applied.
Getting database creation scripts....
Installation completed.You can start Novell Vibe by running the startup script:
  /opt/novell/teaming/apache-tomcat/bin/teaming start

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

Using CATALINA_BASE:   /opt/novell/teaming/apache-tomcat
Using CATALINA_HOME:   /opt/novell/teaming/apache-tomcat
Using CATALINA_TMPDIR: /opt/novell/teaming/apache-tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_xxx/jre
Using CLASSPATH:       /opt/novell/teaming/apache-tomcat/bin/bootstrap.jar:/opt/novell/teaming/apache-tomcat/bin/tomcat-juli.jar
Tomcat started.