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
Next revisionBoth sides next revision
servers:nginx:joomla [2019/06/28 21:43] – [Copyright] Sean Rhoneservers:nginx:joomla [2021/06/18 17:56] – openSUSE TW Sean Rhone
Line 9: Line 9:
 ===== Prerequisites ===== ===== Prerequisites =====
  
-  * [[distros:fedora_server|Fedora Server]] +  * [[distros:opensuse_tumbleweed_server|openSUSE Tumbleweed]] 
-  * [[servers:mariadb | MariaDB]] +  * [[servers:mariadb|MariaDB]] 
-  * [[servers:nginx_php_php-fpm | nginx + PHP + PHP-FPM]] +  * [[servers:nginx_php_php-fpm|nginx + PHP + PHP-FPM]] 
-  * [[servers:nginx:lets_encrypt | Let's Encrypt]]+  * [[servers:nginx:lets_encrypt|Let's Encrypt]]
  
 ===== Notes ===== ===== Notes =====
Line 26: Line 26:
 **** ****
  
-  sudo git clone --branch 'staging' --depth '1' --recurse-submodules 'https://github.com/joomla/joomla-cms.git' '/var/www/main' && sudo chown -R 'nginx':'nginx' '/var/www/main&& sync +  sudo git clone --branch 'staging' --depth '1' --recurse-submodules 'https://github.com/joomla/joomla-cms.git' '/srv/www/main' && sudo chown -R 'wwwrun':'www' '/srv/www/main' && sync
- +
-===== SELinux ===== +
- +
-  sudo semanage fcontext --deleteall "/var/www/main(/.*)?" +
- +
-  sudo semanage fcontext --add --type 'httpd_sys_rw_content_t' "/var/www/main(/.*)?" +
- +
-  sudo restorecon -R -v '/var/www/main' && sync+
  
 ====== Database ====== ====== Database ======
  
-  mysql --user='root' --password+  sudo mysql
  
   CREATE DATABASE joomla;   CREATE DATABASE joomla;
Line 45: Line 37:
  
   FLUSH PRIVILEGES;   FLUSH PRIVILEGES;
 +
 +  EXIT
  
 ====== nginx + PHP-FPM Configuration ====== ====== nginx + PHP-FPM Configuration ======
Line 50: Line 44:
 ===== PHP-FPM Socket ===== ===== PHP-FPM Socket =====
  
-  sudo -e '/etc/php-fpm.d/main.conf' && sudo systemctl restart 'php-fpm'+  sudo -e '/etc/php7/fpm/php-fpm.d/main.conf' && sudo systemctl restart 'php-fpm'
  
 <code> <code>
 [main] [main]
-user = nginx +user = wwwrun 
-group = nginx+group = www
  
-listen = /run/php-fpm/main.sock +listen = 127.0.0.1:9003 
-listen.owner = nginx +listen.owner = wwwrun 
-listen.group = nginx+listen.group = www
 listen.allowed_clients = 127.0.0.1 listen.allowed_clients = 127.0.0.1
  
-pm = dynamic +pm = ondemand 
-pm.max_children = 8 +pm.max_children = 4 
-pm.start_servers +pm.process_idle_timeout 30
-pm.min_spare_servers = 2 +
-pm.max_spare_servers = 4+
  
 php_value[date.timezone] = "America/New_York" php_value[date.timezone] = "America/New_York"
Line 75: Line 67:
 php_value[post_max_size] = "10M" php_value[post_max_size] = "10M"
 php_value[upload_max_filesize] = "10M" php_value[upload_max_filesize] = "10M"
-php_value[max_file_uploads] = "100" +php_value[max_file_uploads] = "100"</code>
- +
-php_value[session.save_handler] = files +
-php_value[session.save_path] = /var/lib/php/session +
-php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache +
-php_value[opcache.file_cache] = /var/lib/php/opcache</code>+
  
 ===== FastCGI ===== ===== FastCGI =====
  
-  sudo -e '/etc/nginx/default.d/main.conf'+  sudo -e '/etc/nginx/snippets.d/main.conf'
  
 <code> <code>
Line 96: Line 83:
     fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;     fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
     fastcgi_param PATH_INFO $fastcgi_path_info;     fastcgi_param PATH_INFO $fastcgi_path_info;
-    fastcgi_pass unix:/run/php-fpm/main.sock;+    fastcgi_pass 127.0.0.1:9003;
 }</code> }</code>
  
 ===== Server Block ===== ===== Server Block =====
  
