Запустите 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,

Другие вопросы по тегам