AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 675610
Accepted
David W
David W
Asked: 2015-03-16 01:21:00 +0800 CST2015-03-16 01:21:00 +0800 CST 2015-03-16 01:21:00 +0800 CST

使用 systemd 启动程序

  • 772

我正在尝试将最新版本的 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

/etc/init.d此外,在或中似乎没有任何初始化脚本/usr/etc/init.d。

当我单独运行二进制文件时,它启动得很好。

但我想得到某种工作的 init 或 systemd 脚本为此工作,以便它在启动时启动(并且我将更容易管理服务)。

关于如何做到这一点的任何想法?

[免责声明:几天前,我在 Stack Overflow 上发布了同样的问题,认为这是一个更以编程为中心的问题,但没有看到任何活动,我认为这与系统管理相关,因此在这里相关也]

centos
  • 1 1 个回答
  • 4085 Views

1 个回答

  • Voted
  1. Best Answer
    Belmin Fernandez
    2015-03-16T07:26:11+08:002015-03-16T07:26:11+08:00

    该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

相关问题

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 持续监控许多服务器运行状况的简单方法?

  • Hudson 无法在 tomcat5 中启动

  • CentOS 的依赖挑战

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve