Table of Contents

Update a RADIUSdesk install on Ubuntu 16.04

Be carefull when updating production systems since the RADIUSdesk code is under constant development very new bits of code might still have bugs which can break things.

Install the CakePHP v3 application

This is a once-off action and only needs to be done once if you are still running a CakePHP v2 based system

sudo apt-get install php-cli php-gd php-curl php-xml php-mbstring php-intl
cd /usr/share/nginx/html/
sudo svn checkout svn://dvdwalt@svn.code.sf.net/p/radiusdesk/code/trunk/cake3 ./cake3
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/tmp
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/logs

Check the Nginx config

This is a once-off action and only needs to be done once if you are still running a CakePHP v2 based system.

sudo vi /etc/nginx/sites-available/default
location ~ ^/cake2/.+\.(jpg|jpeg|gif|png|ico|js|css)$ {
    rewrite ^/cake2/rd_cake/webroot/(.*)$ /cake2/rd_cake/webroot/$1 break;
    rewrite ^/cake2/rd_cake/(.*)$ /cake2/rd_cake/webroot/$1 break;
    access_log off;
    expires max;
    add_header Cache-Control public;
}  
location /cake3/rd_cake {
   rewrite ^/cake3/rd_cake(.+)$ /cake3/rd_cake/webroot$1 break;
   try_files $uri $uri/ /cake3/rd_cake/index.php$is_args$args;
}
sudo systemctl reload nginx.service

Install The Improved Dynamic Login Pages

This is a once-off action and only needs to be done once if you are still running the older login pages that has a seperate page for mobile devices and desktop devices.

cd /usr/share/nginx/html
sudo svn checkout svn://dvdwalt@svn.code.sf.net/p/radiusdesk/code/trunk/login ./login

Update the code

#CakePHP v2 Application
cd /usr/share/nginx/html/cake2/rd_cake
sudo svn update
#CakePHP v3 Application
cd /usr/share/nginx/html/cake3
sudo svn update
#Viever
cd /usr/share/nginx/html/rd
sudo svn update
#Login Pages
cd /usr/share/nginx/html/login
sudo svn update
 
#Confirm the rights
 
sudo chown -R www-data. /usr/share/nginx/html/cake2/rd_cake/tmp
sudo chown -R www-data. /usr/share/nginx/html/cake2/rd_cake/Locale
sudo chown -R www-data. /usr/share/nginx/html/cake2/rd_cake/webroot/img/flags
sudo chown -R www-data. /usr/share/nginx/html/cake2/rd_cake/webroot/img/nas
sudo chown -R www-data. /usr/share/nginx/html/cake2/rd_cake/webroot/img/realms
sudo chown -R www-data. /usr/share/nginx/html/cake2/rd_cake/webroot/img/dynamic_details
sudo chown -R www-data. /usr/share/nginx/html/cake2/rd_cake/webroot/img/dynamic_photos
sudo chown -R www-data. /usr/share/nginx/html/cake2/rd_cake/webroot/files/imagecache
 
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/tmp
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/logs
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/webroot/img/realms
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/webroot/img/dynamic_details
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/webroot/img/dynamic_photos
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/webroot/img/access_providers
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/webroot/files/imagecache

Applying the Database Patches

cd /usr/share/nginx/html/cake3/rd_cake/setup/db
sudo mysql -u root rd < correct_realm_acos.sql
sudo mysql -u root rd < rd_rename_key_column.sql
sudo mysql -u root rd < rd_photo_add_active_column.sql
sudo mysql -u root rd < rd_photo_more_enhancements.sql
sudo mysql -u root rd < top_up_improvements.sql
sudo mysql -u root rd < add_language_selection_to_dynamic_details.sql
sudo mysql -u root rd < captive_portal_dns.sql
sudo mysql -u root rd < byod_improvements.sql
sudo mysql -u root rd < rd_rename_key_column_2.sql
sudo mysql -u root rd < correct_users_and_groups_aros.sql

Copy the existing images

#realms
sudo cp /usr/share/nginx/html/cake2/rd_cake/webroot/img/realms/* /usr/share/nginx/html/cake3/rd_cake/webroot/img/realms/
#Dynamic Details
sudo cp /usr/share/nginx/html/cake2/rd_cake/webroot/img/dynamic_details/* /usr/share/nginx/html/cake3/rd_cake/webroot/img/dynamic_details/
#Dynamic Photos
sudo cp /usr/share/nginx/html/cake2/rd_cake/webroot/img/dynamic_photos/* /usr/share/nginx/html/cake3/rd_cake/webroot/img/dynamic_photos/
#Change the ownership
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/webroot/img/realms
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/webroot/img/dynamic_details
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/webroot/img/dynamic_photos

Updating the rights system on the database

cd /usr/share/nginx/html/cake3/rd_cake
sudo ./bin/cake migrate_radiusdesk
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/tmp
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/logs
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/webroot/img/realms
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/webroot/img/dynamic_details
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/webroot/img/dynamic_photos
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/webroot/img/access_providers
sudo chown -R www-data. /usr/share/nginx/html/cake3/rd_cake/webroot/files/imagecache
Please Take Note