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.總結