-  sudo -e '/etc/nginx/conf.d/main.conf' && sudo systemctl reload 'nginx'+  sudo -e '/etc/nginx/vhosts.d/main.conf' && sudo systemctl reload 'nginx' && sync
  
 <code> <code>
Line 107: Line 94:
     listen '443' 'ssl' 'http2';     listen '443' 'ssl' 'http2';
     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/default.d/main.conf'; +    include 'snippets.d/main.conf'; 
-    include '/etc/nginx/default.d/headers.conf';+    include 'snippets.d/headers.conf';
  
     client_max_body_size '10M';     client_max_body_size '10M';
Line 227: Line 214:
 **** ****
  
-  sudo --'nginx' wget 'https://licensebuttons.net/l/by-sa/4.0/80x15.png' -'/var/www/main/images/cc-by-sa-40.png'+  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 'wwwrun':'www' '/srv/www/main/images/cc-by-sa-40.png' && sync
  
 === Text === === Text ===
Line 234: Line 221:
   * Remove ''Bootstrap by Twitter'' and ''Font Awesome'' mentions   * Remove ''Bootstrap by Twitter'' and ''Font Awesome'' mentions
  
-  sudo -H -u 'nginx' -e '/var/www/main/templates/purity_iii/tpls/blocks/footer.php'+  sudo -e 'srv/www/main/templates/purity_iii/tpls/blocks/footer.php' && sudo chown 'wwwrun':'www' 'srv/www/main/templates/purity_iii/tpls/blocks/footer.php'
  
 <code> <code>
