Введение
Установка исходного кода Google Wave Federation Prototype Server
Исходный код Wave Federation Prototype Server поставляется в виде Java приложения, что соответствует XEP-0114, и является Jabber Component Protocol (компонентом Jabber протокола). В примере ниже мы покажем, как установить Wave Federation Prototype Server как плагин к Openfire XMPP сервер, но он должен так же работать с любым XEP-0114 совместимом сервере.
Для запуска прототипа сервера нужно сначала установить Openfire сервер. Данная инструкция Openfire сервера описывает шаги для Debian (Ubuntu) систем и если у вас возникнут проблемы или вопросы относительно установки, То обращайтесь к Openfire сообществу на их сайте.
Предварительные сведения
Openfire и Wave Federation Prototype Server разоработаны на Java поэтому вы должны убедиться, что у вас установлена Java на вашей машине. Несмотря на то, что WFPS должен работать на любой системе с Java 6 эта инструкция описывает шаги только для Debian (Ubuntu) систем.
Mac OSX
Для Mac OSX установите Java 6 с http://developer.apple.com/java/download/.
После установки Java вам надо создать переменные окружения:
$ export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
$ export PATH=$JAVA_HOME/bin:$PATH
Теперь пройдите на сайт Openfire и скачайте Mac OSX версию Openfire.
Debian/Ubuntu
Установка Java 6:
$ apt-get install sun-java6-jre sun-java6-fonts
Теперь скачайте и установите Openfire сервер:
$ wget www.igniterealtime.org/downloadServlet?filename=openfire/openfire_3.6.4_all.deb
$ sudo dpkg -i openfire_3.6.4_all.deb
$ sudo /etc/init.d/openfire restart
Конфигурация Openfire (все платформы)
После установки Openfire сервера пройдите по ссылке http://localhost:9090/ в вашем браузере. Замените домен на ваш, если вы устанавливаете не на локальный компьютер. Весь процесс установки будет происходить через мастер и будем ставить значения по умолчанию для простоты.
Конфигурация Openfire Wave плагина
Перезапустите сервер после окончания настройки. На Debian/Ubuntu это делается так:
$ sudo /etc/init.d/openfire/restart
После того, как перезапустите сервер войдите в Openfire как `admin` и пароль, который вы указали.
Затем идём в Server -> Server Settings -> External Components.
Включите внешние дополнения на порту 5275 и выберите секретное слово для расшаривания этого компонента. Нажмите Сохранить. Теперь добавьте `wave` как доверительный компонент. Для этого пишем субдомен `wave` и напишите опять секретное слово, которое вы написали до этого. Номер порта и секретное слово служат для возможности подключения Wave дополнения.
Теперь идём в Server -> Server Settings -> Security Settings. Для «Server Connection Security» выбираем «Custom» и включаем «Server Dialback». Так же проверьте, что флажок «Accept self-signed certificates» установлен.
Защита
Следующие изменения не являются обязательными, но если вам нужна хорошая защита, то это будет хорошей практикой.
Идём в Server -> Server Settings -> Registration and Login. Выключим «Inband Account Registration». Выключим «Change Password». Выключим «Anonymous Login»
Включим компресию в «Compression Settings»
Выключим прокси в «File Transfer Settings»
Установка дополнения Wave
Теперь скачиваем Federation Prototype Server и извлекаем всё содержимое. Скачать можно со страницы проекта или с Яндекс.Диска.
Для запуска расширения вам будут нужны некоторые из параметров, который вы использовали для настройки Openfire сервера. Это номер порта, секретное слово, имя сервера и, наконец, имя компонента, которое у нас — `wave`.
Wave сервер требует ряда сертификатов, используемых для подписания. Дополнительную информацию см. на странице Wiki
Отредактируйте run-server.sh скрипт с правильными настройками. Расшифровка аргументов:
client_frontend_hostname ip к которому будет подключаться клиент
client_frontend_port порт к которому будет подключаться клиент
xmpp_server_hostname XMPP сервер хост (например gogola.org)
xmpp_component_name XMPP компонент Wave сервера. В нашем случае «wave»
xmpp_server_ip Адрес XMPP сервера, где у нас wave компонент
xmpp_server_port Порт XMPP сервера, где опять таки, наш компонент
xmpp_server_secret Секретно лово компонента
xmpp_server_ping Пинговать сервер после подключения? Если пусто, то пинговать не будет
certificate_domain Домен сертификата который мы использовали при его создании
certificate_files файл сертификата. (yfghbvth username.cert)
certificate_private_key Приватный ключ сертификата (PKCS#8-PEM) (например username.key)
waveserver_disable_verification Проверять сертификат? true — да, flase — нет
После того, как вы отредактируете скрипт сервера вам надо будет скомпилировать сервер и запустить его:
$ ant dist
$ run-server.sh
Запуск клиента
Отредактируйте run-client.sh скрипт (смотри параметры внутри скрипта), затем запустите его:
$ run-client.sh username
P.S. Прошу строго не судить за грамматические ошибки, а так же за ошибки перевода. Я ещё учусь =)
Группа «Google Wave Россия»