ईज़बर्ड क्यों शुरू होता है असफल?


9

मैं ejabberd 2.1.10-2अपने Ubuntu 12.04.1सर्वर पर स्थापित करने का प्रयास कर रहा हूं । यह एक ताजा स्थापित है, और ejabberd सफलतापूर्वक स्थापित नहीं है।

स्थापित करें

हर बार, इस पर लटका मिलता है:

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.

डॉट्स सिर्फ बाहर बार यह जब तक हमेशा के लिए जा सकते हैं या मैं 'को killall' beam, beam.smp, epmd, और ejabberdप्रक्रियाओं। मैं सभी फ़ायरवॉल प्रतिबंधों बंद कर दिया है।

यहां epmd -namesइंस्टॉल किए जाने के समय का आउटपुट लटका दिया गया है:

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

और यह विफल होने के बाद:

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

एक ही समय (के दौरान और उसके बाद) में, दोनों के उत्पादन netstat -atnp | grep 5222और netstat -atnp | grep 5280खाली है।


क्रैश फ़ाइल

क्रैश डंप फ़ाइल को बनाया जाता है /var/log/ejabber/erl_crash.dump। नारा (दुर्घटना का कारण है):

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

यह जिंदा है?

जब भी मैं ejabberd को पुन: लॉन्च करने का प्रयास करता हूं service ejabberd start, वही बात होती है - भले ही मैंने ऐसा करने से पहले सभी प्रक्रियाओं को मार दिया हो।

हालाँकि, जब मैं ऊपर सूचीबद्ध प्रक्रियाओं को फिर से मारता हूं, और चलाता su - ejabberd -c /usr/sbin/ejabberdहूं, तो यह वही आउटपुट है जो मुझे मिलता है:

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

उसके बाद, सर्वर चल रहा है। जब मैं पहुंचता हूं तो मुझे एक लॉगिन प्रॉम्प्ट मिलता है http://mydomain.com:5280/admin/। जब तक मैं खाता नहीं बनाऊंगा, निश्चित रूप से मैं लॉगिन नहीं कर सकता।

इस समय, के उत्पादन में netstat -atnp | grep 5222और netstat -atnp | grep 5280के रूप में इस प्रकार है:

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

यहां तक ​​कि जब यह प्रतीत होता है कि ईज़बर्ड चल रहा है, तो इज़बर्डीक्टल के साथ कुछ भी करने की कोशिश विफल हो जाती है। उदाहरण के लिए: उपयोगकर्ता को पंजीकृत करने की कोशिश:

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

मुझे नहीं पता कि मैं क्या गलत कर रहा हूं। यह दो अलग-अलग सर्वरों पर होता है जो मेरे पास समान सॉफ़्टवेयर स्थापित हैं (वास्तव में कुछ भी नहीं है)। कृपया मदद कीजिए। धन्यवाद।


बस एक अनुमान है, क्या आपने डेवलपर वेब साइट से एक बाइनरी / पैकेज प्राप्त करने की कोशिश की है या स्रोत से निर्माण कर रहे हैं? इसके अलावा, आप यह 12.10 के वी एम (या वास्तविक स्थापित) में स्थापित करने का परीक्षण किया है?
चौदह

जवाबों:


7

मुझे यह समस्या एक बार हुई थी जब डेमॉन होस्टबारनाम के आईपी पते को निर्धारित नहीं कर सका था जो मैंने ईज़बेर कॉन्फ़िगरेशन फ़ाइल में दिया था। मेरा समाधान फ़ाइल को संपादित / आदि / होस्ट करना था और यह सुनिश्चित करना था कि मेरे सार्वजनिक आईपी पते के लिए एक होस्टनाम प्रविष्टि थी और जिस डोमेन को मैं चाहता था कि उसे जवाब देना चाहिए।

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

ठीक है, तुम तस्वीर लो। उम्मीद है की वो मदद करदे।


मैंने जाँच की, और मेरे पास पहले से ही मेरे डोमेन नाम और सार्वजनिक आईपी के साथ मेरे / etc / मेजबान फ़ाइल में एक प्रविष्टि है। हालाँकि, मुझे लगता है कि आप इसके साथ सही रास्ते पर हैं। मैंने अभी देखा कि त्रुटि संदेश "नोड ejabberd @ ns1 के लिए RPC कनेक्शन को विफल" कहता है। ns1 मशीन का नाम है लेकिन यह डोमेन नाम नहीं है। क्या वहां डोमेन नाम दिखाना चाहिए?
एंड्रयू एनस्ले

1
हाँ, यकीन के लिए .. आपको कम से कम ns1 को होस्ट फ़ाइल में जोड़ना चाहिए। जैसे 0.0.0.0 <FQDN> <hostname>
फ्रैंक Barcenas

पवित्र ... मैं भी नहीं ... मेरे / etc / मेजबान फ़ाइल में ns1 जोड़ना काम किया। सुखद दुख।
एंड्रयू एन्सले

1
आपको सुनकर खुशी हुई कि इस पर ध्यान गया। सौभाग्य और बल आपके साथ हो सकता है। :-)
फ्रैंक बारकेनस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.