Dlaczego uruchomienie Ejabberd kończy się niepowodzeniem?


9

Próbuję zainstalować ejabberd 2.1.10-2na moim Ubuntu 12.04.1serwerze. To jest nowa instalacja, a ejabberd nigdy nie został pomyślnie zainstalowany.

Instalacja

Za każdym razem apt-get zawiesza się na tym:

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.

Kropki po prostu pójść na zawsze, dopóki to razy się lub I „killall” beam, beam.smp, epmd, i ejabberdprocesy. Wyłączyłem wszystkie ograniczenia zapory.

Oto dane wyjściowe, epmd -namesgdy instalacja jest zawieszona:

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

A po awarii:

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

W tym samym czasie (podczas i po) dane wyjściowe zarówno netstat -atnp | grep 5222i netstat -atnp | grep 5280są puste.


Plik awarii

Plik zrzutu awaryjnego jest tworzony w /var/log/ejabber/erl_crash.dump. Hasło (tj. Przyczyna awarii) to:

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

To żyje?

Ilekroć próbuję ponownie uruchomić ejabberd service ejabberd start, dzieje się to samo - nawet jeśli wcześniej zabiłem wszystkie procesy.

Jednak gdy ponownie zabiję wszystkie procesy wymienione powyżej i uruchomię su - ejabberd -c /usr/sbin/ejabberd, oto wynik, który otrzymuję:

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

Następnie wydaje się, że serwer działa. Po uzyskaniu dostępu pojawia się monit o zalogowanie się http://mydomain.com:5280/admin/. Oczywiście nie mogę się zalogować, chyba że utworzę konto.

Obecnie dane wyjściowe netstat -atnp | grep 5222i netstat -atnp | grep 5280są następujące:

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

Nawet gdy wydaje się, że ejabberd działa, próba zrobienia czegokolwiek z ejabberdctl kończy się niepowodzeniem. Na przykład: próba zarejestrowania użytkownika:

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

Nie mam pojęcia, co robię źle. Dzieje się tak na dwóch różnych serwerach, na których mam identyczne oprogramowanie (naprawdę niewiele). Proszę pomóż. Dzięki.


Tylko zgadnij, czy próbowałeś kupić binarny / pakiet ze strony internetowej dewelopera lub budować ze źródła? Czy przetestowałeś także instalację na maszynie wirtualnej (lub rzeczywistej instalacji) w wersji 12.10?
fouric 24.10.12

Odpowiedzi:


7

Miałem ten problem, gdy demon nie mógł ustalić adresu IP nazwy hosta podanej w pliku konfiguracyjnym ejabber. Moim rozwiązaniem było edytowanie pliku / etc / hosts i upewnienie się, że istnieje wpis nazwy hosta dla mojego publicznego adresu IP i domeny, na którą chciałbym odpowiedzieć ejabber.

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

Cóż, rozumiesz, o co chodzi. Mam nadzieję, że to pomaga.


Sprawdziłem i mam już wpis w pliku / etc / hosts z moją nazwą domeny i publicznym adresem IP. Myślę jednak, że podążasz właściwą drogą. Właśnie zauważyłem komunikat o błędzie „Nieudane połączenie RPC z węzłem ejabberd @ ns1”. ns1 to nazwa komputera, ale nie jest to nazwa domeny. Czy to powinno pokazywać tam nazwę domeny?
Andrew Ensley

1
tak na pewno .. Powinieneś przynajmniej dodać ns1 do pliku hosts. jak 0.0.0.0 <FQDN> <nazwa hosta>
Frank Barcenas

Święty ... nawet nie ... Dodanie ns1 do mojego pliku / etc / hosts działało. O jeny.
Andrew Ensley

1
Cieszę się, że się tym zająłeś. Powodzenia i niech siła będzie z tobą. :-)
Frank Barcenas
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.