Как запустить сервер Apache Vysper XMPP
У меня проблема с запуском vysper.
- Скачать / извлечь файлы можно здесь (Apache Vysper 0.7 Release)
- Изменен spring-config.xml для добавления дополнительных пользователей / паролей
Только что обновил этот раздел:
<bean id="addUsers" class="org.apache.vysper.spring.AddUserHelper">
<constructor-arg index="0">
<map>
<entry key="admin@test" value="Password" />
<entry key="darewreck@test" value="Password" />
<!--<entry key="user2@vysper.org" value="CHOOSE A SECURE PASSWORD" />-->
<!--<entry key="user3@vysper.org" value="CHOOSE A SECURE PASSWORD" />-->
</map>
</constructor-arg>
<property name="storageProviderRegistry" ref="storageRegistry" />
</bean>
Я полагаю, что "тест" является зарегистрированным доменом для сервера, когда он работает?
Или есть место, куда вы указываете домен сервера?
- выполнено /bin/run.bat
16: 16: 22,415 | ИНФО | org.springframework.context.support.ClassPathXmlApplicationContext | Обновление org.springframework.context.support.ClassPathXmlApplicationContext@625e068: дата запуска [понедельник, 16 сентября 16:16:22 PDT 2013]; корень контекстной иерархии 16:16:22,457 | ИНФО | org.springframework.beans.factory.xml.XmlBeanDefinitionReader | Загрузка определений XML-бина из ресурса пути к классу [spring-config.xml] 16:16:22,514 | ИНФО | org.springframework.beans.factory.support.DefaultListableBeanFactory | Предварительные экземпляры синглетонов в org.springframework.beans.factory.support.DefaultListableBeanFactory@19f9e 414: определение bean-компонентов [inmemoryStorageRegistry,jcrStorageRegistry,addUsers,tcpEndpoint,server]; корень фабричной иерархии 16:16:22,762 | ИНФО | org.apache.vysper.xmpp.server.DefaultServerRuntimeContext | замена реестра поставщика хранилища на org.apache.vysper.storage.inmemory.MemoryStorageProviderRegistry 16:16:22,821 | ИНФО | org.apache.vysper.xmpp.server.DefaultServerRuntimeContext | добавление модуля... servicediscovery (1.0beta) 16:16:22,825 | ИНФО | org.apache.vysper.xmpp.server.DefaultServerRuntimeContext | добавление модуля... список (1.0бета) 16:16:22,877 | ИНФО | org.apache.vysper.xmpp.server.DefaultServerRuntimeContext | добавление модуля... Версия программного обеспечения XEP-0092 (1.0) 16:16:22,881 | ИНФО | org.apache.vysper.xmpp.server.DefaultServerRuntimeContext | добавление модуля... XEP-0202 Entity Time (1.0) 16:16:22,883 | ИНФО | org.apache.vysper.xmpp.server.DefaultServerRuntimeContext | добавление модуля... XEP-0054 Vcard-temp (1.0) 16:16:22,883 | ОШИБКА | org.apache.vysper.xmpp.modules.extension.xep0054_vcardtemp.VcardTempModule | VcardTempPersistenceManager не найдено 16: 16: 22,883 | ИНФО | org.apache.vysper.xmpp.server.DefaultServerRuntimeContext | добавление модуля... XEP-0199 XMPP Ping (2.0) 16:16:22,883 | ИНФО | org.apache.vysper.xmpp.server.DefaultServerRuntimeContext | добавление модуля... XEP-0049 Личные данные (1.2) 16:16:22,884 | ОШИБКА | org.apache.vysper.xmpp.modules.extension.xep0049_privatedata.PrivateDataModule | PrivateDataPersistenceManager не найдено 16: 16: 22,884 | ИНФО | org.apache.vysper.xmpp.server.DefaultServerRuntimeContext | добавление модуля... Специальные команды XEP-0050 (1.2) 16:16:22,885 | ИНФО | org.apache.vysper.xmpp.server.DefaultServerRuntimeContext | добавление модуля... Администрирование сервиса XEP-0133 (1.1) 16:16:22,885 | ИНФО | org.apache.vysper.xmpp.server.DefaultServerRuntimeContext | добавление модуля... XEP-0045 Многопользовательский чат (1.24) 16:16:22,891 | ВНИМАНИЕ | org.apache.vysper.xmpp.modules.extension.xep0045_muc.MUCModule | Не найден поставщик систем хранения данных по умолчанию (в памяти) 16: 16: 22,891 | ВНИМАНИЕ | org.apache.vysper.xmpp.modules.extension.xep0045_muc.MUCModule | Поставщик хранилища не найден, используется по умолчанию (в памяти)
- Открыт клиент XMPP (Swift) (любой клиент XMPP должен работать)
Пользователь: darewreck@test Пароль: Пароль
Однако Swift Client получает ошибку шифрования. Я не совсем уверен, что я делаю неправильно.
Сервер распечатывает:
16:18:49,571 | DEBUG | org.apache.vysper.xmpp.protocol.SessionStateHolder | session state changed to = INITIATED
16:18:56,582 | DEBUG | org.apache.vysper.xml.decoder.XMPPContentHandler | Decoder writing stanza: <stream:stream xmlns:stream="http://etherx.jabber.org/streams" to="test" version="1.0"></stream:stream
>
16:18:56,584 | INFO | stanza.client | stream
16:18:56,585 | DEBUG | org.apache.vysper.xmpp.protocol.SessionStateHolder | session state changed to = STARTED
16:18:56,588 | INFO | stanza.server | stream.starttls[required]
16:18:56,590 | DEBUG | org.apache.vysper.xml.decoder.XMPPContentHandler | Decoder writing stanza: <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"></starttls>
16:18:56,591 | INFO | stanza.client | starttls
16:18:56,592 | DEBUG | org.apache.vysper.xmpp.protocol.SessionStateHolder | session state changed to = ENCRYPTION_STARTED
16:18:56,604 | DEBUG | org.apache.vysper.xmpp.protocol.SessionStateHolder | session state changed to = CLOSED
Есть что-то, что я не настраиваю правильно с аутентификацией / паролем, предоставленным в файле spring-config.xml?
1 ответ
<bean id="inmemoryStorageRegistry" class="org.apache.vysper.storage.inmemory.MemoryStorageProviderRegistry" />
<bean id="jcrStorageRegistry" class="org.apache.vysper.storage.jcr.JcrStorageProviderRegistry" />
<!-- choose one of the storage registries -->
<alias name="inmemoryStorageRegistry" alias="storageRegistry" />
<!-- default users; remove if you have persistently stored users
NOTE: if passwords are empty, random passwords are generated and printed on the console
So, your default install of Vysper is secure from the very beginning
-->
<bean id="addUsers" class="org.apache.vysper.spring.AddUserHelper">
<constructor-arg index="0">
<map>
<entry key="admin@vysper.org" value="CHOOSE A SECURE PASSWORD" />
<entry key="user1@localhost" value="user1" />
<entry key="user2@localhost" value="user2" />
<!--<entry key="user3@vysper.org" value="CHOOSE A SECURE PASSWORD" />-->
</map>
</constructor-arg>
<property name="storageProviderRegistry" ref="storageRegistry" />
</bean>
<bean id="tcpEndpoint" class="org.apache.vysper.mina.TCPEndpoint">
</bean>
<!-- for making the server available over HTTP transport, configure the BOSH endpoint
BOSH requires extension xep0124-xep0206-bosh to be on the classpath.
-->
<bean id="boshEndpoint" class="org.apache.vysper.xmpp.extension.xep0124.BoshEndpoint">
<property name="accessControlAllowOrigin">
<list><value>*</value></list>
</property>
<property name="port" value="8080" />
<property name="contextPath" value="/bosh" />
</bean>
<bean id="server" class="org.apache.vysper.spring.SpringCompatibleXMPPServer"
init-method="init" destroy-method="destroy">
<!-- TODO change domain name to your domain -->
<constructor-arg value="localhost"/>
<property name="endpoints">
<list>
<ref bean="tcpEndpoint"/>
<ref bean="boshEndpoint"/>
</list>
</property>
<property name="storageProviderRegistry" ref="storageRegistry" />
<property name="certificateFile" value="classpath:bogus_mina_tls.cert" />
<property name="certificatePassword" value="boguspw" />
<property name="modules" >
<list>
<bean class="org.apache.vysper.xmpp.modules.extension.xep0092_software_version.SoftwareVersionModule"/>
<bean class="org.apache.vysper.xmpp.modules.extension.xep0202_entity_time.EntityTimeModule" />
<bean class="org.apache.vysper.xmpp.modules.extension.xep0054_vcardtemp.VcardTempModule" />
<bean class="org.apache.vysper.xmpp.modules.extension.xep0119_xmppping.XmppPingModule" />
<bean class="org.apache.vysper.xmpp.modules.extension.xep0049_privatedata.PrivateDataModule" />
<bean class="org.apache.vysper.xmpp.modules.extension.xep0050_adhoc_commands.AdhocCommandsModule" />
<bean class="org.apache.vysper.xmpp.modules.extension.xep0133_service_administration.ServiceAdministrationModule" >
<property name="addAdmins">
<list><value>admin@vysper.org</value></list>
</property>
</bean>
<!-- below some more modules which are available as separately-built jars.
make sure they are on the classpath when enabling them or remove the beans below,
depending on the features your server should expose -->
<!--<bean class="org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.PublishSubscribeModule" />-->
<bean class="org.apache.vysper.xmpp.modules.extension.xep0045_muc.MUCModule" />
</list>
</property>
</bean>