freeradius - 从 Source 安装时,CentOS 7 上未安装 freeRadius 服务
问题描述
操作系统:CentOS 7 freeRadius - 3.0.16
我已经从源下载安装了 freeRadius 3.0.16,因为 yum 没有向我显示所需版本的任何可用副本。我使用存档的源文件 (.tar.gz) 来安装 radius。我使用了他们的技术文档中列出的命令:
./configure ./make 安装
我的服务器在测试和调试后按预期正常工作,但我无法将半径作为服务运行。当我使用systemctl status freeradius(或 radiusd)时,找不到文件/服务。
检查我的 /etc/system 目录中已安装的服务时,没有安装 freeradius.service 或 radiusd.service。然而,我的所有文档都让我相信这应该作为过程的一部分进行安装。是否有我需要的特定库或依赖项?
谢谢!
编辑:
这就是我尝试从 debain 文件夹添加 freeradius.service 时发生的情况。我不确定如何编辑此文件以使事情正常工作,或者是否有可能。
[root@localhost system]# systemctl enable freeradius.service
[root@localhost system]# systemctl start freeradius.service
Job for freeradius.service failed because the control process exited with error code. See "systemctl status freeradius.service" and "journalctl -xe" for details.
[root@localhost system]# systemctl status freeradius.service
● freeradius.service - FreeRADIUS multi-protocol policy server
Loaded: loaded (/etc/systemd/system/freeradius.service; enabled; vendor preset: disabled)
Active: activating (auto-restart) (Result: exit-code) since Fri 2018-04-27 08:31:29 EDT; 271ms ago
Docs: man:radiusd(8)
man:radiusd.conf(5)
http://wiki.freeradius.org/
http://networkradius.com/doc/
Process: 22469 ExecStartPre=/usr/sbin/freeradius $FREERADIUS_OPTIONS -Cxm -lstdout (code=exited, status=203/EXEC)
Apr 27 08:31:29 localhost.localdomain systemd[1]: Failed to start FreeRADIUS multi-protocol policy server.
Apr 27 08:31:29 localhost.localdomain systemd[1]: Unit freeradius.service entered failed state.
Apr 27 08:31:29 localhost.localdomain systemd[1]: freeradius.service failed.
-------------------
Freeradius.service content
[root@localhost system]# cat freeradius.service
[Unit]
Description=FreeRADIUS multi-protocol policy server
After=network.target
Documentation=man:radiusd(8) man:radiusd.conf(5) http://wiki.freeradius.org/ http://networkradius.com/doc/
[Service]
Type=forking
PIDFile=/run/freeradius/freeradius.pid
EnvironmentFile=-/etc/default/freeradius
ExecStartPre=/usr/sbin/freeradius $FREERADIUS_OPTIONS -Cxm -lstdout
ExecStart=/usr/sbin/freeradius $FREERADIUS_OPTIONS
Restart=on-failure
RestartSec=5
ExecReload=/usr/sbin/freeradius $FREERADIUS_OPTIONS -Cxm -lstdout
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
[root@localhost system]#
解决方案
我不确定哪个文档会让您相信,但我确定从源代码安装不会为 systemd 安装单元文件。绝大多数开源软件的源代码包都是如此,因为安装支持文件通常委托给操作系统特定的包。
手动安装单元文件,在 RHEL/Centos/etc/systemd/system/
上一般用于管理员安装单元文件,所以应该很简单:
cp freeradius-server/redhat/radiusd.service /etc/systemd/system/
systemctl start radiusd
推荐阅读
- android - 关于打开一个新活动以响应对片段内的 RecyclerView 项目的点击
- c++ - 构造链表时的无限循环
- logging - 事件查看器未记录 PC 关机
- amazon-web-services - 有多个 SQS 触发器时 Aws Lambda 中的优先级
- infinispan - Infinispan 是否支持 ANSI SQL?
- c# - Nhibernate queryover(或 lambda Linq)在投影中添加子查询计数
- mysql - 从数据块收到的 Sql 服务器连接丢失错误。连接池有用吗?
- android - setTextCursorDrawable (<=29) 缺少 Android 数据绑定 API 级别检查
- angular - 如何显示从代码初始化的角度组件?
- azure - 使用多容器 linux 应用程序限制配置 azure appservice