天天看点

centos 安装 ejabberd 报“Error: Error running Post Install Script.”问题排查

centos 安装 ejabberd 报“Error: Error running Post Install Script.”问题排查

在公司服务器上部署ejabberd 服务器发现如下报错:

Installing

0% ______________ 50% ______________ 100%

#######################################

Error: Error running Post Install Script.

The installation may have not completed correctly

排查步骤如下:

1.

cd /opt/ejabberd-2.1.10/logs

more  install.log     #查看ejabberd 安装日志,发现如下内容;

Executing final installation script

Error executing post installation script

2.

/opt/ejabberd-2.1.10/bin/postinstall.sh

\child process exited abnormally                  #执行上面的脚本 ,子进程异常退出;

3.

  more /opt/ejabberd-2.1.10/bin/postinstall.sh    #查看执行失败的脚本;

#!/bin/sh
echo
 echo "       -=- ejabberd post installation script -=- "
 echo "              (c) 2005-2010 ProcessOne "
 echo 
 echo "* Checking ejabberd installation"
 echo 
 echo "* Starting ejabberd instance"
 cd /opt/ejabberd-2.1.10/bin
 ./ejabberdctl start
 ./ejabberdctl started
 [ $? -eq 0 ] && {
   echo
   echo "* Creating administrator user"
   ./ejabberdctl register "$1" "$2" "$3"
   echo
   echo "* Stopping ejabberd instance"
   ./ejabberdctl stop
   ./ejabberdctl stopped
   echo "==> Setup finished"
 } || {
   echo "* Error, ejabberd can not start"
   exit 1
 }      

#通脱脚本的内容可以看出,这个脚本只是在程序安装完成后,启动,关闭了一次 ejabberd,这个脚本执行失败,应该有两种原因,程序端口占用,程序调用某个文件被占用,先不想这么多,先去看一下系统日志;

4.

查看系统日志;

[root@Web02 opt]# tail -f /var/log/messages

Dec  6 18:52:48 web02 epmd: epmd: epmd running - daemon = 1

Dec  6 18:52:48 web02 epmd: epmd: node name already occupied ejabberd    #发现问题,系统日志报ejabberd  进程已存在;

5.

查看进程,发现真的有一个进程在,用KILL -9 杀掉;

[root@Web02 opt]# ps -ef |grep epmd

root      6658     1  0 Dec05 ?        00:00:00 /opt/ejabberd-2.1.10/bin/epmd -daemon

[root@Web02 opt]# kill -9 6658

6.总结

继续阅读