| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| servers:linux:nginx:joomla [2026/05/01 02:48] – [Server Block] Sean Rhone | servers:linux:nginx:joomla [2026/05/31 15:13] (current) – [Service] Sean Rhone |
|---|
| * https://docs.joomla.org/J5.x:Optional_Technical_Requirements | * https://docs.joomla.org/J5.x:Optional_Technical_Requirements |
| |
| sudo zypper install nodejs-common php-composer2 php-gd php8-intl php-ldap php8-mysql php8-openssl php8-sodium php8-fileinfo php8-mbstring | sudo zypper install nodejs-common php-composer2 php8-gd php8-intl php8-mysql php8-openssl php8-sodium php8-fileinfo php8-mbstring |
| |
| ====== Download Source ====== | ====== Download Source ====== |
| * https://docs.joomla.org/Special:MyLanguage/J5.x:Setting_Up_Your_Local_Environment | * https://docs.joomla.org/Special:MyLanguage/J5.x:Setting_Up_Your_Local_Environment |
| |
| ===== Composer ===== | ===== Composer + Node.js ===== |
| |
| sudo su 'wwwrun' -s '/bin/bash' | sudo su 'wwwrun' -s '/bin/bash' |
| |
| cd '/tmp' && '/usr/bin/composer' --working-dir='/srv/www/main' --no-cache install --no-dev | cd '/tmp' && '/usr/bin/composer' --working-dir='/srv/www/main' --no-cache install --no-dev --ignore-platform-req='ext-ldap' |
| | |
| ===== Node.js ===== | |
| | |
| sudo su 'wwwrun' -s '/bin/bash' | |
| |
| cd '/tmp' && '/usr/bin/npm' --prefix '/srv/www/main' ci --verbose | cd '/tmp' && '/usr/bin/npm' --prefix '/srv/www/main' ci --verbose |
| pm.process_idle_timeout = "30" | pm.process_idle_timeout = "30" |
| |
| php_value[log_errors] = "Off" | php_value[log_errors] = "0" |
| php_value[error_reporting] = "~E_ALL" | php_value[error_reporting] = "~E_ALL" |
| php_value[display_errors] = "Off" | php_value[display_errors] = "0" |
| php_value[display_startup_errors] = "Off" | php_value[display_startup_errors] = "0" |
| php_value[html_errors] = "Off" | php_value[html_errors] = "0" |
| |
| php_value[session.save_path] = "/var/lib/php8/sessions" | php_value[session.save_path] = "/var/lib/php8/sessions" |
| php_value[date.timezone] = "America/New_York" | php_value[date.timezone] = "America/New_York" |
| | |
| | php_value[output_buffering] = "0" |
| |
| ; End</code> | ; End</code> |
| # error_log '/var/log/nginx/main-error.log'; | # error_log '/var/log/nginx/main-error.log'; |
| |
| # location "~" "/installation/" { | # location '~' '/installation/' { |
| # deny "all"; | # deny 'all'; |
| | # } |
| | |
| | # location = '/installation/index.php' { |
| | # deny 'all'; |
| # } | # } |
| |
| * Disable Automated Updates | * Disable Automated Updates |
| * :!: Don't remove installation folder | * :!: Don't remove installation folder |
| | |
| | ===== Installer Deny ===== |
| | |
| | * Uncomment ''installation'' section |
| | * Do after initial setup |
| | |
| | sudo -e '/etc/nginx/vhosts.d/main.conf' && sudo systemctl reload 'nginx' |
| |
| ===== Compat Extension Fix ===== | ===== Compat Extension Fix ===== |
| * Trash Guided Tours | * Trash Guided Tours |
| * Site Template Styles -> ''[x]'' Cassiopeia Extended - Default | * Site Template Styles -> ''[x]'' Cassiopeia Extended - Default |
| | |
| | ===== Offline Message ===== |
| | |
| | <code> |
| | This website is being built behind-the-scenes, check back later! |
| | <br> |
| | In the meantime, check out my wiki: <a href="https://wiki.realmofespionage.xyz/">RoE | Wiki</a> |
| | <!--End--></code> |
| |
| ==== System Dashboard ==== | ==== System Dashboard ==== |
| |
| * Templates -> Site Template Styles | * Templates -> Site Template Styles |
| * Set ''purity_III - Default'' to Default | |
| |
| ==== Theme Settings ==== | ==== Theme Settings ==== |
| | |
| | * ''FBFAF9'' for **Body Background Colour** |
| |
| ==== Footer ==== | ==== Footer ==== |
| <p>(website is under construction and there aren't any links in the nav bar yet; my <a href="https://wiki.realmofespionage.xyz/">wiki</a> is far-more interesting! <a href="https://wiki.realmofespionage.xyz/user:espionage724">webmaster info</a>, <a href="https://wiki.realmofespionage.xyz/servers:linux:nginx:joomla" target="_blank" rel="noopener">dev notes</a>)</p> | <p>(website is under construction and there aren't any links in the nav bar yet; my <a href="https://wiki.realmofespionage.xyz/">wiki</a> is far-more interesting! <a href="https://wiki.realmofespionage.xyz/user:espionage724">webmaster info</a>, <a href="https://wiki.realmofespionage.xyz/servers:linux:nginx:joomla" target="_blank" rel="noopener">dev notes</a>)</p> |
| <!-- End --></code> | <!-- End --></code> |
| |
| ===== Offline Message ===== | |
| |
| <code> | |
| This site is being built behind-the-scenes, check back later! | |
| <br /> | |
| In the meantime, check out my wiki: <a href="https://wiki.realmofespionage.xyz/">RoE | Wiki</a></code> | |
| |
| ===== Menus ===== | ===== Menus ===== |
| * Menus -> Main Menu -> Home -> Link Type -> Display in Menu: No | * Menus -> Main Menu -> Home -> Link Type -> Display in Menu: No |
| * Menus -> Main Menu -> Home -> Page Display -> Show Page Heading: Hide | * Menus -> Main Menu -> Home -> Page Display -> Show Page Heading: Hide |
| |
| ====== Scripts ====== | |
| |
| ===== Git Fix ===== | |
| |
| * :!: Set email for ''user.email'' | |
| |
| sudo mkdir -p '/etc/nginx/scripts/main' && sudo -e '/etc/nginx/scripts/main/git-fix.sh' && sudo chmod '0500' '/etc/nginx/scripts/main/git-fix.sh' && sudo chown 'wwwrun':'www' '/etc/nginx/scripts/main/git-fix.sh' | |
| |
| <code> | |
| #!/bin/bash | |
| |
| cd '/tmp' | |
| |
| '/usr/bin/rm' -Rf '/srv/www/main/.git' | |
| '/usr/bin/git' -C '/srv/www/main' init --initial-branch='6.1-dev' | |
| '/usr/bin/git' -C '/srv/www/main' add '.' | |
| |
| ######################################## | |
| '/usr/bin/git' -C '/srv/www/main' config 'user.email' 'espionage724@x' | |
| ######################################## | |
| |
| '/usr/bin/git' -C '/srv/www/main' commit --message='x' | |
| |
| '/usr/bin/git' -C '/srv/www/main' remote add 'origin' 'https://github.com/joomla/joomla-cms.git' | |
| '/usr/bin/git' -C '/srv/www/main' pull --depth '1' --recurse-submodules 'origin' '6.1-dev' --rebase | |
| |
| '/usr/bin/git' -C '/srv/www/main' reset --hard 'origin/6.1-dev' | |
| '/usr/bin/git' -C '/srv/www/main' gc --aggressive --prune='all' | |
| '/usr/bin/git' -C '/srv/www/main' fsck --full --strict | |
| |
| # End</code> | |
| |
| ==== Execute ==== | |
| |
| sudo su 'wwwrun' -s '/bin/bash' | |
| |
| '/etc/nginx/scripts/main/git-fix.sh' | |
| |
| exit | |
| |
| ====== Services ====== | ====== Services ====== |
| Type=oneshot | Type=oneshot |
| |
| WorkingDirectory=/srv/www/main | WorkingDirectory=/tmp |
| Environment="COMPOSER_CACHE_DIR=/dev/null" | Environment="COMPOSER_CACHE_DIR=/dev/null" |
| | Environment="COMPOSER_DISCARD_CHANGES=true" |
| |
| ExecStart='/usr/bin/git' -C '/srv/www/main' reset --hard 'origin/6.1-dev' | ExecStart='/usr/bin/git' -C '/srv/www/main' reset --hard 'origin/7.0-dev' |
| ExecStart='/usr/bin/git' -C '/srv/www/main' pull origin '6.1-dev' --rebase | ExecStart='/usr/bin/git' -C '/srv/www/main' pull origin '7.0-dev' --rebase |
| |
| ExecStart='/usr/bin/composer' --working-dir='/srv/www/main' --no-cache install --no-dev | ExecStart='/usr/bin/php' -c '/etc/php8/fpm/php-fpm.d/main.conf' '/usr/bin/composer' --working-dir='/srv/www/main' --no-cache install --no-interaction --no-dev --ignore-platform-req='ext-ldap' |
| ExecStart='/usr/bin/npm' --prefix '/srv/www/main' ci --logs-max='0' | ExecStart='/usr/bin/npm' --prefix '/srv/www/main' ci --logs-max='0' |
| |
| ExecStartPost='/usr/bin/rm' -f '/srv/www/main/administrator/cache/autoload_psr4.php' | ExecStartPost='/usr/bin/rm' -f '/srv/www/main/administrator/cache/autoload_psr4.php' |
| ExecStartPost='/usr/bin/sync' | |
| |
| # End</code> | # End</code> |
| |
| === Service === | === Service === |
| | |
| | * [[linux:notes:ext4|ext4 NAS]] |
| |
| mkdir -p ~/'backups' && sudo -e '/etc/systemd/system/main-fb.service' && sudo sed -i 's/CHANGEME/'$USER'/g' '/etc/systemd/system/main-fb.service' | mkdir -p ~/'backups' && sudo -e '/etc/systemd/system/main-fb.service' && sudo sed -i 's/CHANGEME/'$USER'/g' '/etc/systemd/system/main-fb.service' |
| Type=oneshot | Type=oneshot |
| |
| WorkingDirectory=/srv/www/main | WorkingDirectory=/tmp |
| |
| ExecStart='/usr/bin/bash' -c '"/usr/bin/tar" -czf "/home/CHANGEME/backups/joomla-files-auto-"$$(date +%%Y-%%m-%%d)".tar.gz" -C "/srv/www" "main"' | ExecStart='/usr/bin/bash' -c '"/usr/bin/tar" -czf "/mnt/NAS1/Servers/Scheduled Backups/joomla-files-auto-"$$(date +%%Y-%%m-%%d)".tar.gz" -C "/srv/www" "main"' |
| |
| ExecStartPost='/usr/bin/sync' | #ExecStart='/usr/bin/bash' -c '"/usr/bin/tar" -czf "/home/CHANGEME/backups/joomla-files-auto-"$$(date +%%Y-%%m-%%d)".tar.gz" -C "/srv/www" "main"' |
| |
| # End</code> | # End</code> |
| |
| === Service === | === Service === |
| | |
| | * [[linux:notes:ext4|ext4 NAS]] |
| |
| mkdir -p ~/'backups' && sudo mkdir -p '/srv/lib/mysql/tmp' && sudo -e '/etc/systemd/system/main-db.service' && sudo sed -i 's/'CHANGEME'/'$USER'/g' '/etc/systemd/system/main-db.service' | mkdir -p ~/'backups' && sudo mkdir -p '/srv/lib/mysql/tmp' && sudo -e '/etc/systemd/system/main-db.service' && sudo sed -i 's/'CHANGEME'/'$USER'/g' '/etc/systemd/system/main-db.service' |
| Type=oneshot | Type=oneshot |
| |
| WorkingDirectory=/srv/lib/mysql | WorkingDirectory=/tmp |
| |
| ExecStart='/usr/bin/bash' -c '"/usr/bin/mariadb-dump" --defaults-extra-file="/srv/lib/mysql/auth/joomla" --single-transaction --quick "joomla_db" -r "/home/CHANGEME/backups/joomla-database-auto-"$$(date +%%Y-%%m-%%d)".sql"' | ExecStart='/usr/bin/bash' -c '"/usr/bin/mariadb-dump" --defaults-extra-file="/srv/lib/mysql/auth/joomla" --single-transaction --quick "joomla_db" -r "/mnt/NAS1/Servers/Scheduled Backups/joomla-database-auto-"$$(date +%%Y-%%m-%%d)".sql"' |
| |
| ExecStartPost='/usr/bin/sync' | #ExecStart='/usr/bin/bash' -c '"/usr/bin/mariadb-dump" --defaults-extra-file="/srv/lib/mysql/auth/joomla" --single-transaction --quick "joomla_db" -r "/home/CHANGEME/backups/joomla-database-auto-"$$(date +%%Y-%%m-%%d)".sql"' |
| |
| # End</code> | # End</code> |
| Type=oneshot | Type=oneshot |
| |
| WorkingDirectory=/srv/www/main | WorkingDirectory=/tmp |
| |
| ExecStart='/usr/bin/git' -C '/srv/www/main' gc --aggressive --prune='all' | ExecStart='/usr/bin/git' -C '/srv/www/main' gc --aggressive --prune='all' |
| ExecStart='/usr/bin/git' -C '/srv/www/main' fsck --full --strict | ExecStart='/usr/bin/git' -C '/srv/www/main' fsck --full --strict |
| |
| ExecStartPost='/usr/bin/sync' | |
| |
| # End</code> | # End</code> |
| sudo su 'wwwrun' -s '/bin/bash' | sudo su 'wwwrun' -s '/bin/bash' |
| |
| rm -Rf '/srv/www/main/.git' | cd '/tmp' && rm -Rf '/srv/www/main/.git' |
| |
| git -C '/srv/www/main' init --initial-branch='6.1-dev' | git -C '/srv/www/main' init --initial-branch='6.1-dev' |