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
Next revisionBoth sides next revision
servers:nginx:wordpress [2019/06/28 22:42] Sean Rhoneservers:nginx:wordpress [2023/09/12 14:34] – openSUSE TW -> Fedora Server (partial) Sean Rhone
Line 8: Line 8:
  
   * [[distros:fedora_server|Fedora Server]]   * [[distros:fedora_server|Fedora Server]]
-  * [[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 =====
  
-  * :!: 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]]
  
-====== Download Source ======+====== Dependencies ======
  
-****+  https://wordpress.org/about/requirements/ 
 +  https://make.wordpress.org/hosting/handbook/server-environment/
  
-  sudo git clone --branch 'master' --depth '1' --recurse-submodules 'https://github.com/WordPress/WordPress.git' '/var/www/blog' && sudo chown -R 'nginx':'nginx' '/var/www/blog' && sync+  :!TODO
  
-===== SELinux =====+  sudo dnf install 
  
-  sudo semanage fcontext --deleteall "/var/www/blog(/.*)?"+====== Old openSUSE ======
  
-  sudo semanage fcontext --add --type 'httpd_sys_rw_content_t' "/var/www/blog(/.*)?"+**** 
 + 
 +  sudo zypper install php8-curl php8-mysql php8-dom php8-exif php8-fileinfo php8-imagick php8-intl php8-mbstring php8-openssl php8-xmlreader php8-zip php8-bcmath php8-iconv php8-sodium php8-zlib 
 + 
 +====== Download Source ====== 
 + 
 +****
  
-  sudo restorecon -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 ======
  
-  mysql --user='root' --password+  sudo mysql
  
   CREATE DATABASE wordpress;   CREATE DATABASE wordpress;
Line 39: Line 46:
  
   FLUSH PRIVILEGES;   FLUSH PRIVILEGES;
 +
 +  EXIT
  
 ====== nginx + PHP-FPM Configuration ====== ====== nginx + PHP-FPM Configuration ======
Line 48: Line 57:
 <code> <code>
 [blog] [blog]
 +
 +; User/Group
 user = nginx user = nginx
 group = nginx group = nginx
  
 +; Socket
 listen = /run/php-fpm/blog.sock listen = /run/php-fpm/blog.sock
-listen.owner = nginx +listen.acl_users = nginx
-listen.group = nginx+
 listen.allowed_clients = 127.0.0.1 listen.allowed_clients = 127.0.0.1
  
-pm = dynamic +; Process Management 
-pm.max_children = 8 +pm = ondemand 
-pm.start_servers +pm.max_children = 4 
-pm.min_spare_servers = 2 +pm.process_idle_timeout 30
-pm.max_spare_servers = 4+
  
-php_value[date.timezone] = "America/New_York+; Fedora php.ini Defaults 
-php_value[upload_tmp_dir] = "/tmp"+php_value[session.save_handler] = "files
 +php_value[session.save_path] = "/var/lib/php/session"
  
 +; General
 +php_value[date.timezone] = "America/New_York"
 php_value[max_execution_time] = "200" php_value[max_execution_time] = "200"
 php_value[memory_limit] = "512M" php_value[memory_limit] = "512M"
Line 71: Line 84:
 php_value[max_file_uploads] = "100" php_value[max_file_uploads] = "100"
  
-php_value[session.save_handler] = files +; End</code> 
-php_value[session.save_path] = /var/lib/php/session + 
-php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache +<code> 
-php_value[opcache.file_cache] = /var/lib/php/opcache</code>+php_value[upload_tmp_dir] = "/tmp"</code>
  
 ===== FastCGI ===== ===== FastCGI =====
Line 95: Line 108:
 ===== 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/conf.d/blog.conf' && sudo systemctl reload 'nginx'+  sudo -e '/etc/nginx/vhosts.d/blog.conf' && sudo systemctl reload 'nginx' && sync
  
 <code> <code>
Line 111: Line 124:
     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 187: Line 200:
 ==== 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
Line 216: Line 229:
 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 240: Line 253:
 === Database Auth === === Database Auth ===
  
-  sudo -'mysql' -e '/var/lib/mysql/auth/wordpress' && sudo chmod '600' '/var/lib/mysql/auth/wordpress'+  sudo mkdir -'/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>
Line 300: Line 313:
 **** ****
  
