User Tools

Site Tools


servers:nginx:joomla

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
servers:nginx:joomla [2023/09/12 14:50] – openSUSE TW -> Fedora Server (partial) Sean Rhoneservers:nginx:joomla [2024/02/01 08:15] (current) Sean Rhone
Line 2: Line 2:
  
   * Joomla ((https://www.joomla.org))   * Joomla ((https://www.joomla.org))
-  * :!: 4.3-dev ((https://github.com/joomla/joomla-cms/tree/4.3-dev))+  * :!: 5.1-dev ((https://github.com/joomla/joomla-cms/tree/5.1-dev))
   * [[Information:Realm of Espionage]]   * [[Information:Realm of Espionage]]
   * https://realmofespionage.xyz   * https://realmofespionage.xyz
Line 19: Line 19:
 ====== Dependencies ====== ====== Dependencies ======
  
-  * https://docs.joomla.org/Special:MyLanguage/J4.x:Setting_Up_Your_Local_Environment+  * https://docs.joomla.org/Special:MyLanguage/J5.x:Setting_Up_Your_Local_Environment 
 +  * https://manual.joomla.org/docs/next/get-started/technical-requirements/ 
 +  * https://docs.joomla.org/J5.x:Optional_Technical_Requirements
   * ''php8-ldap'' isn't required but ''composer install'' complains about it unless you ignore platform dependencies   * ''php8-ldap'' isn't required but ''composer install'' complains about it unless you ignore platform dependencies
  
-  * :!: TODO +  sudo dnf install composer nodejs php-ldap php-mysqlnd
- +
-  sudo dnf install +
  
 ===== Old openSUSE ===== ===== Old openSUSE =====
 +
 +****
  
   sudo zypper install php8-sodium nodejs-common php-composer2 php8-mysql php8-fileinfo php8-ldap   sudo zypper install php8-sodium nodejs-common php-composer2 php8-mysql php8-fileinfo php8-ldap
Line 34: Line 36:
 **** ****
  
-  sudo git clone --branch '4.3-dev' --depth '1' --recurse-submodules 'https://github.com/joomla/joomla-cms.git' '/var/www/main' && sudo semanage fcontext --add --type 'httpd_sys_rw_content_t' '/var/www/main(/.*)?' && sudo restorecon -F -I -R '/var/www/main' && sudo chown -R 'nginx':'nginx' '/var/www/main' && sync+  sudo git clone --branch '5.1-dev' --depth '1' --recurse-submodules 'https://github.com/joomla/joomla-cms.git' '/var/www/main' && sudo semanage fcontext --add --type 'httpd_sys_rw_content_t' '/var/www/main(/.*)?' && sudo restorecon -F -I -R '/var/www/main' && sudo chown -R 'nginx':'nginx' '/var/www/main' && sync
  
 ====== Environment ====== ====== Environment ======
  
-  * https://docs.joomla.org/Special:MyLanguage/J4.x:Setting_Up_Your_Local_Environment+  * https://docs.joomla.org/Special:MyLanguage/J5.x:Setting_Up_Your_Local_Environment
  
 ===== Composer ===== ===== Composer =====
Line 54: Line 56:
 ====== Database ====== ====== Database ======
  
-  sudo mysql+  sudo mariadb
  
   CREATE DATABASE joomla_db;   CREATE DATABASE joomla_db;
Line 205: Line 207:
 === Copyright === === Copyright ===
  
-  * Last tested: 2023/08/31 on Joomla 4.3.5-dev, T3 Framework 3.1.3, and Purity III 2.0.3+  * Last tested: 2024/02/01 on Joomla 5.1.0-dev, T3 Framework 3.2.0, and Purity III 2.1.0
  
 == Logo == == Logo ==
Line 211: Line 213:
 **** ****
  
-  wget -O '/tmp/cc-by-sa-40.png' 'https://licensebuttons.net/l/by-sa/4.0/80x15.png' && sudo mv '/tmp/cc-by-sa-40.png' '/var/www/main/images/cc-by-sa-40.png' && sudo chown 'nginx':'nginx' '/var/www/main/images/cc-by-sa-40.png' && sync+  wget -O '/tmp/cc-by-sa-40.png' 'https://licensebuttons.net/l/by-sa/4.0/80x15.png' && sudo mv '/tmp/cc-by-sa-40.png' '/var/www/main/images/cc-by-sa-40.png' && sudo chown 'nginx':'nginx' '/var/www/main/images/cc-by-sa-40.png' && sudo restorecon -F -I -R '/var/www/main/images/cc-by-sa-40.png' && sync
  
 == Text == == Text ==
Line 230: Line 232:
   * Also replaces ThemeMagic for Brand Primary Color, Footer Background, and Footer Text Color   * Also replaces ThemeMagic for Brand Primary Color, Footer Background, and Footer Text Color
  
-  * Last tested: 2023/08/31 on Joomla 4.3.5-dev, T3 Framework 3.1.3, and Purity III 2.0.3+  * Last tested: 2024/02/01 on Joomla 5.1.0-dev, T3 Framework 3.2.0, and Purity III 2.1.0
  
   sudo -e '/var/www/main/templates/purity_iii/css/custom.css' && sudo chown 'nginx':'nginx' '/var/www/main/templates/purity_iii/css/custom.css'   sudo -e '/var/www/main/templates/purity_iii/css/custom.css' && sudo chown 'nginx':'nginx' '/var/www/main/templates/purity_iii/css/custom.css'
Line 302: Line 304:
   * Main menu headers are: System Links -> URL -> ''#'' to allow tapping as-expected on mobile   * Main menu headers are: System Links -> URL -> ''#'' to allow tapping as-expected on mobile
   * Icon sizes are 24x24   * Icon sizes are 24x24
-  * Menu entries should be named normally before saving, and then add a space on the title afterwards to make it look better with the icon+  * Menu entries should be named normally before saving for a proper ''alias'', and then add a space on the title afterwards to make it look better with the icon
  
 ===== Global Configuration ===== ===== Global Configuration =====
Line 311: Line 313:
  
   Realm of Espionage is a personal project composed of various self-hosted services. All services are hosted in-house under secure conditions, and notes are provided for all services under the CC-BY-SA 4.0 license.   Realm of Espionage is a personal project composed of various self-hosted services. All services are hosted in-house under secure conditions, and notes are provided for all services under the CC-BY-SA 4.0 license.
- 
-==== Site Meta Keywords ==== 
- 
-**** 
- 
-  privacy,linux,floss,foss,free,open,open-source,gnu,secure,hardened,ubuntu,espionage724,gaming,realm of espionage,roe,free and open-source software,transparent,transparency,letsencrypt,freedom,decentralized,self-host,self-hosted,in-house,decentralization 
  
 ==== Content Rights ==== ==== Content Rights ====
Line 347: Line 343:
  
 ==== Service ==== ==== Service ====
 +
 +  * 2023/09/12: TODO: SELinux prevents various actions with ''npm''; is it even needed?
  
   sudo -e '/etc/systemd/system/main-up.service'   sudo -e '/etc/systemd/system/main-up.service'
Line 357: Line 355:
 WorkingDirectory=/var/www/main WorkingDirectory=/var/www/main
 Environment="COMPOSER_CACHE_DIR=/dev/null" Environment="COMPOSER_CACHE_DIR=/dev/null"
-ExecStart='/usr/bin/git' -C '/var/www/main' pull origin '4.3-dev'+ExecStart='/usr/bin/git' -C '/var/www/main' pull origin '5.1-dev'
 ExecStart='/usr/bin/composer' install ExecStart='/usr/bin/composer' install
-ExecStart='/usr/bin/npm' ci --logs-max='0' +#ExecStart='/usr/bin/npm' ci --logs-max='0' 
-ExecStart='/usr/bin/npm' audit fix --audit-level='none' --logs-max='0'+#ExecStart='/usr/bin/npm' audit fix --audit-level='none' --logs-max='0'
 ExecStartPost='/usr/bin/sync'</code> ExecStartPost='/usr/bin/sync'</code>
  
 ==== Timer ==== ==== Timer ====
  
-  * Every day at ''03:00:00''+  * Every day at ''02:00:00''
  
   sudo -e '/etc/systemd/system/main-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'main-up.timer' --now   sudo -e '/etc/systemd/system/main-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'main-up.timer' --now
Line 376: Line 374:
  
 [Timer] [Timer]
-OnCalendar=*-*-* 03:00:00+OnCalendar=*-*-* 02:00:00
 Persistent=true Persistent=true
  
Line 399: Line 397:
 ==== Timer ==== ==== Timer ====
  
-  * ''01'' day of every month at ''03:20:00''+  * ''01'' day of every month at ''02:20:00''
  
   sudo -e '/etc/systemd/system/main-m.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'main-m.timer' --now   sudo -e '/etc/systemd/system/main-m.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'main-m.timer' --now
Line 410: Line 408:
  
 [Timer] [Timer]
-OnCalendar=*-*-01 03:20:00+OnCalendar=*-*-01 02:20:00
 Persistent=true Persistent=true
  
Line 433: Line 431:
 === Timer === === Timer ===
  
-  * ''01'' day of every month at ''03:50:00''+  * ''01'' day of every month at ''02:35:00''
  
   sudo -e '/etc/systemd/system/main-fb.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'main-fb.timer' --now && sudo systemctl start 'main-fb' && sudo systemctl status 'main-fb' -l   sudo -e '/etc/systemd/system/main-fb.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'main-fb.timer' --now && sudo systemctl start 'main-fb' && sudo systemctl status 'main-fb' -l
Line 442: Line 440:
  
 [Timer] [Timer]
-OnCalendar=*-*-01 03:50:00+OnCalendar=*-*-01 02:35:00
 Persistent=true Persistent=true
  
Line 455: Line 453:
  
 <code> <code>
-[mysqldump]+[mariadb-dump]
 user=joomla user=joomla
 password=x</code> password=x</code>
Line 467: Line 465:
 Type=oneshot Type=oneshot
 WorkingDirectory=/var/lib/mysql/tmp WorkingDirectory=/var/lib/mysql/tmp
-ExecStartPre='/usr/bin/mysqldump' --defaults-extra-file='/var/lib/mysql/auth/joomla' --single-transaction 'joomla_db' -r '/var/lib/mysql/tmp/joomla.sql'+ExecStartPre='/usr/bin/mariadb-dump' --defaults-extra-file='/var/lib/mysql/auth/joomla' --single-transaction 'joomla_db' -r '/var/lib/mysql/tmp/joomla.sql'
 ExecStart='/usr/bin/gzip' -f '/var/lib/mysql/tmp/joomla.sql' ExecStart='/usr/bin/gzip' -f '/var/lib/mysql/tmp/joomla.sql'
 ExecStart='/usr/bin/bash' -c '"/usr/bin/mv" "/var/lib/mysql/tmp/joomla.sql.gz" "/home/CHANGEME/backups/joomla-database-auto-"$$(date +%%Y-%%m-%%d)".sql.gz"' ExecStart='/usr/bin/bash' -c '"/usr/bin/mv" "/var/lib/mysql/tmp/joomla.sql.gz" "/home/CHANGEME/backups/joomla-database-auto-"$$(date +%%Y-%%m-%%d)".sql.gz"'
Line 474: Line 472:
 === Timer === === Timer ===
  
-  * Every day at ''03:15:00''+  * Every day at ''02:45:00''
  
   sudo -e '/etc/systemd/system/main-db.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'main-db.timer' --now && sudo systemctl start 'main-db' && sudo systemctl status 'main-db' -l   sudo -e '/etc/systemd/system/main-db.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'main-db.timer' --now && sudo systemctl start 'main-db' && sudo systemctl status 'main-db' -l
Line 484: Line 482:
  
 [Timer] [Timer]
-OnCalendar=*-*-* 03:15:00+OnCalendar=*-*-* 02:45:00
 Persistent=true Persistent=true
  
Line 512: Line 510:
 **** ****
  
-  sudo mysqldump --defaults-extra-file='/var/lib/mysql/auth/joomla' --single-transaction 'joomla_db' -r ~/'joomla-database-manual-'$(date +%Y-%m-%d)'.sql' && sync+  sudo mariadb-dump --defaults-extra-file='/var/lib/mysql/auth/joomla' --single-transaction 'joomla_db' -r ~/'joomla-database-manual-'$(date +%Y-%m-%d)'.sql' && sync
  
 ==== Start Services ==== ==== Start Services ====
Line 566: Line 564:
 ==== Drop Previous Database ==== ==== Drop Previous Database ====
  
-  sudo mysql+  sudo mariadb
  
   DROP DATABASE joomla_db;   DROP DATABASE joomla_db;
Line 576: Line 574:
 ==== Re-create Databases ==== ==== Re-create Databases ====
  
-  sudo mysql+  sudo mariadb
  
   CREATE DATABASE joomla_db;   CREATE DATABASE joomla_db;
Line 586: Line 584:
 **** ****
  
-  sudo mysql 'joomla_db' < ~/'joomla-database-'*'.sql' && sync+  sudo mariadb 'joomla_db' < ~/'joomla-database-'*'.sql' && sync
  
 ==== Reapply Permissions ==== ==== Reapply Permissions ====
  
-  sudo mysql+  sudo mariadb
  
   GRANT ALL PRIVILEGES ON joomla_db.* to 'joomla'@'localhost' IDENTIFIED BY 'x';   GRANT ALL PRIVILEGES ON joomla_db.* to 'joomla'@'localhost' IDENTIFIED BY 'x';
/var/www/wiki/data/attic/servers/nginx/joomla.1694544624.txt.gz · Last modified: 2023/09/12 14:50 by Sean Rhone