Как установить сервер Shockvoice на Linux с помощью Mono
Краткое описание
Shockvoice — это голосовой VoIP-сервер, реализованный на C#. Он запускается под Mono и поэтому может работать на большинстве Unix-подобных платформ. Клиент в начале доступен только для Windows. Эта инструкция пошагово объясняет установку сервера на Linux с использованием Mono и MySQL (вариант с sqlite также описан).
Что нужно подготовить
- Сервер под Linux с правами root или sudo.
- Доступ в интернет для скачивания Mono и пакета Shockvoice.
- Понимание базовых команд shell и администрирования MySQL.
Короткие определения:
- Mono — реализация .NET для Unix-систем.
- Shockvoice — серверная часть голосового сервиса, написанная на C#.
Содержание инструкции
- Установка Mono.
- Скачивание и распаковка Shockvoice.
- Настройка базы данных (MySQL или sqlite).
- Запуск install.sh и создание config.xml.
- Копирование библиотек в /usr/lib и запуск сервера.
1. Установка Mono
Скачайте последнюю версию интерпретатора .NET для Linux — Mono:
http://www.go-mono.com/mono-downloads/download.html
Если в списке нет вашей системы, можно взять полный бинарный пакет:
http://www.mono-project.com/Other_Downloads
В этом примере используется пакетный установщик с FTP-ресурса Novell. Команды ниже — точные примеры, выполните их с правами, достаточными для записи в текущую директорию и установки пакета в /opt.
wget http://ftp.novell.com/pub/mono/archive/1.9.1/linux-installer/2/mono-1.9.1_2-installer.binСделайте файл исполняемым:
chmod +x mono-1.9.1_2-installer.binЗапустите инсталлятор:
./mono-1.9.1_2-installer.binСледуйте подсказкам установщика. В примере бинарные файлы установлены в /opt.
Важно: используйте актуальную версию Mono из официального сайта. В примере показана старая версия для совместимости с оригинальным пакетом Shockvoice.
2. Скачивание пакета Shockvoice
Получите серверную сборку с официального сервера загрузок:
http://www.shockvoice.net/downloads.php
В примере используется сборка Linux Server_v0.8.0pre2 (имя архива svserver-0.8.0pre2-linux.tar.gz).
Создайте целевую директорию для установки:
mkdir -p /usr/share/shockvoiceСкопируйте пакет в эту директорию или скачайте прямо туда, затем распакуйте:
tar -C /usr/share/shockvoice -xvzf svserver-0.8.0pre2-linux.tar.gz3. Подготовка базы данных
Варианты: MySQL (рекомедуется в этой инструкции) или sqlite (файл shockvoice.s3db). Ниже пример с MySQL.
Создайте базу данных:
mysqladmin -uroot -p create shockvoiceИмпортируйте таблицы из предоставленного SQL-дампа:
mysql -uroot -p shockvoice < /usr/share/shockvoice/shockvoice.mysql.sqlСоздайте пользователя базы данных и выдайте разрешения (в примере — svuser):
mysql -uroot -p
Enter Password:Внутри mysql shell выполните:
GRANT USAGE ON shockvoice.* TO svuser@localhost IDENTIFIED BY '';
GRANT ALL ON shockvoice.* TO svuser@localhost IDENTIFIED BY "";
FLUSH PRIVILEGES; Замените
Примечание: если вы используете sqlite, пропустите создание БД и импорт. Для sqlite используйте файл shockvoice.s3db как базу.
4. Запуск install.sh и генерация config.xml
Перейдите в папку и запустите установочный скрипт:
cd /usr/share/shockvoice && ./install.shСкрипт задаст вопросы и попытается найти Mono и mono-service в вашей системе. В примере вывод выглядел так:
Continue? (y/n) y Do you have unpacked Shockvoice in /usr/share/shockvoice? (y/n) y Do you want to create the service_start and service_stop file? (recommend) (y/n) y searching for mono… Found mono binary in /opt/mono-1.9/bin/mono .. good searching for mono-service.exe… Found mono-service.exe binary in /opt/mono-1.9/lib/mono/gac/mono-service/2.0.0.0__0738eb9f132ed756/mono-service.exe .. good Creating startscript Creating stopscript Do you want to create the config.xml file? (y/n) y
Далее скрипт попросит параметры БД. Пример ввода в интерактивном режиме:
Please enter type of database you want to use. (e.g. sqlite, mysql or postgres) mysql
Please enter server which stores the database Shockvoice. (e.g. shockvoice.s3db for sqlite or localhost for mysql) localhost
Please enter name of the database. (leave empty for sqlite) shockvoice
Please enter username who connects to the database. (leave empty for sqlite) svuser
Please enter password for database user. (leave empty for sqlite)
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента