Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| install_24_4 [2024/02/20 14:01] – system | install_24_4 [2026/08/15 07:32] (current) – system | ||
|---|---|---|---|
| Line 160: | Line 160: | ||
| * We will install a program (actually a service) called **php-fpm**. | * We will install a program (actually a service) called **php-fpm**. | ||
| * This service waits for requests for interpretation. | * This service waits for requests for interpretation. | ||
| - | * Install the php-fpm service by installing the default version 8.2 of the packages | + | * Install the php-fpm service by installing the default version 8.3 of the packages |
| <code bash> | <code bash> | ||
| sudo apt-get -y install php-fpm | sudo apt-get -y install php-fpm | ||
| - | sudo systemctl enable php8.2-fpm | + | sudo systemctl enable php8.3-fpm |
| - | sudo systemctl start php8.2-fpm | + | sudo systemctl start php8.3-fpm |
| </ | </ | ||
| Line 178: | Line 178: | ||
| index index.php index.html index.htm index.nginx-debian.html; | index index.php index.html index.htm index.nginx-debian.html; | ||
| </ | </ | ||
| - | * Enable PHP processing by leaving this section uncommented. Note that we are using the UNIX socket and that we are using 8.2 and not 7.4, which was originally specified in the configuration file. | + | * Enable PHP processing by leaving this section uncommented. Note that we are using the UNIX socket and that we are using 8.3 and not 7.4, which was originally specified in the configuration file. |
| <code bash> | <code bash> | ||
| # Pass PHP scripts to FastCGI server | # Pass PHP scripts to FastCGI server | ||
| Line 186: | Line 186: | ||
| # | # | ||
| # # With php-fpm (or other unix sockets): | # # With php-fpm (or other unix sockets): | ||
| - | fastcgi_pass unix:/ | + | fastcgi_pass unix:/ |
| # # With php-cgi (or other tcp sockets): | # # With php-cgi (or other tcp sockets): | ||
| # | # | ||
| Line 226: | Line 226: | ||
| <code bash> | <code bash> | ||
| - | sudo apt-get -y install mariadb-server php8.2-mysql | + | sudo apt-get -y install mariadb-server php8.3-mysql |
| sudo systemctl enable mariadb | sudo systemctl enable mariadb | ||
| sudo systemctl restart mariadb | sudo systemctl restart mariadb | ||
| Line 243: | Line 243: | ||
| sql_mode=IGNORE_SPACE, | sql_mode=IGNORE_SPACE, | ||
| </ | </ | ||
| - | * Save the file and restart | + | * Save the file. |
| + | |||
| + | === Enable the Event Scheduler === | ||
| + | * MariaDB | ||
| + | * We make use of this feature to automatically optimize some of the database tables. | ||
| + | * We will enable the Event Scheduler in MariaDB by creating a new file / | ||
| + | <code bash> | ||
| + | sudo vi / | ||
| + | </ | ||
| + | * Enter these two lines: | ||
| + | <code bash> | ||
| + | [mysqld] | ||
| + | event_scheduler=on | ||
| + | </ | ||
| + | * Save the file. | ||
| + | * Restart | ||
| <code bash> | <code bash> | ||
| sudo systemctl restart mariadb | sudo systemctl restart mariadb | ||
| </ | </ | ||
| + | * You can confirm that it is now enabled by checking the following from the SQL terminal: | ||
| + | <code bash> | ||
| + | sudo mysql -u root | ||
| + | MariaDB [(none)]> | ||
| + | +-----------------+-------+ | ||
| + | | Variable_name | ||
| + | +-----------------+-------+ | ||
| + | | event_scheduler | ON | | ||
| + | +-----------------+-------+ | ||
| + | 1 row in set (0.001 sec) | ||
| + | </ | ||
| ----- | ----- | ||
| ==== Performance tuning for Nginx ==== | ==== Performance tuning for Nginx ==== | ||
| Line 276: | Line 301: | ||
| * RADIUSdesk consists of three components. | * RADIUSdesk consists of three components. | ||
| * **rd** directory with its contents contains all the HTML and JavaScript code and is used as the presentation layer. | * **rd** directory with its contents contains all the HTML and JavaScript code and is used as the presentation layer. | ||
| - | * **cake4** is a CakePHPv4 application and can be considered the engine room. This is where the data is processed before it is displayed by the presentation layer. | + | * **cake4** is a CakePHPv5 (It was CakePHPv4 |
| * **login** is a directory with various login pages that are managed centrally via the **RADIUSdesk Dynamic Login Pages** applet. | * **login** is a directory with various login pages that are managed centrally via the **RADIUSdesk Dynamic Login Pages** applet. | ||
| * Later we will create various symbolic links from locations within the **rdcore** directory to locations within the document root directory of the web server. | * Later we will create various symbolic links from locations within the **rdcore** directory to locations within the document root directory of the web server. | ||
| Line 284: | Line 309: | ||
| <code bash> | <code bash> | ||
| sudo apt-get -y install php-cli php-mysql php-gd php-curl php-xml php-mbstring php-intl php-sqlite3 git wget | sudo apt-get -y install php-cli php-mysql php-gd php-curl php-xml php-mbstring php-intl php-sqlite3 git wget | ||
| - | sudo systemctl restart php8.2-fpm | + | sudo systemctl restart php8.3-fpm |
| </ | </ | ||
| * Check out the **rdcore** git repository. | * Check out the **rdcore** git repository. | ||
| Line 291: | Line 316: | ||
| sudo git clone https:// | sudo git clone https:// | ||
| </ | </ | ||
| - | * | + | * This will create an **rdcore** directory containing some sub-folders. |
| + | * Check out the CakePHPv5 API back-end application | ||
| + | <code bash> | ||
| + | cd /var/www | ||
| + | sudo git clone https:// | ||
| + | </ | ||
| * It is recommended that you also include the RD Mobile UI. | * It is recommended that you also include the RD Mobile UI. | ||
| * Check out the **rd_mobile** git repository. | * Check out the **rd_mobile** git repository. | ||
| Line 297: | Line 327: | ||
| cd /var/www | cd /var/www | ||
| sudo git clone https:// | sudo git clone https:// | ||
| + | </ | ||
| + | * It is further recommended that you include RD-Connect for users to manage their accounts. | ||
| + | <code bash> | ||
| + | cd /var/www | ||
| + | sudo git clone https:// | ||
| + | </ | ||
| + | * If you feel brave you can also try out out latest RdClient for clients to manage a couple of APs, Mesh Nodes or Permanent Users. | ||
| + | <code bash> | ||
| + | cd /var/www | ||
| + | sudo git clone https:// | ||
| </ | </ | ||
| Line 304: | Line 344: | ||
| cd / | cd / | ||
| sudo ln -s ../ | sudo ln -s ../ | ||
| - | sudo ln -s ../rdcore/ | + | sudo ln -s ../rd_cake5 |
| sudo ln -s ../ | sudo ln -s ../ | ||
| sudo ln -s ../ | sudo ln -s ../ | ||
| - | sudo ln -s ../rdcore/ | + | sudo ln -s ../rd_cake5/ |
| #For the RD Mobile UI | #For the RD Mobile UI | ||
| sudo ln -s ../ | sudo ln -s ../ | ||
| + | #For the RD-Connect Mobile UI | ||
| + | sudo ln -s ../ | ||
| + | #For the RD-Client Mobile UI | ||
| + | sudo ln -s ../ | ||
| </ | </ | ||
| Line 335: | Line 379: | ||
| #Some error messages may appear in the output, which is not a problem - no need to worry | #Some error messages may appear in the output, which is not a problem - no need to worry | ||
| sudo su | sudo su | ||
| - | mysql_tzinfo_to_sql | + | mariadb-tzinfo-to-sql |
| </ | </ | ||
| Line 358: | Line 402: | ||
| * See the example below | * See the example below | ||
| <code bash> | <code bash> | ||
| - | sudo mysql -u root rd < /var/www/rdcore/ | + | sudo mysql -u root rd < /var/www/html/ |
| + | </ | ||
| + | * Some of these patches may add new columns to existing database tables. In this case, it is recommended to clear the CakePHP models (tables) cache to ensure that the latest changes are also applied there: | ||
| + | <code bash> | ||
| + | sudo su | ||
| + | cd / | ||
| + | rm * | ||
| + | exit | ||
| </ | </ | ||
| </ | </ | ||
| Line 407: | Line 458: | ||
| * To activate the cron scripts, execute the following command, which adds the **RADIUSdesk** cron scripts to the cron system | * To activate the cron scripts, execute the following command, which adds the **RADIUSdesk** cron scripts to the cron system | ||
| <code bash> | <code bash> | ||
| - | sudo cp / | + | sudo cp / |
| </ | </ | ||
| * If you want to change the default intervals at which the scripts are executed, simply edit the file / | * If you want to change the default intervals at which the scripts are executed, simply edit the file / | ||
| ===== Add LETSENCRYPT certificate ===== | ===== Add LETSENCRYPT certificate ===== | ||
| + | <alert type=" | ||
| + | Since instructions for Ubuntu 24.04 has not yet been released, we will use the instructions for 22.04, which should work just as well | ||
| + | </ | ||
| * Instead of repeating the existing documentation, | * Instead of repeating the existing documentation, | ||
| * Before you follow the instructions in the URL, you should first do the following | * Before you follow the instructions in the URL, you should first do the following | ||
| Line 418: | Line 472: | ||
| sudo apt-get -y install software-properties-common | sudo apt-get -y install software-properties-common | ||
| </ | </ | ||
| - | * https:// | + | * https:// |
| + | |||
| ===== Next steps ===== | ===== Next steps ===== | ||
| * Make sure that you also install **FreeRADIUS**. | * Make sure that you also install **FreeRADIUS**. | ||
| * [[install_24_4_freeradius|Install FreeRADIUS]] | * [[install_24_4_freeradius|Install FreeRADIUS]] | ||