Bekomme neue PLUCS Installation nicht zum Laufen

german

#1

Guten Tag allerseits,

wenn ich auf einem UCS Memberserver 4.1-2, PLUCS aus dem APP Center installiere, kommt am Ende der Installation diese Meldung:

[quote]Ein Fehler ist aufgetreten: Die Registrierung der Applikation im LDAP ist fehlgeschlagen.
Sie wird bei jedem Öffnen des App Center Moduls wiederholt werden.[/quote]

Das App Center Modul habe ich mehrfach geöffnet, leider ohne sichtbare Wirkung.
Ich wollte nicht lange nach der Ursache forschen und habe dann zunächst den Domaincontroller (UCS Master) auf 4.1-3 aktualisiert und einen neuen Memberserver aufgesetzt. Nun läuft die Installation ohne Fehler durch. Allerdings funktioniert der Chatdienst immer noch nicht. Ein Chatclient (Swift) kann keine Verbindug zum Server herstellen.

Wenn der Live Parameter des Daemon genutzt wird kommt diese Meldung:

root@srvmucrdbb01:~# /etc/init.d/ejabberd.dpkg-new live
*******************************************************
* To quit, press Ctrl-g then enter q and press Return *
*******************************************************

Erlang R15B01 (erts-5.9.1) [source] [64-bit] [async-threads:0] [kernel-poll:false]

Eshell V5.9.1  (abort with ^G)
(ejabberd@srvmucrdbb01)1>
=INFO REPORT==== 7-Oct-2016::11:53:55 ===
    application: ejabberd
    exited: {"There is a problem in the configuration: the specified file is not readable: /var/run/ejabberd/certs/ejabberd.pem",
             {ejabberd_app,start,[normal,[]]}}
    type: temporary

Das Zertifikat ejabberd.pem ist dort wirklich nicht zu finden. Wenn ich danach suche wird es gefunden in: /etc/ejabberd/ejabberd.pem
Also habe ich das Zertifikat in den Ordner /var/run/ejabberd/certs/ kopiert, wo es erwartet wird und den Dienst neugestartet, dann schaut es noch schlechter aus :frowning:

root@srvmucrdbb01:/var/run/ejabberd/certs# /etc/init.d/ejabberd.dpkg-new live
*******************************************************
* To quit, press Ctrl-g then enter q and press Return *
*******************************************************

{error_logger,{{2016,10,7},{12,29,56}},"Protocol: ~p: register error: ~p~n",["inet_tcp",{{badmatch,{error,duplicate_name}},[{inet_tcp_dist,listen,1,[{file,"inet_tcp_dist.erl"},{line,70}]},{net_kernel,start_protos,4,[{file,"net_kernel.erl"},{line,1314}]},{net_kernel,start_protos,3,[{file,"net_kernel.erl"},{line,1307}]},{net_kernel,init_node,2,[{file,"net_kernel.erl"},{line,1197}]},{net_kernel,init,1,[{file,"net_kernel.erl"},{line,357}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,304}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]}]}
{error_logger,{{2016,10,7},{12,29,56}},crash_report,[[{initial_call,{net_kernel,init,['Argument__1']}},{pid,<0.20.0>},{registered_name,[]},{error_info,{exit,{error,badarg},[{gen_server,init_it,6,[{file,"gen_server.erl"},{line,320}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]}},{ancestors,[net_sup,kernel_sup,<0.9.0>]},{messages,[]},{links,[#Port<0.101>,<0.17.0>]},{dictionary,[{longnames,false}]},{trap_exit,true},{status,running},{heap_size,987},{stack_size,24},{reductions,504}],[]]}
{error_logger,{{2016,10,7},{12,29,56}},supervisor_report,[{supervisor,{local,net_sup}},{errorContext,start_error},{reason,{'EXIT',nodistribution}},{offender,[{pid,undefined},{name,net_kernel},{mfargs,{net_kernel,start_link,[[ejabberd,shortnames]]}},{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]}
{error_logger,{{2016,10,7},{12,29,56}},supervisor_report,[{supervisor,{local,kernel_sup}},{errorContext,start_error},{reason,shutdown},{offender,[{pid,undefined},{name,net_sup},{mfargs,{erl_distribution,start_link,[]}},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]}]}
{error_logger,{{2016,10,7},{12,29,56}},std_info,[{application,kernel},{exited,{shutdown,{kernel,start,[normal,[]]}}},{type,permanent}]}
{"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}}"}

Crash dump was written to: /var/log/ejabberd/erl_crash.dump
Kernel pid terminated (application_controller) ({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}})

Hat jemand eine Idee?
Dirk Mauz


#2

Hallo,

im plucs Initskript gibt es eine Routine mkcertdir, die sollte die passenden Zertifikate an die richtige Stelle packen. Die Initskripte vom ejabberd werden bewusst nicht verwendet.

Viele Grüße,
Dirk Ahrnke


#3

Hallo Namensvetter :slight_smile:

freut mich, eine Antwort bekommen zu haben! Die Funktion mkcertdir() habe ich gefunden und angesehen und dabei festgestellt, dass die Funktion gar nicht ausgeführt wird. Die Meldung “Not configured to run automatically” beim Start des Initskripts, habe ich wohl nicht richtig wahrgenommen, weil am Ende der Installation da stand, dass es erfolgreich war und man den Dienst sofort nutzen kann.

Wenn in der Datei /etc/default/plucs der Wert RUN_EJABBERD=true steht, startet der Daemon auch und platziert die Zertifikate :slight_smile:
Allerdings steht in dem Kommentar dabei, dass der Wert immer auf TRUE steht, außer wenn keine Domäne konfiguriert ist. Warum die Domäne nicht richtig erkannt wurde… keine Ahnung.

Danke,
Dirk Mauz


#4

Hallo,

die XMPP-Domäne muß dem Host, auf dem Plucs installiert ist, zugewiesen werden.
Chapter 3. Service configuration.
Das sollte dann die UCRV “xmpp/domains” setzen was wiederum /etc/default/plucs beeinflusst.
github.com/it25gmbh/plucs/blob/ … ault/plucs

Viele Grüße,
Dirk Ahrnke