Запустите программу с systemd

Я пытаюсь установить последнюю версию ProFTPd (1.3.5) на поле CentOS 7 и завершенную необходимость настроить и установить вручную. Причина состоит в том, что версия EPEL proftpd не включает mod_sftp (хотя это действительно включает mod_tls). Это - вывод proftpd -l когда версия EPEL установлена:

[root@blah /]# proftpd -l
Compiled-in modules:
  mod_core.c
  mod_xfer.c
  mod_rlimit.c
  mod_auth_unix.c
  mod_auth_file.c
  mod_auth.c
  mod_ls.c
  mod_log.c
  mod_site.c
  mod_delay.c
  mod_facts.c
  mod_dso.c
  mod_ident.c
  mod_readme.c
  mod_auth_pam.c
  mod_tls.c
  mod_memcache.c
  mod_cap.c
  mod_ctrls.c
  mod_lang.c

Используя метод этого парня, где я думаю, что он использовал CentOS 6, я настроил proftpd со следующим:

./configure --prefix=/usr --with-includes=/usr/local/ssl/include --with-libraries=/usr/local/ssl/lib --enable-openssl --with-modules=mod_sftp --enable-dso

И затем я смог работать make и make install успешно.

Проблема - то, что не похоже, что это создает любые systemd сценарии:

[root@localhost]# systemctl start proftpd.service
Failed to issue method call: Unit proftpd.service failed to load: No such file or directory.

Однако двоичный файл существует, и система знает об этом:

[root@localhost]# which proftpd
/sbin/proftpd

Кроме того, кажется, нет никаких init сценариев для этого в /etc/init.d ни в /usr/etc/init.d.

Когда я выполняю одинокий двоичный файл, он соединяет звездой очень хорошо.

Но я хотел бы получить своего рода работу init или systemd сценарий, работающий на это, так, чтобы это запустилось на начальной загрузке (и у меня будет более легкое время управления сервисом).

Какие-либо мысли о том, как это сделано?

[Правовая оговорка: Я отправил этот тот же вопрос на Переполнении стека пара несколько дней назад, думая, что это было более центральным программированием вопросом, но это не видело действия, и я думаю, что это связано достаточно с системным администрированием что его соответствующее здесь также]

3
задан 24 December 2016 в 01:02
1 ответ

Блок systemd будет выглядеть следующим образом:

$ cat /etc/systemd/system/proftpd.service

[Unit]
Description=ProFTPd FTP Server
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/usr/sbin/proftpd
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

Тогда вы можете сделать так:

$ sudo systemctl enable /etc/systemd/system/proftpd.service
$ sudo systemctl start proftpd.service

man systemctl должен вывести вас на правильный путь.

.
3
ответ дан 3 December 2019 в 06:32

Теги

Похожие вопросы