Запустите Ejabberd как сервис
Я пытаюсь установить ejabbered на мой сервер CentOs и запустить его как службу. Я могу установить его нормально, но не могу запустить его в качестве службы.
ошибка
* service[ejabberd] action enable
* service[ejabberd]: No custom command for enable specified and unable to locate the init.d script!
================================================================================
Error executing action `enable` on resource 'service[ejabberd]'
================================================================================
Chef::Exceptions::Service
-------------------------
service[ejabberd]: No custom command for enable specified and unable to locate the init.d script!
Resource Declaration:
---------------------
# In /root/chef-solo/cookbooks-3/exelon/recipes/jabber.rb
24: service "ejabberd" do
25: action :enable
26: end
27:
Compiled Resource:
------------------
# Declared in /root/chef-solo/cookbooks-3/exelon/recipes/jabber.rb:24:in `from_file'
service("ejabberd") do
action [:enable]
supports {:restart=>nil, :reload=>nil, :status=>nil}
retries 0
retry_delay 2
default_guard_interpreter :default
service_name "ejabberd"
pattern "ejabberd"
declared_type :service
cookbook_name :exelon
recipe_name "jabber"
end
Recipe: sysctl::default
рецепт джаббера
remote_file '/tmp/ejabberd-16.02-0.x86_64.rpm' do
source 'https://www.process-one.net/downloads/downloads-action.php?file=/ejabberd/16.02/ejabberd-16.02-0.x86_64.rpm'
owner 'deploy'
group 'deploy'
mode '0755'
action :create
end
rpm_package 'ejabberd' do
action :install
source '/tmp/ejabberd-16.02-0.x86_64.rpm'
end
service "ejabberd" do
action :enable
end
Я также пытался использовать команду ejabberdctl. Но это говорит No such file or directory - ejabberdctl
execute 'start ejabberd' do
command 'ejabberdctl start'
end
1 ответ
Решение
Как говорится в сообщении об ошибке, RPM, который вы устанавливаете, не включает конфигурационный файл / скрипт. Если вы распакуете RPM, вы увидите, что это всего лишь двоичные файлы сервера. Вы могли бы использовать poise_service
чтобы сгенерировать сервисный конфиг или найти его в вики, я бы вообразил. Также повторно: вторая ошибка, это установка в /opt/ejabberd
, который не на вашем $PATH
,