Line 248: Line 235:
   * Requires [[servers:nginx:joomla#purity_iii | Purity III Template]]   * Requires [[servers:nginx:joomla#purity_iii | Purity III Template]]
  
-  sudo -H -u 'nginx-e '/var/www/main/templates/purity_iii/css/custom.css'+  sudo -'/srv/www/main/templates/purity_iii/css/custom.css' && sudo chown 'wwwrun':'www' '/srv/www/main/templates/purity_iii/css/custom.css'
  
   html,   html,
Line 309: Line 296:
 <code> <code>
 [Service] [Service]
-User=nginx +User=wwwrun 
-Group=nginx+Group=www
 Type=oneshot Type=oneshot
-ExecStart='/usr/bin/git' -C '/var/www/main' pull origin 'staging'+ExecStart='/usr/bin/git' -C '/srv/www/main' pull origin 'staging'
 ExecStartPost='/usr/bin/sync'</code> ExecStartPost='/usr/bin/sync'</code>
  
Line 342: Line 329:
 <code> <code>
 [Service] [Service]
-User=nginx +User=wwwrun 
-Group=nginx+Group=www
 Type=oneshot Type=oneshot
-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'</code> ExecStartPost='/usr/bin/sync'</code>
  
Line 379: Line 366:
 [Service] [Service]
 Type=oneshot Type=oneshot
-WorkingDirectory=/var/www+WorkingDirectory=/srv/www
 ExecStart='/usr/bin/bash' -c '"/usr/bin/tar" -cvzf "/home/CHANGEME/backups/joomla-files-auto-"$$(date +%%Y-%%m-%%d)".tar.gz" "main"' ExecStart='/usr/bin/bash' -c '"/usr/bin/tar" -cvzf "/home/CHANGEME/backups/joomla-files-auto-"$$(date +%%Y-%%m-%%d)".tar.gz" "main"'
 ExecStartPost='/usr/bin/sync'</code> ExecStartPost='/usr/bin/sync'</code>
Line 404: Line 391:
 === Database Auth === === Database Auth ===
  
-  sudo -'mysql' -e '/var/lib/mysql/auth/joomla' && sudo chmod '600' '/var/lib/mysql/auth/joomla'+  sudo mkdir -'/var/lib/mysql/auth&& sudo -e '/var/lib/mysql/auth/joomla' && sudo chown -R 'mysql':'mysql' '/var/lib/mysql/joomla' && sudo chmod '600' '/var/lib/mysql/auth/joomla' && sync
  
 <code> <code>
Line 413: Line 400:
 === Service === === Service ===
  
-  * :!: TODO: Figure out folder struture here +  mkdir -p ~/'backups' && sudo mkdir -'/var/lib/mysql/tmp&& sudo chown -R 'mysql':'mysql' '/var/lib/mysql/tmp' && sudo chmod '600' '/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 -'mysql' mkdir -'/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'+
  
 <code> <code>
Line 460: Line 445:
 **** ****
  
-  cd '/var/www' && sudo tar -cvzf ~/'joomla-files-manual-'$(date +%Y-%m-%d)'.tar.gz' 'main' && cd ~ && sync+  cd '/srv/www' && sudo tar -cvzf ~/'joomla-files-manual-'$(date +%Y-%m-%d)'.tar.gz' 'main' && cd ~ && sync
  
 ==== Backup Database ==== ==== Backup Database ====
Line 466: Line 451:
 **** ****
  
-  sudo -u 'mysql' mysqldump --defaults-extra-file='/var/lib/mysql/auth/joomla' --single-transaction 'joomla' -r ~/'joomla-database-manual-'$(date +%Y-%m-%d)'.sql' && sync+  sudo mysqldump --defaults-extra-file='/var/lib/mysql/auth/joomla' --single-transaction 'joomla' -r ~/'joomla-database-manual-'$(date +%Y-%m-%d)'.sql' && sync
  
 ==== Start Services ==== ==== Start Services ====
Line 480: Line 465:
 **** ****
  
-  scp espionage724@192.168.1.153:~/'joomla-files-'*'.tar.gz' espionage724@192.168.1.153:~/'joomla-database-'*'.sql' ~/'Downloads' && sync+  scp espionage724@192.168.1.152:~/'joomla-files-'*'.tar.gz' espionage724@192.168.1.152:~/'joomla-database-'*'.sql' ~/'Downloads' && sync
  
 ====== Restore ====== ====== Restore ======
Line 496: Line 481:
 **** ****
  
-  scp ~/'Downloads/joomla-files-'*'.tar.gz' ~/'Downloads/joomla-database-'*'.sql' espionage724@192.168.1.153:~+  scp ~/'Downloads/joomla-files-'*'.tar.gz' ~/'Downloads/joomla-database-'*'.sql' espionage724@192.168.1.152:~
  
 ==== Remove Files ==== ==== Remove Files ====
Line 516: Line 501:
 **** ****
  
-  cd '/var/www' && sudo tar -xvzf ~/'joomla-files-'*'.tar.gz' 'main' && sudo chown -R 'nginx':'nginx' '/var/www/main' && cd ~ && sync +  cd '/srv/www' && sudo tar -xvzf ~/'joomla-files-'*'.tar.gz' 'main' && sudo chown -R 'wwwrun':'www' '/srv/www/main' && cd ~ && sync
- +
-==== SELinux ==== +
- +
-  sudo semanage fcontext --deleteall "/var/www/main(/.*)?" +
- +
-  sudo semanage fcontext --add --type 'httpd_sys_rw_content_t' "/var/www/main(/.*)?" +
- +
-  sudo restorecon -R -v '/var/www/main' && sync+
  
 ==== Drop Previous Database ==== ==== Drop Previous Database ====
  
-  mysql --user='root' --password+  sudo mysql
  
   DROP DATABASE joomla;   DROP DATABASE joomla;
  
   FLUSH TABLES;   FLUSH TABLES;
 +
 +  EXIT
  
 ==== Re-create Databases ==== ==== Re-create Databases ====
  
-  mysql --user='root' --password+  sudo mysql
  
   CREATE DATABASE joomla;   CREATE DATABASE joomla;
 +
 +  EXIT
  
 ==== Restore Database ==== ==== Restore Database ====
Line 544: Line 525:
 **** ****
  
-  mysql --user='root' --password 'joomla' < ~/'joomla-database-'*'.sql' && sync+  sudo mysql 'joomla' < ~/'joomla-database-'*'.sql' && sync
  
 ==== Reapply Permissions ==== ==== Reapply Permissions ====
  
-  mysql --user='root' --password+  sudo mysql
  
   GRANT ALL PRIVILEGES ON joomla.* to 'joomla'@'localhost' IDENTIFIED BY 'x';   GRANT ALL PRIVILEGES ON joomla.* to 'joomla'@'localhost' IDENTIFIED BY 'x';
  
   FLUSH PRIVILEGES;   FLUSH PRIVILEGES;
 +
 +  EXIT
  
 ==== Start Services ==== ==== Start Services ====
Line 565: Line 548:
  
   rm ~/'joomla-files-'*'.tar.gz' ~/'joomla-database-'*'.sql' && sync   rm ~/'joomla-files-'*'.tar.gz' ~/'joomla-database-'*'.sql' && sync
 +
/var/www/wiki/data/pages/servers/nginx/joomla.txt · Last modified: 2024/02/01 08:15 by Sean Rhone