Por que o Ejabberd Start Fail?

9

Estou tentando instalar ejabberd 2.1.10-2 no meu Ubuntu 12.04.1 server. Esta é uma nova instalação, e o ejabberd nunca é instalado com sucesso.

A instalação

Toda vez, o apt-get trava com isso:

Setting up ejabberd (2.1.10-2ubuntu1) ...
Generating SSL certificate /etc/ejabberd/ejabberd.pem...

Creating config file /etc/ejabberd/ejabberd.cfg with new version
Starting jabber server: ejabberd............................................................ failed.

Os pontos vão para sempre até expirar ou eu mando todos os processos beam , beam.smp , epmd e ejabberd . Eu desativei todas as restrições de firewall.

Aqui está a saída de epmd -names enquanto a instalação está suspensa:

epmd: up and running on port 4369 with data:
name ejabberdctl at port 42108
name ejabberd at port 39621

E depois de falhar:

epmd: up and running on port 4369 with data:
name ejabberd at port 39621

Ao mesmo tempo (durante e depois), a saída de netstat -atnp | grep 5222 e netstat -atnp | grep 5280 está vazia.

O arquivo de falhas

Um arquivo de despejo de memória é criado em /var/log/ejabber/erl_crash.dump . O slogan (ou seja, razão para o acidente) é:

Slogan: Kernel pid terminated (application_controller) ({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}})

Está vivo?

Sempre que eu tento relançar o ejabberd com service ejabberd start , a mesma coisa acontece - mesmo que eu tenha matado todos os processos antes de fazer isso.

No entanto, quando eu killall os processos listados acima, e executar su - ejabberd -c /usr/sbin/ejabberd , esta é a saída que recebo:

Erlang R14B04 (erts-5.8.5) [source] [64-bit] [rq:1] [async-threads:0] [kernel-poll:false]

Eshell V5.8.5  (abort with ^G)
(ejabberd@ns1)1> 
=INFO REPORT==== 15-Oct-2012::12:26:13 ===
I(<0.478.0>:ejabberd_listener:166) : Reusing listening port for 5222

=INFO REPORT==== 15-Oct-2012::12:26:13 ===
I(<0.479.0>:ejabberd_listener:166) : Reusing listening port for 5269

=INFO REPORT==== 15-Oct-2012::12:26:13 ===
I(<0.480.0>:ejabberd_listener:166) : Reusing listening port for 5280

=INFO REPORT==== 15-Oct-2012::12:26:13 ===
I(<0.40.0>:ejabberd_app:72) : ejabberd 2.1.10 is started in the node ejabberd@ns1

Em seguida, o servidor parece estar em execução. Eu recebo um prompt de login quando acesso http://mydomain.com:5280/admin/ . É claro que não consigo entrar a menos que eu crie uma conta.

Neste momento, a saída de netstat -atnp | grep 5222 e netstat -atnp | grep 5280 é a seguinte:

tcp        0      0 0.0.0.0:5222            0.0.0.0:*               LISTEN      19347/beam      
tcp        0      0 0.0.0.0:5280            0.0.0.0:*               LISTEN      19347/beam      

ejabberdctl

Mesmo quando parece que o ejabberd está em execução, tentar fazer alguma coisa com o ejabberdctl falha. Por exemplo: tentando registrar um usuário:

root@ns1:~# ejabberdctl register myusername mydomain.com mypassword
Failed RPC connection to the node ejabberd@ns1: nodedown

Eu não tenho ideia do que estou fazendo errado. Isso acontece em dois servidores diferentes que tenho com software idêntico instalado (não muito de nada). Por favor ajude. Obrigado.

    
por Andrew Ensley 15.10.2012 / 19:42

1 resposta

7

Eu tive esse problema uma vez quando o daemon não pôde determinar o endereço IP do nome do host que eu forneci no arquivo de configuração do ejabber. Minha solução foi editar o arquivo / etc / hosts e ter certeza de que havia uma entrada de nome de host para o meu endereço IP público e o domínio que eu queria que o ejabber respondesse.

0.0.0.0 hostname.domain.com hostname
1.1.1.1 ns1.yahoo.com ns1

Bem, você entendeu a foto. Espero que ajude.

    
por Frank Barcenas 24.10.2012 / 05:45