====== Upgrade FreeRADIUS to 3.0.13 ======
===== Background =====
* It came to our attention that the version of FreeRADIUS which is available on the **Personal Package Archive (PPA)** repository has the following bug: http://lists.freeradius.org/pipermail/freeradius-users/2016-October/085317.html
* Please follow these instructions either when you do a clean install of a RADIUSdesk system, or if you have an existing server that needs to be upgraded.
===== Upgrade instructions =====
# Stop the current isntance of FreeRADIUS is there might be one running
sudo systemctl stop freeradius.service
#Check out the FreeRADIUS packages from the RADIUSdesk source tree using SVN
#If you have a 64 bit system
svn checkout https://svn.code.sf.net/p/radiusdesk/code/tags/FreeRADIUS/amd64
#If you have a 32 bit system
svn checkout https://svn.code.sf.net/p/radiusdesk/code/tags/FreeRADIUS/i386
#If you have a 64 bit system
cd amd64
#If you have a 32 bit system
cd i386
#Install all the packages
sudo dpkg -i *.deb
#Just hit the **Enter** key each time it asks a question about aoverriding an existing file.
#That will choose the default and keep the current one.
#Next we will replace the current configuration
cd /etc
sudo mv freeradius freeradius.bakup
#Copy the RADIUSdesk specific one
sudo cp /usr/share/nginx/html/cake2/rd_cake/Setup/Radius/freeradius-3-radiusdesk.tar.gz /etc/
cd /etc
#Extract it
sudo tar -xzvf freeradius-3-radiusdesk.tar.gz
==== Do the following to further configure FreeRADIUS 3.x to work with RADIUSdesk ====
* Configure the site wide shared secret. This will be the value used by ALL Dynamic Clients.
sudo vi /etc/freeradius/sites-enabled/dynamic-clients
* Look for this part in the file and change **FreeRADIUS-Client-Secret** to the value you choose to use.
# Echo the IP address of the client.
FreeRADIUS-Client-IP-Address = "%{Packet-Src-IP-Address}"
# require_message_authenticator
FreeRADIUS-Client-Require-MA = no
# secret
FreeRADIUS-Client-Secret = "testing123"
# shortname
FreeRADIUS-Client-Shortname = "%{Packet-Src-IP-Address}"
* Comment out the following two lines in the systemd service file
sudo vi /lib/systemd/system/freeradius.service
* See this sample to see which two lines to comment out. Failing to do this will result in a broken system with FreeRADIUS not starting up during boot
[Unit]
Description=FreeRADIUS multi-protocol policy server
After=syslog.target 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
[Install]
WantedBy=multi-user.target
* After you completed these commands you can test if FreeRADIUS starts up fine.
sudo systemctl daemon-reload
sudo systemctl restart freeradius.service
sudo systemctl status freeradius.service
* If in future you need to run FreeRADIUS in debug mode on the terminal use this as a reference:
#Stop the current FreeRADIUS instance
sudo systemctl stop freeradius.service
#If it is perhaps stuck use killall
sudo killall freeradius
#Start it in debug mode
sudo freeradius -X