-  sudo -u 'mysql' mysqldump --defaults-extra-file='/var/lib/mysql/auth/wordpress' --single-transaction 'wordpress' -r ~/'wordpress-database-manual-'$(date +%Y-%m-%d)'.sql' && sync+  sudo mysqldump --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 314: Line 327:
 **** ****
  
-  scp espionage724@192.168.1.153:~/'wordpress-files-'*'.tar.gz' espionage724@192.168.1.153:~/'wordpress-database-'*'.sql' ~/'Downloads' && sync+  scp espionage724@192.168.1.152:~/'wordpress-files-'*'.tar.gz' espionage724@192.168.1.152:~/'wordpress-database-'*'.sql' ~/'Downloads' && sync
  
 ====== Restore ====== ====== Restore ======
Line 330: Line 343:
 **** ****
  
-  scp ~/'Downloads/wordpress-files-'*'.tar.gz' ~/'Downloads/wordpress-database-'*'.sql' espionage724@192.168.1.153:~+  scp ~/'Downloads/wordpress-files-'*'.tar.gz' ~/'Downloads/wordpress-database-'*'.sql' espionage724@192.168.1.152:~
  
 ==== Remove Files ==== ==== Remove Files ====
Line 336: Line 349:
 **** ****
  
-  rm -f ~/'Downloads/wordpress-files-'*'.tar.gz' ~/'Downloads/wordpress-database-'*'.sql.gz' && sync+  rm -f ~/'Downloads/wordpress-files-'*'.tar.gz' ~/'Downloads/wordpress-database-'*'.sql' && sync
  
 ===== Server ===== ===== Server =====
Line 346: Line 359:
   sudo systemctl stop nginx php-fpm   sudo systemctl stop nginx php-fpm
  
-==== Restore WordPress Folder ====+==== Remove Previous Folder ====
  
 **** ****
  
-  cd '/var/www' && sudo tar -xvzf ~/'wordpress-files-'*'.tar.gz' 'blog' && sudo chown -R 'nginx':'nginx' '/var/www/blog' && cd ~ && sync+  sudo rm -Rf '/var/www/blog'
  
-==== SELinux ====+==== Restore WordPress Folder ====
  
-  sudo semanage fcontext --deleteall "/var/www/blog(/.*)?" +****
- +
-  sudo semanage fcontext --add --type 'httpd_sys_rw_content_t' "/var/www/blog(/.*)?"+
  
-  sudo restorecon -R -'/var/www/blog' && 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 ====
  
-  mysql --user='root' --password+  sudo mysql
  
   DROP DATABASE wordpress;   DROP DATABASE wordpress;
  
   FLUSH TABLES;   FLUSH TABLES;
 +
 +  EXIT
  
 ==== Re-create Databases ==== ==== Re-create Databases ====
  
-  mysql --user='root' --password+  sudo mysql
  
   CREATE DATABASE wordpress;   CREATE DATABASE wordpress;
 +
 +  EXIT
  
 ==== Restore Database ==== ==== Restore Database ====
Line 378: Line 393:
 **** ****
  
-  mysql --user='root' --password 'wordpress' < ~/'wordpress-database-'*'.sql' && sync+  sudo mysql 'wordpress' < ~/'wordpress-database-'*'.sql' && sync
  
 ==== Reapply Permissions ==== ==== Reapply Permissions ====
  
-  mysql --user='root' --password+  sudo mysql
  
   GRANT ALL PRIVILEGES ON wordpress.* to 'wordpress'@'localhost' IDENTIFIED BY 'x';   GRANT ALL PRIVILEGES ON wordpress.* to 'wordpress'@'localhost' IDENTIFIED BY 'x';
  
   FLUSH PRIVILEGES;   FLUSH PRIVILEGES;
 +
 +  EXIT
  
 ==== Start Services ==== ==== Start Services ====
Line 399: Line 416:
  
   rm ~/'wordpress-files-'*'.tar.gz' ~/'wordpress-database-'*'.sql' && sync   rm ~/'wordpress-files-'*'.tar.gz' ~/'wordpress-database-'*'.sql' && sync
 +
/var/www/wiki/data/pages/servers/nginx/wordpress.txt · Last modified: 2024/02/01 10:03 by Sean Rhone