ejabberd 2.1.10-2
サーバーにUbuntu 12.04.1
をインストールしようとしています。これは新規インストールであり、ejabberdが正常にインストールされることはありません。
毎回、apt-getはこれに固執します。
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.
ドットは、タイムアウトになるか、beam
、beam.smp
、epmd
、およびejabberd
の各プロセスを「killall」するまで、永遠に続きます。すべてのファイアウォール制限をオフにしました。
インストールがハングしている間の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,[]]}}})
service ejabberd start
でejabberdを再起動しようとするたびに、同じことが起こります-実行する前にすべてのプロセスを強制終了した場合でも。
ただし、上記のプロセスをすべて強制終了し、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
Ejabberdが実行されているように見える場合でも、ejabberdctlで何をしようとしても失敗します。例:ユーザーを登録しよう:
root@ns1:~# ejabberdctl register myusername mydomain.com mypassword
Failed RPC connection to the node ejabberd@ns1: nodedown
何が間違っているのかわかりません。これは、同じソフトウェアがインストールされている2つの異なるサーバーで発生します(実際にはほとんど何もありません)。助けてください。ありがとう。
この問題は、デーモンがejabber構成ファイルで指定したホスト名のIPアドレスを判別できなかったときに一度発生しました。私の解決策は、/ etc/hostsファイルを編集して、パブリックIPアドレスとejabberが応答するドメインのホスト名エントリがあることを確認することでした。
0.0.0.0 hostname.domain.com hostname
1.1.1.1 ns1.yahoo.com ns1
さて、あなたは写真を取得します。お役に立てば幸いです。