Установка VIPole сервера на Debian 7.x и Debian 8.x
Содержание:
- Инфраструктура сети и минимальные требования к оборудованию
- Необходимые пакеты
- Установка Redis-сервера
- Установка БД MongoDB
- Установка VIPole сервера
Преамбула: Будем вести речь об установки сервера VIPole на операционной системе linux debian 7.11 (wheezy) и debian 8.5 (jessie).
Версии указаны на дату написания текущей документации (6.09.2016).
1. Требования к инфраструктуре сети и оборудованию:
Для функционирования VIPole сервера, необходимо:
- Установить постоянный IP адрес на сервере.
- Желательно подключение сервера кабелем Ethernet к локальной сети.
- Если планируется публикация сервера в сети Internet, то должны быть проброшены и доступны следующие порты:
TCP - 37210 и 37212
UDP - 3000:9000 (здесь диапазон портов)
Сервер VIPole может быть установлен, как на стационарном компьютере, так и на виртуальной машине HyperV, WMvare, Oracle VirtualBox или XEN.
Требование по периферии:
CPU - от Intel iCore3 до Xeon series (минимум два ядра)
RAM - 4Gb (желательно 16Gb)
HDD - 200Gb (для надёжности хранения данных, желательно использование RAID массива)
2. Необходимые пакеты
Для установки сервера необходимы следующие пакеты:
- Redis-server (2.8)
- MongoDB (2.6.x и выше)
Примечание: все действия производим от пользователя root или через sudo. Настройка утилиты sudo выходит за рамки данной документации.
3. Установка Redis сервера
По умолчанию в репозитарии находятся следующие версии пакетов redis-server:
Debian 7.11 - redis-server 2.4.14
Debian 8.5 - redis-server 2.8.17
deb http://ftp.debian.org/debian wheezy-backports main
в /etc/apt/sources.list после чего обновляем локальный репозитарий операционной системы и устанавливаем редис сервер:
# apt-get update
# apt-get -t wheezy-backports install redis-server redis-tools
Проверяем статус запуска:
# service redis-server status
[ ok ] redis-server is running.
И переходим к пункту 4.
Для debian 8.5 устанавливаем так:
И проверяем статус запуска
# service redis-server status
● redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled)
Active: active (running) since Tue 2016-09-06 11:07:03 MSK; 10s ago
Main PID: 1146 (redis-server)
CGroup: /system.slice/redis-server.service
└─1146 /usr/bin/redis-server 127.0.0.1:6379
4. Установка БД MongoDB ver 2.6
По умолчанию в репозитарии находятся следующие версии пакетов mongoDB:
Debian 7.11 - mongodb-server 2.0.6
Debian 7.11 (wheezy-backports) - mongodb-server 2.4.8
Debian 8.5 - mongodb 2.4.10
Следующие действия применимы к обоим версиям debian.
Для корректной работы VIPole сервера, необходима MongoDB версии не ниже чем 2.6.x
Debian 7.11 - mongodb-server 2.0.6
Debian 7.11 (wheezy-backports) - mongodb-server 2.4.8
Debian 8.5 - mongodb 2.4.10
Следующие действия применимы к обоим версиям debian.
Для корректной работы VIPole сервера, необходима MongoDB версии не ниже чем 2.6.x
Поэтому, добавляем официальный репозитарий MongoDB и его публичный ключ:
# echo 'deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' | tee /etc/apt/sources.list.d/mongodb.list
# apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
Обновляем локальную базу репозитария и устанавливаем mongoDB:
# apt-get update
# apt-get install mongodb-org
Последняя стабильная версия, на момент написания документации (6.09.2016), является версия 2.6.12
Проверяем статус запуска MongoDB сервиса:
# service mongod status
● mongod.service - LSB: An object/document-oriented database
Loaded: loaded (/etc/init.d/mongod)
Active: active (running) since Tue 2016-09-06 11:23:42 MSK; 10s ago
CGroup: /system.slice/mongod.service
└─1695 /usr/bin/mongod --config /etc/mongod.conf
Sep 06 11:23:42 deb8 mongod[1688]: Starting database: mongod.
Более подробно с установкой MongoDB версии 2.6.х можно ознакомиться по этой ссылке.
4.1 Установка БД MongoDB ver 3.2 (ТЕСТ)
# echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.2 main" | tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Для debian 8.x указываем репозитарий
# echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.2 main" | tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Импортируем публичный ключ репозитария:
# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
Обновляем локальный репозитарий и устанавливаем mongoDB ver 3.2
# apt-get update
# apt-get install mongodb-org
Проверяем статус запуска MongoDB сервиса:
# service mongod status
● mongod.service - High-performance, schema-free document-oriented database
Loaded: loaded (/lib/systemd/system/mongod.service; disabled)
Active: active (running) since Tue 2016-09-06 12:13:30 MSK; 1s ago
Docs: https://docs.mongodb.org/manual
Main PID: 2596 (mongod)
CGroup: /system.slice/mongod.service
└─2596 /usr/bin/mongod --quiet --config /etc/mongod.conf
Если не запущен, запускаем командой:
# service mongod start
Последнней стабильной версией, на момент написания документации (6.09.2016), является версия 3.2.9
5. Установка VIPole сервера
Устанавливаем VIPole сервер командой
# dpkg -i vipoleserver-XXX_2016.1.ZZZ_amd64.deb
Настройка VIPole сервера
Содержание:
- Конфигурационные файлы
- Создание и инициализация базы данных
- Генерация сертификатов
- Конфигурация файлов сервера и медиасервера
- Тестирование и запуск VIPole evaluation server
1. Конфигурационные файлы
Все конфигурационные файлы находятся в /etc/vipole/
client_autoconf.config - авто конфигурация клиентов.
launcher.config - файл настройки запуска сервисов.
relay.config - файл настройки медиасервера
server.config - основной файл сервера.
initdb.js - инициализационный файл БД
pushd.config - файл конфигурации уведовлений
server-auto.config - конфигурация сервера автоконфигурации
(Для кластера серверов)
Если вы измените
cluster_id,
то такой же cluster
ID
надо указать в server.config
Раскоментируем строки и укажем нужные параметры dbname и domain
var dbname="vipole_server"; // mongo database name
var domain="example.com"; // your domain
Теперь создаем базу данных в MongoDB:
# mongo /etc/vipole/initdb.js
MongoDB shell version: 2.6.12
connecting to: test
Success
Проинициализиуем VIPole Server, создав учетные записи администратора и медиа сервера.
Прочтите и подтвердите лицензионное соглашение. Далее у вас будут запрошены пароли для двух учетных записей:
Важно: оба логина должны отличаться друг от друга.
Для удобства выведем первые 4 строки файла инициализации
# head -4 /etc/vipole/initdb.js
// configurable parameters
var dbname="vipole_server"; // mongo database name
var domain="example.com"; // your domain
//var domain_prefix="vs"; // prefix for domain collections in database
# vipoleadm --domain <domain> --dbname <dbname> --operation init --login <admin_login> --relayserver-login <relay_server_login>
VIPole - Server Administration Tool 2016.R1
Before you can proceed you MUST read and ACCEPT the VIPole Corporate Server Software License Agreement!
Please, choose one of the following by pressing a letter on your keyboard:
A(ccept license) or R(ead license) or C(ancel)
Для упрощения редактирования файлов конфигурации, перейдите в папку /etc/vipole
client_autoconf.config - авто конфигурация клиентов.
launcher.config - файл настройки запуска сервисов.
relay.config - файл настройки медиасервера
server.config - основной файл сервера.
initdb.js - инициализационный файл БД
pushd.config - файл конфигурации уведовлений
server-auto.config - конфигурация сервера автоконфигурации
2. Создание и инициализация базы данных
Устарело Отредактируем
/etc/vipole/initdb.js.
Укажем
там
следующие
параметры:
-
dbname – имя базы данных VIPole в MongoDB, domain – доменное имя вашего сервера (это доменное имя добавляется к логину после символа @ например, admin@example.com)
Важно: в имени домена обязательно должна присутствовать точка.
Пример: vipole-svr.local, firma.loc-
domain_prefix – префикс имени коллекции баз данных, если в базе хранятся данные нескольких доменов (не обязательно, если один домен).
var dbname="vipole_server"; // mongo database name
admin_login - администратор сервераrelay_server_login - администратор сервера релея.
VIPole - Server Administration Tool 2016.R1
Before you can proceed you MUST read and ACCEPT the VIPole Corporate Server Software License Agreement!
Please, choose one of the following by pressing a letter on your keyboard:
A(ccept license) or R(ead license) or C(ancel)
Нажимаем А и вводим пароли для администартора и администратора медиасервера
Init with admin login admin and relay server login radmin
Enter new admin password:
Repeat new admin password:
Enter relay server password:
Repeat relay server password:
Initialize server database
Admin login: <admin_login>
Relay server login: <relay_server_login>
Domain: example.com
Database name: vipole_server
Success
=============
Примечание: Если вы решили проинициализировать базу заново, необходимо запустить
программу mongo, указав в качестве параметра имя базы, например:
# mongo <dbname>
db.dropDatabase();
exit
И далее вновь инициализировать БД
#mongo /etc/vipole/initdb.js
=============
программу mongo, указав в качестве параметра имя базы, например:
# mongo <dbname>
db.dropDatabase();
exit
И далее вновь инициализировать БД
#mongo /etc/vipole/initdb.js
=============
3. Генерация сертификатов
Для упрощения редактирования файлов конфигурации, перейдите в папку /etc/vipole
# cd /etc/vipole
Сгенерируем сертификат сервера, используя OpenSSL:
3.1. Сгенерируем ключ для сервера
/etc/vipole# openssl genrsa -des3 -out cakey.pk 3072
На запрос «Enter pass phrase for» придумайте и введите пароль. Он в дальнейшем будет использоваться при конфигурировании сервера VIPole.
3.2. Сгенерируйте запрос сертификата:
/etc/vipole# openssl req -new -key cakey.pk -out server.csr
На запрос «Enter pass phrase for» введите пароль из п.3.1.
(параметры указаны для примера)
Сгенерируем сертификат сервера, используя OpenSSL:
3.1. Сгенерируем ключ для сервера
/etc/vipole# openssl genrsa -des3 -out cakey.pk 3072
На запрос «Enter pass phrase for» придумайте и введите пароль. Он в дальнейшем будет использоваться при конфигурировании сервера VIPole.
3.2. Сгенерируйте запрос сертификата:
/etc/vipole# openssl req -new -key cakey.pk -out server.csr
На запрос «Enter pass phrase for» введите пароль из п.3.1.
(параметры указаны для примера)
==============================================================
Enter pass phrase for cakey.pk:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:RUSSIAN
Locality Name (eg, city) []:Moscow
Organization Name (eg, company) [Internet Widgits Pty Ltd]:VIPOLE TEST COMPANY
Organizational Unit Name (eg, section) []:IT DEPATMENT
Common Name (e.g. server FQDN or YOUR name) []:example.com
Email Address []:email@email.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
/etc/vipole#
==============================================================
Enter pass phrase for cakey.pk:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:RUSSIAN
Locality Name (eg, city) []:Moscow
Organization Name (eg, company) [Internet Widgits Pty Ltd]:VIPOLE TEST COMPANY
Organizational Unit Name (eg, section) []:IT DEPATMENT
Common Name (e.g. server FQDN or YOUR name) []:example.com
Email Address []:email@email.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
/etc/vipole#
==============================================================
3.3. На VIPole Evaluation Server допустимо использование самоподписаных сертификатов:
/etc/vipole# openssl x509 -req -days 3650 -in server.csr -signkey cakey.pk -out cacert.pk
На запрос «Enter pass phrase for» введите пароль из п.3.1.
4.1. Конфигурация файла сервера /etc/vipole/server.config
Укажем в файле конфигураций сгенерированные ключи.
Нужно прописывать полные пути к сертификату и приватному ключу, а также пароль приватного ключа. Приватный ключ сервера в формате PEM, полученный в п.3.1
private-key-file = /etc/vipole/cakey.pk
Пароль для приватного ключа из п.3.1
private-key-file-passphrase = secret_passphrase
Сертификат в формате PEM, полученый в п.3.3
certificate-chain-file = /etc/vipole/cacert.pk
Параметры домена, базы данных:
domain = example.com
dbname = vipole_server
Так же укажем IP адрес, на котором сервер VIPole будет принимать подключения. Адрес 0.0.0.0 означает «все интерфейсы». Можно так же указать конкретный IP-адрес внешнего интерфейса сервера Debian.
listen-address = 0.0.0.0
Обычно это адрес внешнего сетевого интерфейса сервера Debian. В случае, если Вы установили сервер за NAT-ом и используете проброс портов (port forwarding), в качестве external-listen-address следует указывать внешний адрес NAT’а.
Тестирование VIPole Server:
Сначала выполните команду, чтобы убедиться, что в файле конфигурации нет ошибок :
# vipole-server --license-file <путь к файлу с evaluation лицензией> --config /etc/vipole/server.config
Если в течение 30 секунд не появилось приглашение командной строки, значит сервер успешно стартовал. Прервите его работу, нажав CTRL+C.
Запустите сервер командой:
# vipole-server --license-file <путь к файлу с evaluation лицензией> --config /etc/vipole/server.config &
Тестирование relay server:
# vipole-relay --config /etc/vipole/relay.config
Если в течение 30 секунд не появилось приглашение командной строки, значит сервер успешно стартовал. Прервите его работу, нажав CTRL+C.
Запуск relay server:
# vipole-relay --config /etc/vipole/relay.config &
/etc/vipole# openssl x509 -req -days 3650 -in server.csr -signkey cakey.pk -out cacert.pk
На запрос «Enter pass phrase for» введите пароль из п.3.1.
4. Конфигурация файлов сервера и медиасервера
Укажем в файле конфигураций сгенерированные ключи.
Нужно прописывать полные пути к сертификату и приватному ключу, а также пароль приватного ключа. Приватный ключ сервера в формате PEM, полученный в п.3.1
private-key-file = /etc/vipole/cakey.pk
Пароль для приватного ключа из п.3.1
private-key-file-passphrase = secret_passphrase
Сертификат в формате PEM, полученый в п.3.3
certificate-chain-file = /etc/vipole/cacert.pk
Параметры домена, базы данных:
domain = example.com
dbname = vipole_server
Так же укажем IP адрес, на котором сервер VIPole будет принимать подключения. Адрес 0.0.0.0 означает «все интерфейсы». Можно так же указать конкретный IP-адрес внешнего интерфейса сервера Debian.
listen-address = 0.0.0.0
Обычно это адрес внешнего сетевого интерфейса сервера Debian. В случае, если Вы установили сервер за NAT-ом и используете проброс портов (port forwarding), в качестве external-listen-address следует указывать внешний адрес NAT’а.
4.2. Конфигурация файла медиасервера /etc/vipole/relay.config
В нём необходимо указать логин и пароль учетной записи медиасервера, внешний IP-адрес и полный путь к сертификату сервера.
Внешний IP-адрес, это адрес к которому будут подключаться клиенты VIPole.
external-listen-address=192.168.1.80 # пример
Логин для подключения релей сервера к серверу VIPole. Этот логин и пароль создаются в п.2 в момент инициализации БД и домена опцией --relayserver-login. Если вы используете несколько релей серверов, они должны использовать общий логин
login=relay_server_login
passwd=relay_secret_password
Ещё раз указываем домен сервера VIPole
domain=example.com
Полный путь к сертификату, полученный в п 3.3
certificate=/etc/vipole/cacert.pk
5. Тестирование и запуск VIPole evaluation server
Тестирование VIPole Server:
Сначала выполните команду, чтобы убедиться, что в файле конфигурации нет ошибок :
# vipole-server --license-file <путь к файлу с evaluation лицензией> --config /etc/vipole/server.config
Если в течение 30 секунд не появилось приглашение командной строки, значит сервер успешно стартовал. Прервите его работу, нажав CTRL+C.
Запустите сервер командой:
# vipole-server --license-file <путь к файлу с evaluation лицензией> --config /etc/vipole/server.config &
Тестирование relay server:
# vipole-relay --config /etc/vipole/relay.config
Если в течение 30 секунд не появилось приглашение командной строки, значит сервер успешно стартовал. Прервите его работу, нажав CTRL+C.
Запуск relay server:
# vipole-relay --config /etc/vipole/relay.config &
Комментариев нет:
Отправить комментарий