首页 > 解决方案 > 从 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]# 

标签: freeradius

解决方案


我不确定哪个文档会让您相信,但我确定从源代码安装不会为 systemd 安装单元文件。绝大多数开源软件的源代码包都是如此,因为安装支持文件通常委托给操作系统特定的包。

手动安装单元文件,在 RHEL/Centos/etc/systemd/system/上一般用于管理员安装单元文件,所以应该很简单:

cp freeradius-server/redhat/radiusd.service /etc/systemd/system/
systemctl start radiusd

推荐阅读