Установка Google Wave Server (Прототип)

    Введение


    Установка исходного кода Google Wave Federation Prototype Server
    Исходный код Wave Federation Prototype Server поставляется в виде Java приложения, что соответствует XEP-0114, и является Jabber Component Protocol (компонентом Jabber протокола). В примере ниже мы покажем, как установить Wave Federation Prototype Server как плагин к Openfire XMPP сервер, но он должен так же работать с любым XEP-0114 совместимом сервере.

    image
    Для запуска прототипа сервера нужно сначала установить 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 в вашем браузере. Замените домен на ваш, если вы устанавливаете не на локальный компьютер. Весь процесс установки будет происходить через мастер и будем ставить значения по умолчанию для простоты.

    image
    image
    image

    Конфигурация Openfire Wave плагина


    Перезапустите сервер после окончания настройки. На Debian/Ubuntu это делается так:
    $ sudo /etc/init.d/openfire/restart
    После того, как перезапустите сервер войдите в Openfire как 'admin' и пароль, который вы указали.
    Затем идём в Server -> Server Settings -> External Components.
    Включите внешние дополнения на порту 5275 и выберите секретное слово для расшаривания этого компонента. Нажмите Сохранить. Теперь добавьте 'wave' как доверительный компонент. Для этого пишем субдомен 'wave' и напишите опять секретное слово, которое вы написали до этого. Номер порта и секретное слово служат для возможности подключения Wave дополнения.

    image

    Теперь идём в Server -> Server Settings -> Security Settings. Для «Server Connection Security» выбираем «Custom» и включаем «Server Dialback». Так же проверьте, что флажок «Accept self-signed certificates» установлен.

    image

    Защита


    Следующие изменения не являются обязательными, но если вам нужна хорошая защита, то это будет хорошей практикой.
    Идём в 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
    Группа «Google Wave Россия»

    Similar posts

    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 32

      0
      Скачать можно с SVN

      А адрес мона? Я видел только Mercurial
        0
        прошу прощения… По старинке как привык сказал…
          +1
          Исправил… Да там только Mercurial
          +1
          UPD У кого нет Mercurial скачал и залил на Яндекс.Диск исходники сервера narod.ru/disk/11527961000/wave-protocol_source.tgz.html
            +1
            Спасибо
              +2
              а в этом сервере есть то веб приложение которое было у них на презентаци?
              и вобще какая роль этого сервера?
                0
                Нет. Веб клиента нет. Только консольный клиент и всё.
                Этот сервер показывает как устроена архитектура и как всё работает. Вы можете уже сейчас начинать писать свои клиенты практически на любом языке и на любой системе.
                  0
                  я так понимаю веб клиента они не отдадут
                    0
                    В том то и дело — никто не знает. Вот я сейчас тоже сижу и думаю — начинать писать или нет…
                    Хотя я думаю им надо будет отдать веб клиент, что бы пошло в массы, ну или они очень сильно расширят Embed API
                +1
                Пионеры волносоздания :-)
                  +1
                  Юные волноводы.
                  0
                  да, хер-совместимый сервер — это звучит! :))))
                    +1
                    Самое большее, что понравилось это как раз как будет всё это работать!

                    например:
                    Есть три пользователя darwin@habrahabr.ru, google@wavesandbox.com, ya@yandexwave.ru

                    1. darwin@habrahabr.ru — привет народ
                    google@wavesandbox.com — здарово
                    ya@yandexwave.ru — угу

                    Данные будут передаваться по всем серверам

                    2. В этой же волне два пользователя пишут друг другу приватно:
                    google@wavesandbox.com — слушай, а давай darwin@habrahabr.ru проиндексируем по полной?
                    ya@yandexwave.ru — ну давай!

                    И в этом случае передача происходит только у них на серверах, т.е. на wavesandbox.com и yandexwave.ru, а на сервер habrahabr.ru не будет передаваться…

                    То есть в одной и той же волне могу с разных серверов общаться, а данные будут только туда идти, кому предназначенно!
                    Не знаю, как вы думаете, а я думаю это круто!

                    Привет параноикам ;)

                      0
                      А в чём суть? По обычному джабберу тоже я тебе могу сообщение послать, и оно пройдёт только через мой и твой сервер. В чём новизна-то?
                        0
                        присоединяюсь, тоже не совсем понял что за шум вокруг
                          0
                          Шум вокруг Волны-то понятен. Гугл как бы переизобрёл почту, джаббер и прочие средства групповой работы.
                            0
                            Это понятно, т.к. как это и есть джаббер, но новизна в том, как они это используют. GMail тоже вроде бы обычная почта, но люди к ней больше стремятся ИМХО
                              0
                              может пока не увижу конечно не пойму, но из комментария описана работа обычного джаббера (разве нет?) и непонимаю что тут может быть крутого
                                0
                                У вас есть инвайт? Вы заходили туда? Если бы заходили, но думаю вы бы поняли.
                                Сейчас занимаюсь переводом на русский архитектуры Google Wave Federation
                                Как только закончу — выложу. Надеюсь там будет более подробно описанно, почему там круто.

                                P.S. А может я просто мегафанат, который ослеплён Google'ом =)
                                0
                                Что мешает увидеть?
                                www.youtube.com/watch?v=v_UyVmITiYQ
                                jabber — это обычный im-сервис, а wave — нечто, предоставляющее очень мощные возможности на его базе.
                                Такие мощные, что и почта, и шарепойнт какой-нибуть по сравнению с wave — как ассемблер по сравнению с языками сверхвысокого уровня.
                                0
                                Обычнее всех, ага :D
                            +1
                              0
                              а если я залогинюсь с другого компьютера я получу все старые волны?
                              виджеты и роботы входят в описание протокола?
                              +8
                                +1
                                Интересно, получится ли натянуть на ejabberd.
                                  0
                                  Конечно получится, тот самый XEP он поддерживает.
                                    0
                                    Эх, стандарты-стандарты… Завел! А вот в дискавери не видно — так и должно быть? Их клиент работает нормально.
                                      0
                                      Опишите отдельным топиком?
                                        0
                                        Зачем? Все что нужно есть наверху, только процедура модификации сервера слегкая иная — конфиг надо править.
                                  0
                                  Кто-нибудь может толком объяснить, что получится в результате установки этой хреновины?
                                  А то совсем не очевидно. Это ж точно не веб-интерфейс Google Wave (как может показаться сначала). На официальном сайте тоже как-то туманно.
                                    +1
                                    Имплементация Wave-сервера. Протокол же открыт. И там клиент в комплекте есть консольный. Ну, Волна как волна, работает, волны создавать можно, приглашать, писать. Но ни аутентификации, ни нормальных клиентов — прототип же!

                                  Only users with full accounts can post comments. Log in, please.