EC2实例中ejabberd运行正常但ejabberdctl命令找不到求助
解决ejabberdctl命令找不到的问题
先确认ejabberdctl的安装路径
ejabberd通过.run包安装的默认路径一般是/opt/ejabberd/bin/,先检查这个路径下有没有该文件:ls /opt/ejabberd/bin/如果能看到
ejabberdctl,说明文件存在,只是sudo的环境变量没包含这个路径。用绝对路径执行命令
直接用完整路径运行注册命令,替换成你实际找到的路径即可:sudo /opt/ejabberd/bin/ejabberdctl register admin bkstg adm1nbkstg@#2023把ejabberd的bin目录加到sudo的PATH里(一劳永逸)
要是不想每次都输长路径,就修改sudo的环境变量配置:- 用visudo编辑
/etc/sudoers文件(必须用这个命令,防止语法错误导致sudo失效):sudo visudo - 找到
Defaults secure_path这一行,在末尾追加: /opt/ejabberd/bin,比如改成:Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/opt/ejabberd/bin - 保存退出后,就能直接用
sudo ejabberdctl命令了。
- 用visudo编辑
找不到默认路径就全局查找
如果/opt/ejabberd/bin/里没有文件,用find命令搜整个系统:sudo find / -name ejabberdctl找到路径后,重复上面的绝对路径或添加PATH的操作就行。
内容的提问来源于stack exchange,提问作者Vikram
相关产品推荐
相关产品推荐

