RADIUSdesk

logo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
getting_started:12_install_pi_nginx [2023/11/02 21:58]
admin [Change Ownerships]
getting_started:12_install_pi_nginx [2023/11/03 00:34] (current)
admin [The Database]
Line 198: Line 198:
 sudo chown -R www-data: /var/www/html/cake4/rd_cake/webroot/files/imagecache sudo chown -R www-data: /var/www/html/cake4/rd_cake/webroot/files/imagecache
 </code> </code>
 +==== The Database ====
 +  * Make sure the timezone on the server is set to UTC (You can use **sudo raspi-config**)
 +  * Populate the timezone data on the DB
 +<code bash>
 +#NOTE FAILING THIS STEP will break the RADIUS graphs
 +#There might be some error messages in the output which is fine - no need to be alarmed
 +sudo su
 +mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root  mysql
 +</code>
 +  * Create an empty database called rd
 +<code bash>
 +sudo su
 +mysql -u root
 +create database rd;
 +GRANT ALL PRIVILEGES ON rd.* to 'rd'@'127.0.0.1' IDENTIFIED BY 'rd';
 +GRANT ALL PRIVILEGES ON rd.* to 'rd'@'localhost' IDENTIFIED BY 'rd';
 +exit;
 +</code>
 +  * Populate the database:
 +<code bash>
 +sudo mysql -u root rd < /var/www/html/cake4/rd_cake/setup/db/rd.sql
 +</code>
 +<WRAP center round tip 90%>
 +  * RADIUSdesk is under active development and sometimes we add SQL patches.
 +  * The SQL Patches are located under **/var/www/html/cake4/rd_cake/setup/db/**
 +  * These patches are non-destructive and you can run them against the database
 +  * See the pattern below
 +<code bash>
 +sudo mysql -u root rd < /var/www/rdcore/cake4/rd_cake/setup/db/8.068_add_email_sms_histories.sql 
 +</code>
 +</WRAP>
 +==== Configure Nginx ====
 +  * Configure Nginx to rewrite some RdCore URLs starting with ///cake4/rd_cake//.
 +  * Edit ///etc/nginx/sites-enabled/default//
 +<code bash>
 +sudo vi /etc/nginx/sites-enabled/default
 +</code>
 +  * Add this once section directly below **server_name** item. (This is so that this rule is hit first for the reporting side. We do not use CakePHP for the reporting anymore due to performance issues.
 +<code bash>
 +server_name _;
 +location /cake4/rd_cake/node-reports/submit_report.json {
 +    try_files $uri $uri/ /reporting/reporting.php;
 +}
 +</code>
 +  * If you need backward compatibility support (MESHdesk and APdesk) also add this section:
 +<code bash>
 +location /cake3/rd_cake/node-reports/submit_report.json {
 +    try_files $uri $uri/ /reporting/reporting.php;
 +}
 +</code>
 +  * Add the following configuration block inside the server section (This you can add towards the end):
 +<code bash>
 +location /cake4/rd_cake {
 +   rewrite ^/cake4/rd_cake(.+)$ /cake4/rd_cake/webroot$1 break;
 +   try_files $uri $uri/ /cake4/rd_cake/index.php$is_args$args;
 +}
 +</code>
 +  * If you need backward compatibility support (MESHdesk and APdesk) also add this section:
 +<code bash>
 +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;
 +}
 +</code>
 +  * Reload the Nginx:
 +<code bash>
 +sudo systemctl reload nginx
 +</code>
 +==== Important URLs ====
 +  * The following URLs are important to reach the UI
 +  * To load the optimized UI, go to http://127.0.0.1/rd/build/production/Rd/
 +  * If you want to serve the content directly out of the webroot, do the following:
 +<code bash>
 +sudo cp -R /var/www/html/rd/build/production/Rd/* /var/www/html/
 +</code>
 +  * To load the RD Mobile UI, go to http://127.0.0.1/rd_mobile
 +=== Login Credentials ===
 +  * By default you can log in with the following credentials
 +Username: **root** Password: **admin**
 +===== Cron Scripts =====
 +  * RADIUSdesk requires a few scripts to run periodically in order to maintain a healthy and working system.
 +  * To activate the cron scripts execute the following command, which will add RADIUSdesk's crons scripts to the Cron system
 +<code bash>
 +sudo cp /var/www/html/cake4/rd_cake/setup/cron/cron4 /etc/cron.d/
 +</code>
 +  * If you want to change the default intervals at which the scripts get executed, just edit the /etc/cron.d/cron4 file.
 +
 +===== Add LETSENCRYPT certificate =====
 +  * Rather than repeating existing documentation we will just add a URL with the instructions to do it.
 +  * You might want to run the following first before going to the instructions in the URL
 +<code bash>
 +sudo apt-get update
 +sudo apt-get -y install software-properties-common
 +</code>
 +  * https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-debian-11
 +===== Next steps =====
 +  * Be sure to also install FreeRADIUS
 +
 +
 +
 +
 +