1. 程式人生 > >CentOS7源碼編譯安裝FreeRadius3.17

CentOS7源碼編譯安裝FreeRadius3.17

版本 configure for sbin 出現 系統 usr run 3.1

(一)環境簡介
1.OS:Centos7.4
2.軟件:Freeradiusd3.17(ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-3.0.17.tar.gz)
3.網站:https://freeradius.org/

(二)安裝
1.yum安裝所需的依賴包
[root@localhost raddb]#yum install openssl openssl-devel libtalloc-devel libtalloc* -y

2.解壓和編譯安裝。由於編譯安裝默認的路徑是/usr/local/etc/raddb/下

[root@localhost opt]#wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-3.0.17.tar.gz
[root@localhost opt]# tar xf freeradius-server-3.0.17.tar.gz
[root@localhost opt]#cd freeradius-server-3.0.17
[root@localhost freeradius-server-3.0.17]#./configure
[root@localhost freeradius-server-3.0.17]#make && make install
[root@localhost freeradius-server-3.0.17]# cd /usr/local/etc/raddb/
[root@localhost raddb]# ls
certs         experimental.conf  mods-available  panic.gdb   radiusd.conf     sites-enabled   users
clients.conf  hints              mods-config     policy.d    README.rst       templates.conf
dictionary    huntgroups         mods-enabled    proxy.conf  sites-available  trigger.conf

3.配置radiusd啟動服務文件

[root@localhost ~]# groupadd radiusd
[root@localhost ~]# useradd -g radiusd radiusd -s /sbin/nologin
[root@localhost ~]# vim /usr/lib/systemd/system/radiusd.service 
[Unit]
Description=FreeRADIUS high performance RADIUS server.
After=syslog.target network.target ipa.service dirsrv.target krb5kdc.service

[Service]
Type=forking
PIDFile=/usr/local/var/run/radiusd/radiusd.pid
ExecStartPre=-/bin/chown -R radiusd.radiusd /usr/local/var/run/radiusd
ExecStartPre=/usr/local/sbin/radiusd -C
ExecStart=/usr/local/sbin/radiusd -d /usr/local/etc/raddb
ExecReload=/usr/local/sbin/radiusd -C
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

4.創建啟動服務

[root@localhost opt]# systemctl enable radiusd
[root@localhost opt]# systemctl start radiusd
[root@localhost opt]# systemctl status radiusd
● radiusd.service - FreeRADIUS high performance RADIUS server.
   Loaded: loaded (/usr/lib/systemd/system/radiusd.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2018-08-14 14:11:51 CST; 13min ago
 Main PID: 26259 (radiusd)
   CGroup: /system.slice/radiusd.service
           └─26259 /usr/local/sbin/radiusd -d /usr/local/etc/raddb

Aug 14 14:11:51 localhost.localdomain systemd[1]: Starting FreeRADIUS high performance RADIUS server....
Aug 14 14:11:51 localhost.localdomain systemd[1]: Started FreeRADIUS high performance RADIUS server..
[root@localhost opt]# systemctl restart radiusd
[root@localhost opt]# systemctl status radiusd
● radiusd.service - FreeRADIUS high performance RADIUS server.
   Loaded: loaded (/usr/lib/systemd/system/radiusd.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2018-08-14 14:25:31 CST; 1s ago
  Process: 29267 ExecStart=/usr/local/sbin/radiusd -d /usr/local/etc/raddb (code=exited, status=0/SUCCESS)
  Process: 29263 ExecStartPre=/usr/local/sbin/radiusd -C (code=exited, status=0/SUCCESS)
  Process: 29261 ExecStartPre=/bin/chown -R radiusd.radiusd /usr/local/var/run/radiusd (code=exited, status=0/SUCCESS)
 Main PID: 29270 (radiusd)
   CGroup: /system.slice/radiusd.service
           └─29270 /usr/local/sbin/radiusd -d /usr/local/etc/raddb

Aug 14 14:25:31 localhost.localdomain systemd[1]: Starting FreeRADIUS high performance RADIUS server....
Aug 14 14:25:31 localhost.localdomain systemd[1]: Started FreeRADIUS high performance RADIUS server..

備註:如果系統是centos6.x以下的版本,具體配置如下

[root@FreeRadius2 raddb]# cp /usr/local/sbin/rc.radiusd /etc/init.d/radiused
[root@FreeRadius2 raddb]# /etc/init.d/radiused start

當出現報錯的時候“/usr/local/etc/raddb/mods-enabled/ldap[1]: Failed to link to module ‘rlm_ldap‘: /usr/local/lib/rlm_ldap.so: cannot open shared object file: No such file or directory

造成服務起不來
[root@localhost mods-available]# yum install freeradius-ldap -y
既可以解決。

CentOS7源碼編譯安裝FreeRadius3.17