User Tools

Site Tools


servers:linux: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:linux:nginx:joomla [2025/12/22 20:30] Sean Rhoneservers:linux:nginx:joomla [2026/01/01 08:08] (current) – [Service] Sean Rhone
Line 7: Line 7:
 ===== Prerequisites ===== ===== Prerequisites =====
  
-  * [[linux:distros:server:ubuntu_server|Ubuntu Server]]+  * [[linux:distros:server:opensuse_tumbleweed_server|openSUSE Tumbleweed (Server)]]
   * [[servers:linux:nginx_php_php-fpm|nginx + PHP + PHP-FPM]]   * [[servers:linux:nginx_php_php-fpm|nginx + PHP + PHP-FPM]]
   * [[servers:linux:nginx:lets_encrypt|Certbot (Let's Encrypt)]]   * [[servers:linux:nginx:lets_encrypt|Certbot (Let's Encrypt)]]
Line 19: Line 19:
   * https://docs.joomla.org/J5.x:Optional_Technical_Requirements   * https://docs.joomla.org/J5.x:Optional_Technical_Requirements
  
-  sudo apt install composer nodejs npm php-xml php-gd php-mysql php-mbstring php-mcrypt php-curl php-intl php-json php-ldap+  sudo zypper install nodejs-common php-composer2 php-gd php8-intl php-ldap php8-mysql php8-openssl php8-sodium php8-fileinfo php8-mbstring
  
 ====== Download Source ====== ====== Download Source ======
Line 26: Line 26:
   * https://github.com/joomla/joomla-cms/branches   * https://github.com/joomla/joomla-cms/branches
  
-  sudo git clone --branch '6.1-dev' --depth '1' --recurse-submodules 'https://github.com/joomla/joomla-cms.git' '/var/www/main' && sudo chown -R 'www-data':'www-data' '/var/www/main' && sudo chmod -R '0755' '/var/www/main'+  sudo git clone --branch '6.1-dev' --depth '1' --recurse-submodules 'https://github.com/joomla/joomla-cms.git' '/srv/www/main' && sudo chown -R 'wwwrun':'www' '/srv/www/main' && sudo chmod -R '0755' '/srv/www/main'
  
 ====== Environment ====== ====== Environment ======
Line 34: Line 34:
 ===== Composer ===== ===== Composer =====
  
-  sudo su 'www-data' -s '/bin/bash'+  sudo su 'wwwrun' -s '/bin/bash'
  
-  cd '/tmp' && composer --working-dir='/var/www/main' --no-cache install --no-dev+  cd '/tmp' && '/usr/bin/composer--working-dir='/srv/www/main' --no-cache install --no-dev
  
 ===== Node.js ===== ===== Node.js =====
  
-  ''--force'' allow unsupported ''npm'' 9+  sudo su 'wwwrun' -'/bin/bash'
  
-  sudo su 'www-data' -s '/bin/bash' +  cd '/tmp' && '/usr/bin/npm' --prefix '/srv/www/main' ci --verbose
- +
-  cd '/tmp' && CYPRESS_CACHE_FOLDER='/var/www/main' '/usr/bin/node' '/usr/share/nodejs/npm/bin/npm-cli.js' --prefix '/var/www/main' ci --cache '/var/www/main' --force --verbose+
  
   exit   exit
Line 64: Line 62:
 ===== PHP-FPM Socket ===== ===== PHP-FPM Socket =====
  
-  sudo -e '/etc/php/8.4/fpm/pool.d/main.conf' && sudo systemctl restart 'php8.4-fpm'+  sudo -e '/etc/php8/fpm/php-fpm.d/main.conf' && sudo systemctl restart 'php-fpm'
  
 <code> <code>
Line 70: Line 68:
  
 ; User/Group ; User/Group
-user = "www-data+user = "wwwrun
-group = "www-data"+group = "www"
  
 ; Socket ; Socket
-listen = "/run/php/main.sock" +listen = "/run/php-fpm/main.sock" 
-listen.owner = "www-data+listen.owner = "wwwrun
-listen.group = "www-data"+listen.group = "www"
 listen.mode = "0662" listen.mode = "0662"
  
Line 87: Line 85:
 php_value[log_errors] = "0" php_value[log_errors] = "0"
 php_value[error_reporting] = "~E_ALL" php_value[error_reporting] = "~E_ALL"
 +
 +; openSUSE php.ini Defaults
 +php_value[session.save_path] = "/var/lib/php8/sessions"
  
 ; General ; General
Line 95: Line 96:
 ===== FastCGI ===== ===== FastCGI =====
  
