User Tools

Site Tools


servers:nginx:wordpress

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
Last revisionBoth sides next revision
servers:nginx:wordpress [2022/07/20 14:12] Sean Rhoneservers:nginx:wordpress [2023/09/13 03:35] – [Timer] Sean Rhone
Line 4: Line 4:
   * [[Information:Realm of Espionage]]   * [[Information:Realm of Espionage]]
   * https://blog.realmofespionage.xyz   * https://blog.realmofespionage.xyz
- 
-  * :!: TODO: This is being refactored 
  
 ===== Prerequisites ===== ===== Prerequisites =====
Line 16: Line 14:
 ===== Notes ===== ===== Notes =====
  
-  * :!: Do not initiate any updates from the Admin/wp-admin web page as this may cause local file changes and break the automatic update service+  * :!: Do not initiate any updates from the Admin/wp-admin web page as this may cause local file changes and break [[#updater|the automatic update service]] 
 + 
 +====== Dependencies ====== 
 + 
 +  * https://wordpress.org/about/requirements/ 
 +  * https://make.wordpress.org/hosting/handbook/server-environment/#php-extensions 
 + 
 +  sudo dnf install php-mysqlnd php-xml php-pecl-igbinary php-imagick php-intl php-mbstring php-pecl-zip php-sodium php-bcmath php-gd php-process
  
 ====== Download Source ====== ====== Download Source ======
Line 22: Line 27:
 **** ****
  
-  sudo git clone --branch 'master' --depth '1' --recurse-submodules 'https://github.com/WordPress/WordPress.git' '/var/www/blog' && sudo chown -'nginx':'nginx' '/var/www/blog' && sudo restorecon -F -I -R '/var/www/blog' && sync+  sudo git clone --branch 'master' --depth '1' --recurse-submodules 'https://github.com/WordPress/WordPress.git' '/var/www/blog' && sudo semanage fcontext --add --type 'httpd_sys_rw_content_t' '/var/www/blog(/.*)?' && sudo restorecon -F -I -R '/var/www/blog' && sudo chown -R 'nginx':'nginx' '/var/www/blog' && sync
  
 ====== Database ====== ====== Database ======
  
-  sudo mysql+  sudo mariadb
  
   CREATE DATABASE wordpress;   CREATE DATABASE wordpress;
Line 84: Line 89:
 location ~ \.(php|phar)(/.*)?$ { location ~ \.(php|phar)(/.*)?$ {
     fastcgi_split_path_info ^(.+\.(?:php|phar))(/.*)$;     fastcgi_split_path_info ^(.+\.(?:php|phar))(/.*)$;
- 
     fastcgi_intercept_errors on;     fastcgi_intercept_errors on;
-    fastcgi_index  index.php; +    fastcgi_index index.php; 
-    include        fastcgi_params; +    include fastcgi_params; 
-    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/blog.sock;+    fastcgi_pass unix:/run/php-fpm/blog.sock;
 }</code> }</code>
  
 ===== Server Block ===== ===== Server Block =====
  
-  * :!''style-src'' in the CSP blocks a Google font URL from being loaded ((at least with the Twenty Seventeen theme; nothing appears broken, so looks good to me)) ((add ''fonts.googleapis.com'' after ''unsafe-inline'' in ''style-src'' to fix this))+  * 2023/09/12CSPs disabled; TODORe-figure out CSPs
  
   sudo -e '/etc/nginx/vhosts.d/blog.conf' && sudo systemctl reload 'nginx' && sync   sudo -e '/etc/nginx/vhosts.d/blog.conf' && sudo systemctl reload 'nginx' && sync
Line 104: Line 108:
     server_name 'blog.realmofespionage.xyz';     server_name 'blog.realmofespionage.xyz';
     root '/var/www/blog';     root '/var/www/blog';
-    index '/var/www/blog/index.php';+    index 'index.php';
  
     include '/etc/nginx/default.d/blog.conf';     include '/etc/nginx/default.d/blog.conf';
Line 111: Line 115:
     client_max_body_size '10M';     client_max_body_size '10M';
  
-    add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; font-src 'self' data:; img-src 'self' data: s.w.org" always;+#    add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; font-src 'self' data:; img-src 'self' data: s.w.org" always;
  
-#    access_log  /var/log/nginx/blog-access.log; +#    access_log  /var/log/nginx/media-access.log; 
-#    error_log  /var/log/nginx/blog-error.log;+#    error_log  /var/log/nginx/media-error.log;
  
     location / {     location / {
Line 134: Line 138:
  
   * Date Format: Y/m/d   * Date Format: Y/m/d
- 
-====== Logs ====== 
- 
-===== Enable ===== 
- 
-  * Uncomment ''access_log'' and ''error_log'' 
- 
-  sudo -e '/etc/nginx/vhosts.d/blog.conf' && sudo systemctl reload 'nginx' && sync 
- 
-===== Logs ===== 
- 
-  sudo -e '/var/log/nginx/blog-access.log' 
- 
-  sudo -e '/var/log/nginx/blog-error.log' 
- 
-===== Disable ===== 
- 
-  * Comment ''access_log'' and ''error_log'' 
- 
-  sudo -e '/etc/nginx/vhosts.d/blog.conf' && sudo systemctl reload 'nginx' && sudo rm '/var/log/nginx/blog-access.log' '/var/log/nginx/blog-error.log' && sync 
  
 ====== Services ====== ====== Services ======
Line 207: Line 191:
 ==== Timer ==== ==== Timer ====
  
-  * ''01'' day of every month at ''04:20:00''+  * ''01'' day of every month at ''04:20:00'' ((8-)))
  
-  sudo -e '/etc/systemd/system/blog-m.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'blog-m.timer' --now+  sudo -e '/etc/systemd/system/blog-m.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'blog-m.timer' --now && sudo systemctl start 'blog-m' && sudo systemctl status 'blog-m' -l
  
 <code> <code>
Line 236: Line 220:
 Type=oneshot Type=oneshot
 WorkingDirectory=/var/www WorkingDirectory=/var/www
-ExecStart='/usr/bin/bash' -c '"/usr/bin/tar" -cvzf "/home/CHANGEME/backups/wordpress-files-auto-"$$(date +%%Y-%%m-%%d)".tar.gz" "blog"'+ExecStart='/usr/bin/bash' -c '"/usr/bin/tar" -czf "/home/CHANGEME/backups/wordpress-files-auto-"$$(date +%%Y-%%m-%%d)".tar.gz" "blog"'
 ExecStartPost='/usr/bin/sync'</code> ExecStartPost='/usr/bin/sync'</code>
  
Line 260: Line 244:
 === Database Auth === === Database Auth ===
  
-  sudo mkdir -p '/var/lib/mysql/auth' && sudo -e '/var/lib/mysql/auth/wordpress' && sudo chown -R 'mysql':'mysql' '/var/lib/mysql/wordpress' && sudo chmod '600' '/var/lib/mysql/auth/wordpress' && sync+  sudo mkdir -p '/var/lib/mysql/auth' && sudo -e '/var/lib/mysql/auth/wordpress' && sudo chown -R 'mysql':'mysql' '/var/lib/mysql/auth/wordpress' && sudo chmod '600' '/var/lib/mysql/auth/wordpress' && sync
  
 <code> <code>
-[mysqldump]+[mariadb-dump]
 user=wordpress user=wordpress
 password=x</code> password=x</code>
Line 269: Line 253:
 === Service === === Service ===
  
-  mkdir -p ~/'backups' && sudo mkdir -p '/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/blog-db.service' && sudo sed -i 's/'CHANGEME'/'$USER'/g' '/etc/systemd/system/blog-db.service'+  mkdir -p ~/'backups' && sudo mkdir -p '/var/lib/mysql/tmp' && sudo -e '/etc/systemd/system/blog-db.service' && sudo sed -i 's/'CHANGEME'/'$USER'/g' '/etc/systemd/system/blog-db.service'
  
 <code> <code>
Line 275: Line 259:
 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/wordpress' --single-transaction 'wordpress' -r '/var/lib/mysql/tmp/wordpress.sql'+ExecStartPre='/usr/bin/mariadb-dump' --defaults-extra-file='/var/lib/mysql/auth/wordpress' --single-transaction 'wordpress' -r '/var/lib/mysql/tmp/wordpress.sql'
 ExecStart='/usr/bin/gzip' -f '/var/lib/mysql/tmp/wordpress.sql' ExecStart='/usr/bin/gzip' -f '/var/lib/mysql/tmp/wordpress.sql'
 ExecStart='/usr/bin/bash' -c '"/usr/bin/mv" "/var/lib/mysql/tmp/wordpress.sql.gz" "/home/CHANGEME/backups/wordpress-database-auto-"$$(date +%%Y-%%m-%%d)".sql.gz"' ExecStart='/usr/bin/bash' -c '"/usr/bin/mv" "/var/lib/mysql/tmp/wordpress.sql.gz" "/home/CHANGEME/backups/wordpress-database-auto-"$$(date +%%Y-%%m-%%d)".sql.gz"'
Line 320: Line 304:
 **** ****
  
-  sudo mysqldump --defaults-extra-file='/var/lib/mysql/auth/wordpress' --single-transaction 'wordpress' -r ~/'wordpress-database-manual-'$(date +%Y-%m-%d)'.sql' && sync+  sudo mariadb-dump --defaults-extra-file='/var/lib/mysql/auth/wordpress' --single-transaction 'wordpress' -r ~/'wordpress-database-manual-'$(date +%Y-%m-%d)'.sql' && sync
  
 ==== Start Services ==== ==== Start Services ====
Line 376: Line 360:
 **** ****
  
-  cd '/var/www' && sudo tar -xvzf ~/'wordpress-files-'*'.tar.gz' 'blog' && sudo chown -R 'nginx':'nginx' '/var/www/blog' && sudo restorecon -F -I -R '/var/www/blog' && cd ~ && sync+  cd '/var/www' && sudo tar -xvzf ~/'wordpress-files-'*'.tar.gz' 'blog' && sudo chown -R 'nginx':'nginx' '/var/www/blog' && sudo semanage fcontext --add --type 'httpd_sys_rw_content_t' '/var/www/blog(/.*)?' && sudo restorecon -F -I -R '/var/www/blog' && cd ~ && sync
  
 ==== Drop Previous Database ==== ==== Drop Previous Database ====
  
-  sudo mysql+  sudo mariadb
  
   DROP DATABASE wordpress;   DROP DATABASE wordpress;
Line 390: Line 374:
 ==== Re-create Databases ==== ==== Re-create Databases ====
  
-  sudo mysql+  sudo mariadb
  
   CREATE DATABASE wordpress;   CREATE DATABASE wordpress;
Line 400: Line 384:
 **** ****
  
-  sudo mysql 'wordpress' < ~/'wordpress-database-'*'.sql' && sync+  sudo mariadb 'wordpress' < ~/'wordpress-database-'*'.sql' && sync
  
 ==== Reapply Permissions ==== ==== Reapply Permissions ====
  
-  sudo mysql+  sudo mariadb
  
   GRANT ALL PRIVILEGES ON wordpress.* to 'wordpress'@'localhost' IDENTIFIED BY 'x';   GRANT ALL PRIVILEGES ON wordpress.* to 'wordpress'@'localhost' IDENTIFIED BY 'x';
/var/www/wiki/data/pages/servers/nginx/wordpress.txt · Last modified: 2024/02/01 10:03 by Sean Rhone