Próbuję zainstalować ejabberd 2.1.10-2
na moim Ubuntu 12.04.1
serwerze. 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 ejabberd
procesy. Wyłączyłem wszystkie ograniczenia zapory.
Oto dane wyjściowe, epmd -names
gdy 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 5222
i netstat -atnp | grep 5280
są 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 5222
i netstat -atnp | grep 5280
są 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.
źródło
Odpowiedzi:
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.
Cóż, rozumiesz, o co chodzi. Mam nadzieję, że to pomaga.
źródło