我正在尝试将最新版本的 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 上发布了同样的问题,认为这是一个更以编程为中心的问题,但没有看到任何活动,我认为这与系统管理相关,因此在这里相关也]
该
systemd
单元看起来像这样:然后你可以这样做:
man systemctl
应该让你走上正轨。