Mengapa Ejabberd Mulai Gagal?


9

Saya mencoba menginstal ejabberd 2.1.10-2di Ubuntu 12.04.1server saya . Ini adalah instalasi baru, dan ejabberd tidak pernah berhasil diinstal.

Instal

Setiap saat, apt-get hang ini:

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.

Titik-titik hanya pergi selamanya sampai kali keluar atau saya 'killall' beam, beam.smp, epmd, dan ejabberdproses. Saya telah mematikan semua batasan firewall.

Inilah output epmd -namessaat instalasi digantung:

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

Dan setelah itu gagal:

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

Pada saat yang sama (selama dan setelah), output keduanya netstat -atnp | grep 5222dan netstat -atnp | grep 5280kosong.


File Kecelakaan

File crash dump dibuat di /var/log/ejabber/erl_crash.dump. Slogan (yaitu alasan kecelakaan) adalah:

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

Ini hidup?

Setiap kali saya mencoba untuk meluncurkan kembali ejabberd service ejabberd start, hal yang sama terjadi - bahkan jika saya telah membunuh semua proses sebelum melakukannya.

Namun, ketika saya mematikan semua proses yang tercantum di atas lagi, dan menjalankan su - ejabberd -c /usr/sbin/ejabberd, ini adalah output yang saya dapatkan:

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

Kemudian, server tampaknya berjalan. Saya mendapatkan prompt login ketika saya mengakses http://mydomain.com:5280/admin/. Tentu saja saya tidak bisa masuk kecuali saya membuat akun.

Pada saat ini, output dari netstat -atnp | grep 5222dan netstat -atnp | grep 5280adalah sebagai berikut:

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

Bahkan ketika tampaknya ejabberd sedang berjalan, mencoba melakukan apa saja dengan ejabberdctl gagal. Misalnya: mencoba mendaftarkan pengguna:

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

Saya tidak tahu apa yang saya lakukan salah. Ini terjadi pada dua server berbeda yang saya miliki dengan perangkat lunak yang sama diinstal (benar-benar tidak banyak apa pun). Tolong bantu. Terima kasih.


Hanya tebakan, sudahkah Anda mencoba mendapatkan biner / paket dari situs web pengembang atau membangun dari sumber? Juga, sudahkah Anda diuji menginstalnya dalam VM (atau instalasi aktual) dari 12.10?
Fouric

Jawaban:


7

Saya pernah mengalami masalah ini ketika daemon tidak dapat menentukan alamat ip dari nama host yang saya berikan di file konfigurasi ejabber. Solusi saya adalah mengedit file / etc / hosts dan memastikan bahwa ada entri nama host untuk alamat ip publik saya dan domain yang saya inginkan untuk ditanggapi ejabber.

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

Nah, Anda mendapatkan fotonya. Semoga itu bisa membantu.


Saya memeriksa, dan saya sudah memiliki entri di file / etc / hosts saya dengan nama domain dan IP publik. Namun, saya pikir Anda berada di jalur yang benar dengan ini. Saya baru saja melihat pesan kesalahan mengatakan "Gagal koneksi RPC ke node ejabberd @ ns1". NS1 adalah nama mesin tetapi bukan nama domain. Haruskah itu menunjukkan nama domain di sana?
Andrew Ensley

1
ya pasti .. Anda setidaknya harus menambahkan ns1 ke file hosts juga. seperti 0.0.0.0 <FQDN> <hostname>
Frank Barcenas

Kudus ... Saya bahkan tidak ... Menambahkan ns1 ke file / etc / hosts saya berhasil. Menyedihkan.
Andrew Ensley

1
Senang mendengar Anda mendapatkannya diurus. Semoga beruntung dan semoga kekuatan bersamamu. :-)
Frank Barcenas
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.