-  sudo -e '/etc/nginx/snippets/main.conf'+  sudo -e '/etc/nginx/default.d/main.conf'
  
 <code> <code>
Line 108: Line 109:
  fastcgi_param 'HTTPS' 'on';  fastcgi_param 'HTTPS' 'on';
  
- fastcgi_pass 'unix:/run/php/main.sock';+ fastcgi_pass 'unix:/run/php-fpm/main.sock';
  
 } }
Line 118: Line 119:
   * [[https://docs.joomla.org/Nginx|Nginx - Joomla! Documentation]]   * [[https://docs.joomla.org/Nginx|Nginx - Joomla! Documentation]]
  
-  sudo -e '/etc/nginx/sites-available/main.conf'+  sudo -e '/etc/nginx/vhosts.d/main.conf' && sudo systemctl reload 'nginx'
  
 <code> <code>
Line 126: Line 127:
  http2 'on';  http2 'on';
  server_name 'realmofespionage.xyz';  server_name 'realmofespionage.xyz';
- root '/var/www/main';+ root '/srv/www/main';
  index 'index.php';  index 'index.php';
  
- include '/etc/nginx/snippets/main.conf'; + include '/etc/nginx/default.d/main.conf'; 
- include '/etc/nginx/snippets/headers.conf';+ include '/etc/nginx/default.d/headers.conf';
  
 # access_log '/var/log/nginx/main-access.log'; # access_log '/var/log/nginx/main-access.log';
Line 159: Line 160:
  
 # End</code> # End</code>
- 
-  sudo ln -s -f '/etc/nginx/sites-available/main.conf' '/etc/nginx/sites-enabled/main.conf' && sudo systemctl reload 'nginx' 
  
 ====== Initial Setup ====== ====== Initial Setup ======
Line 173: Line 172:
   * https://github.com/joomla/joomla-cms/issues/43876   * https://github.com/joomla/joomla-cms/issues/43876
  
-  sudo rm -fv '/var/www/main/administrator/cache/autoload_psr4.php'+  sudo rm -fv '/srv/www/main/administrator/cache/autoload_psr4.php'
  
 ====== Settings ====== ====== Settings ======
 +
 +  * Disable Sample plugins
 +  * Trash Guided Tours
 +  * Site Template Styles -> ''[x]'' Cassiopeia Extended - Default
  
 ==== System Dashboard ==== ==== System Dashboard ====
Line 194: Line 197:
 **** ****
  
-  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+  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' '/srv/www/main/images/cc-by-sa-40.png' && sudo chown 'nginx':'nginx' '/srv/www/main/images/cc-by-sa-40.png' && sudo restorecon -F -I -R '/srv/www/main/images/cc-by-sa-40.png' && sync
  
 == Text == == Text ==
Line 201: Line 204:
   * Remove ''Bootstrap by Twitter'' and ''Font Awesome'' mentions   * Remove ''Bootstrap by Twitter'' and ''Font Awesome'' mentions
  
-  sudo -e '/var/www/main/templates/purity_iii/tpls/blocks/footer.php' && sudo chown 'nginx':'nginx' '/var/www/main/templates/purity_iii/tpls/blocks/footer.php'+  sudo -e '/srv/www/main/templates/purity_iii/tpls/blocks/footer.php' && sudo chown 'nginx':'nginx' '/srv/www/main/templates/purity_iii/tpls/blocks/footer.php'
  
 <code> <code>
Line 279: Line 282:
   * :!: Set email for ''user.email''   * :!: 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 'www-data':'www-data' '/etc/nginx/scripts/main/git-fix.sh'+  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> <code>
Line 286: Line 289:
 cd '/tmp' cd '/tmp'
  
-'/usr/bin/rm' -Rf '/var/www/main/.git' +'/usr/bin/rm' -Rf '/srv/www/main/.git' 
-'/usr/bin/git' -C '/var/www/main' init --initial-branch='6.1-dev' +'/usr/bin/git' -C '/srv/www/main' init --initial-branch='6.1-dev' 
-'/usr/bin/git' -C '/var/www/main' add '.'+'/usr/bin/git' -C '/srv/www/main' add '.'
  
 ######################################## ########################################
-'/usr/bin/git' -C '/var/www/main' config 'user.email' 'espionage724@x'+'/usr/bin/git' -C '/srv/www/main' config 'user.email' 'espionage724@x'
 ######################################## ########################################
  
-'/usr/bin/git' -C '/var/www/main' commit --message='x'+'/usr/bin/git' -C '/srv/www/main' commit --message='x'
  
-'/usr/bin/git' -C '/var/www/main' remote add 'origin' 'https://github.com/joomla/joomla-cms.git' +'/usr/bin/git' -C '/srv/www/main' remote add 'origin' 'https://github.com/joomla/joomla-cms.git' 
-'/usr/bin/git' -C '/var/www/main' pull --depth '1' --recurse-submodules 'origin' '6.1-dev' --rebase+'/usr/bin/git' -C '/srv/www/main' pull --depth '1' --recurse-submodules 'origin' '6.1-dev' --rebase
  
-'/usr/bin/git' -C '/var/www/main' reset --hard 'origin/6.1-dev' +'/usr/bin/git' -C '/srv/www/main' reset --hard 'origin/6.1-dev' 
-'/usr/bin/git' -C '/var/www/main' gc --aggressive --prune='all' +'/usr/bin/git' -C '/srv/www/main' gc --aggressive --prune='all' 
-'/usr/bin/git' -C '/var/www/main' fsck --full --strict+'/usr/bin/git' -C '/srv/www/main' fsck --full --strict
  
 # End</code> # End</code>
  
-  sudo -u 'www-data' '/etc/nginx/scripts/main/git-fix.sh'+==== Execute ==== 
 + 
 +  sudo su 'wwwrun' -s '/bin/bash' 
 + 
 +  '/etc/nginx/scripts/main/git-fix.sh' 
 + 
 +  exit
  
 ====== Services ====== ====== Services ======
Line 317: Line 326:
 <code> <code>
 [Service] [Service]
-User=www-data +User=wwwrun 
-Group=www-data+Group=www
 Type=oneshot Type=oneshot
  
-WorkingDirectory=/var/www/main +WorkingDirectory=/srv/www/main 
-Environment="CYPRESS_CACHE_FOLDER='/var/www/main'"+Environment="COMPOSER_CACHE_DIR=/dev/null"
  
-ExecStart='/usr/bin/git' -C '/var/www/main' reset --hard 'origin/6.1-dev' +ExecStart='/usr/bin/git' -C '/srv/www/main' reset --hard 'origin/6.1-dev' 
-ExecStart='/usr/bin/git' -C '/var/www/main' pull origin '6.1-dev' --rebase+ExecStart='/usr/bin/git' -C '/srv/www/main' pull origin '6.1-dev' --rebase
  
-ExecStart='/usr/bin/composer' --working-dir='/var/www/main' --no-cache install --no-dev +ExecStart='/usr/bin/composer' --working-dir='/srv/www/main' --no-cache install --no-dev 
-ExecStart='/usr/bin/node' '/usr/share/nodejs/npm/bin/npm-cli.js' --prefix '/var/www/main' ci --cache '/var/www/main' --force --logs-max='0'+ExecStart='/usr/bin/npm' --prefix '/srv/www/main' ci --logs-max='0'
  
-ExecStartPost='/usr/bin/rm' -f '/var/www/main/administrator/cache/autoload_psr4.php'+ExecStartPost='/usr/bin/rm' -f '/srv/www/main/administrator/cache/autoload_psr4.php'
 ExecStartPost='/usr/bin/sync' ExecStartPost='/usr/bin/sync'
  
Line 368: Line 377:
 Type=oneshot Type=oneshot
  
-WorkingDirectory=/var/www/main+WorkingDirectory=/srv/www/main
  
-ExecStart='/usr/bin/bash' -c '"/usr/bin/tar" -czf "/home/CHANGEME/backups/joomla-files-auto-"$$(date +%%Y-%%m-%%d)".tar.gz" -C "/var/www" "main"'+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"'
  
 ExecStartPost='/usr/bin/sync' ExecStartPost='/usr/bin/sync'
Line 401: Line 410:
 === Database Auth === === Database Auth ===
  
-  sudo mkdir -p '/var/lib/mysql/auth' && sudo -e '/var/lib/mysql/auth/joomla' && sudo chown 'mysql':'mysql' '/var/lib/mysql/auth/joomla' && sudo chmod '0600' '/var/lib/mysql/auth/joomla'+  sudo mkdir -p '/srv/lib/mysql/auth' && sudo -e '/srv/lib/mysql/auth/joomla' && sudo chown 'mysql':'mysql' '/srv/lib/mysql/auth/joomla' && sudo chmod '0600' '/srv/lib/mysql/auth/joomla'
  
 <code> <code>
Line 412: Line 421:
 === Service === === Service ===
  
-  mkdir -p ~/'backups' && sudo mkdir -p '/var/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'
  
 <code> <code>
Line 419: Line 428:
 Type=oneshot Type=oneshot
  
-WorkingDirectory=/var/lib/mysql+WorkingDirectory=/srv/lib/mysql
  
-ExecStart='/usr/bin/bash' -c '"/usr/bin/mariadb-dump" --defaults-extra-file="/var/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 "/home/CHANGEME/backups/joomla-database-auto-"$$(date +%%Y-%%m-%%d)".sql"'
  
 ExecStartPost='/usr/bin/sync' ExecStartPost='/usr/bin/sync'
Line 455: Line 464:
 <code> <code>
 [Service] [Service]
-User=www-data +User=wwwrun 
-Group=www-data+Group=www
 Type=oneshot Type=oneshot
  
-WorkingDirectory=/var/www/main+WorkingDirectory=/srv/www/main
  
-ExecStart='/usr/bin/git' -C '/var/www/main' gc --aggressive --prune='all' +ExecStart='/usr/bin/git' -C '/srv/www/main' gc --aggressive --prune='all' 
-ExecStart='/usr/bin/git' -C '/var/www/main' fsck --full --strict+ExecStart='/usr/bin/git' -C '/srv/www/main' fsck --full --strict
  
 ExecStartPost='/usr/bin/sync' ExecStartPost='/usr/bin/sync'
Line 497: Line 506:
 **** ****
  
-  sudo tar -czf ~/'joomla-files-manual-'$(date +%Y-%m-%d)'.tar.gz' -C '/var/www' 'main'+  sudo tar -czf ~/'joomla-files-manual-'$(date +%Y-%m-%d)'.tar.gz' -C '/srv/www' 'main'
  
 ===== Database ===== ===== Database =====
Line 529: Line 538:
 **** ****
  
-  ls ~/'joomla-files-'*'.tar.gz' && sudo rm -Rf '/var/www/main'+  ls ~/'joomla-files-'*'.tar.gz' && sudo rm -Rf '/srv/www/main'
  
 ===== Restore Files ===== ===== Restore Files =====
Line 535: Line 544:
 **** ****
  
-  sudo tar -xzf ~/'joomla-files-'*'.tar.gz' -C '/var/www' 'main' && sudo chown -R 'www-data':'www-data' '/var/www/main' && sudo chmod -R '0755' '/var/www/main'+  sudo tar -xzf ~/'joomla-files-'*'.tar.gz' -C '/srv/www' 'main' && sudo chown -R 'wwwrun':'www' '/srv/www/main' && sudo chmod -R '0755' '/srv/www/main'
  
 ===== Git Fix ===== ===== Git Fix =====
Line 541: Line 550:
   * :!: Set email for ''user.email''   * :!: Set email for ''user.email''
  
-  sudo su 'www-data' -s '/bin/bash'+  sudo su 'wwwrun' -s '/bin/bash'
  
-  rm -Rf '/var/www/main/.git'+  rm -Rf '/srv/www/main/.git'
  
-  git -C '/var/www/main' init --initial-branch='6.1-dev'+  git -C '/srv/www/main' init --initial-branch='6.1-dev'
  
-  git -C '/var/www/main' add '.'+  git -C '/srv/www/main' add '.'
  
-  git -C '/var/www/main' config 'user.email' 'espionage724@x'+  git -C '/srv/www/main' config 'user.email' 'espionage724@x'
  
-  git -C '/var/www/main' commit --message='x'+  git -C '/srv/www/main' commit --message='x'
  
-  git -C '/var/www/main' remote add 'origin' 'https://github.com/joomla/joomla-cms.git'+  git -C '/srv/www/main' remote add 'origin' 'https://github.com/joomla/joomla-cms.git'
  
-  git -C '/var/www/main' pull --depth '1' --recurse-submodules 'origin' '6.1-dev' --rebase+  git -C '/srv/www/main' pull --depth '1' --recurse-submodules 'origin' '6.1-dev' --rebase
  
-  git -C '/var/www/main' reset --hard 'origin/6.1-dev'+  git -C '/srv/www/main' reset --hard 'origin/6.1-dev'
  
-  git -C '/var/www/main' gc --aggressive --prune='all'+  git -C '/srv/www/main' gc --aggressive --prune='all'
  
-  git -C '/var/www/main' fsck --full --strict+  git -C '/srv/www/main' fsck --full --strict
  
   exit   exit
/var/www/wiki/data/attic/servers/linux/nginx/joomla.1766453454.txt.gz · Last modified: by Sean Rhone

Except where otherwise noted, content on this wiki is licensed under the following license: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki