servers:bsd:nginx:wordpress
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| servers:bsd:nginx:wordpress [2025/05/16 19:44] – Sean Rhone | servers:bsd:nginx:wordpress [2025/10/31 02:11] (current) – Sean Rhone | ||
|---|---|---|---|
| Line 4: | Line 4: | ||
| * [[Information: | * [[Information: | ||
| * https:// | * https:// | ||
| - | |||
| - | * 2025/05/16: WIP | ||
| ===== Prerequisites ===== | ===== Prerequisites ===== | ||
| - | * [[bsd: | + | * [[bsd: |
| - | * [[servers: | + | * [[servers: |
| - | * [[servers: | + | |
| * [[servers: | * [[servers: | ||
| + | * [[servers: | ||
| ====== Dependencies ====== | ====== Dependencies ====== | ||
| Line 21: | Line 19: | ||
| su - | su - | ||
| - | pkg install git-lite | + | pkg install git-lite |
| ====== Download Source ====== | ====== Download Source ====== | ||
| + | |||
| + | * https:// | ||
| su - | su - | ||
| - | git clone --branch ' | + | git clone --branch ' |
| ====== Database ====== | ====== Database ====== | ||
| - | mariadb | + | |
| + | |||
| + | | ||
| CREATE DATABASE wordpress; | CREATE DATABASE wordpress; | ||
| Line 39: | Line 41: | ||
| GRANT ALL PRIVILEGES ON wordpress.* to wordpress@localhost; | GRANT ALL PRIVILEGES ON wordpress.* to wordpress@localhost; | ||
| - | FLUSH PRIVILEGES; | + | FLUSH PRIVILEGES; |
| - | + | ||
| - | | + | |
| ====== nginx + PHP-FPM Configuration ====== | ====== nginx + PHP-FPM Configuration ====== | ||
| Line 49: | Line 49: | ||
| su - | su - | ||
| - | ee '/ | + | ee '/ |
| < | < | ||
| Line 69: | Line 69: | ||
| ; General | ; General | ||
| php_value[date.timezone] = " | php_value[date.timezone] = " | ||
| + | |||
| + | ; Errors | ||
| + | php_value[error_reporting] = " | ||
| + | php_value[display_errors] = " | ||
| ; End</ | ; End</ | ||
| Line 76: | Line 80: | ||
| su - | su - | ||
| - | ee '/ | + | ee '/ |
| < | < | ||
| - | # PHP-FPM | ||
| location ~ \.(php|phar)(/ | location ~ \.(php|phar)(/ | ||
| fastcgi_split_path_info ^(.+\.(?: | fastcgi_split_path_info ^(.+\.(?: | ||
| Line 95: | Line 98: | ||
| ===== Server Block ===== | ===== Server Block ===== | ||
| - | | + | |
| - | | + | |
| < | < | ||
| server { | server { | ||
| - | listen | + | listen 443 ssl; |
| + | | ||
| server_name ' | server_name ' | ||
| - | root '/var/ | + | root '/usr/local/ |
| index ' | index ' | ||
| - | include '/etc/nginx/ | + | include '/usr/local/etc/freenginx/ |
| - | include '/etc/nginx/ | + | include '/usr/local/etc/freenginx/ |
| client_max_body_size ' | client_max_body_size ' | ||
| - | # add_header Content-Security-Policy " | + | # access_log |
| - | + | # error_log | |
| - | # access_log | + | |
| - | # error_log | + | |
| location / { | location / { | ||
| Line 125: | Line 127: | ||
| access_log off; log_not_found off; expires max; | access_log off; log_not_found off; expires max; | ||
| } | } | ||
| - | }</ | + | } |
| + | |||
| + | # End</ | ||
| ====== Initial Setup ====== | ====== Initial Setup ====== | ||
| * https:// | * https:// | ||
| + | * Database Host: '' | ||
| ====== Settings ====== | ====== Settings ====== | ||
| Line 135: | Line 140: | ||
| * Date Format: Y/m/d | * Date Format: Y/m/d | ||
| - | ====== Services ====== | + | ===== wp-config.php |
| - | ===== Updater ===== | + | * :!: WordPress set-up needs to generate this file first ((put settings in the '' |
| + | * Doesn' | ||
| - | ==== Service ==== | + | su - |
| - | | + | |
| < | < | ||
| - | [Service] | + | define( |
| - | User=nginx | + | |
| - | Group=nginx | + | |
| - | Type=oneshot | + | |
| - | ExecStart='/ | + | |
| - | ExecStartPost='/ | + | |
| - | ==== Timer ==== | + | define( ' |
| + | define( ' | ||
| - | | + | /* End */</ |
| - | sudo -e '/ | + | ====== Scripts ====== |
| - | < | + | ===== Updater ===== |
| - | [Unit] | + | |
| - | Description=WordPress Git Updater | + | |
| - | After=network-online.target | + | |
| - | Wants=network-online.target | + | |
| - | [Timer] | + | mkdir -p ~/' |
| - | OnCalendar=*-*-* 04:00:00 | + | |
| - | Persistent=true | + | |
| - | [Install] | + | < |
| - | WantedBy=timers.target</code> | + | #!/bin/sh |
| - | ===== Maintenance ===== | + | su -m ' |
| + | su -m ' | ||
| - | ==== Service ==== | + | # End</ |
| - | | + | |
| - | < | + | su 'root' -c ~/'.local/scripts/www/blog/updater.sh' |
| - | [Service] | + | |
| - | User=nginx | + | |
| - | Group=nginx | + | |
| - | Type=oneshot | + | |
| - | ExecStart='/ | + | |
| - | ExecStart='/usr/ | + | |
| - | ExecStartPost=' | + | |
| - | ==== Timer ==== | + | ===== Maintenance ===== |
| - | | + | |
| - | + | ||
| - | sudo -e '/etc/systemd/ | + | |
| < | < | ||
| - | [Unit] | + | #!/bin/sh |
| - | Description=WordPress Maintenance | + | |
| - | After=network-online.target | + | |
| - | Wants=network-online.target | + | |
| - | [Timer] | + | su -m ' |
| - | OnCalendar=*-*-01 04:20:00 | + | su -m ' |
| - | Persistent=true | + | |
| - | [Install] | + | '/usr/ |
| - | WantedBy=timers.target< | + | |
| - | ===== Backup ===== | + | # End</ |
| - | ==== Files ==== | + | ~/' |
| - | === Service === | + | su ' |
| - | mkdir -p ~/' | + | ===== Git Fix ===== |
| - | < | + | * :!: Set email for '' |
| - | [Service] | + | * :!: [[# |
| - | Type=oneshot | + | |
| - | WorkingDirectory=/ | + | |
| - | ExecStart='/ | + | |
| - | ExecStartPost='/ | + | |
| - | === Timer === | + | mkdir -p ~/' |
| - | * '' | + | < |
| + | #!/bin/sh | ||
| - | sudo -e '/etc/systemd/system/blog-fb.timer' | + | su -m ' |
| + | su -m 'www' -c " | ||
| + | su -m 'www' -c "git -C '/ | ||
| - | < | + | ################################################## |
| - | [Unit] | + | su -m ' |
| - | Description=WordPress Files Backup | + | ################################################## |
| - | [Timer] | + | su -m ' |
| - | OnCalendar=*-*-01 04:35:00 | + | |
| - | Persistent=true | + | |
| - | [Install] | + | su -m ' |
| - | WantedBy=timers.target</code> | + | su -m ' |
| - | ==== Database ==== | + | su -m ' |
| + | su -m ' | ||
| + | su -m ' | ||
| - | === Database Auth === | + | # End</ |
| - | | + | |
| - | < | + | su ' |
| - | [mariadb-dump] | + | |
| - | user=wordpress | + | |
| - | password=x< | + | |
| - | === Service | + | ====== cron ====== |
| - | mkdir -p ~/' | + | ===== Updater ===== |
| - | < | + | * 02:00AM Every day |
| - | [Service] | + | |
| - | Type=oneshot | + | |
| - | WorkingDirectory=/ | + | |
| - | ExecStartPre='/ | + | |
| - | ExecStart='/ | + | |
| - | ExecStart='/ | + | |
| - | ExecStartPost='/ | + | |
| - | === Timer === | + | su - |
| - | | + | |
| - | + | ||
| - | sudo -e '/etc/systemd/ | + | |
| < | < | ||
| - | [Unit] | + | # |
| - | Description=WordPress Database Backup | + | SHELL=/bin/sh |
| - | After=mariadb.service | + | |
| - | [Timer] | + | 0 2 * * * root '/ |
| - | OnCalendar=*-*-* 04:45:00 | + | |
| - | Persistent=true | + | |
| - | [Install] | + | # End</ |
| - | WantedBy=timers.target</ | + | |
| ====== Backup ====== | ====== Backup ====== | ||
| - | * Create backup archive on server and transfer to client computer | + | ===== Folder ===== |
| - | ===== Server ===== | + | su - |
| - | ==== Stop Services ==== | + | tar -czf '/ |
| - | **** | + | ===== Database ===== |
| - | + | ||
| - | sudo systemctl stop nginx php-fpm | + | |
| - | + | ||
| - | ==== Backup Folder | + | |
| **** | **** | ||
| - | | + | |
| - | ==== Backup Database | + | ===== scp ===== |
| **** | **** | ||
| - | | + | scp espionage724@192.168.1.152: |
| - | + | ||
| - | ==== Start Services ==== | + | |
| - | + | ||
| - | **** | + | |
| - | + | ||
| - | sudo systemctl start nginx php-fpm | + | |
| - | + | ||
| - | ===== Client ===== | + | |
| - | + | ||
| - | ==== Transfer Files To Client ==== | + | |
| - | + | ||
| - | **** | + | |
| - | + | ||
| - | | + | |
| ====== Restore ====== | ====== Restore ====== | ||
| - | ===== Client | + | ===== scp ===== |
| - | + | ||
| - | ==== Uncompress Database ==== | + | |
| - | + | ||
| - | * This is only needed if restoring an **automated** database backup ((manual doesn' | + | |
| - | + | ||
| - | gunzip ~/' | + | |
| - | + | ||
| - | ==== Transfer Files To Server | + | |
| **** | **** | ||
| - | scp ~/' | + | scp ~/' |
| - | ==== Remove Files ==== | + | ===== Folder ===== |
| - | **** | + | su - |
| - | rm -f ~/'Downloads/wordpress-files-' | + | rm -Rf '/usr/local/www/blog' |
| - | ===== Server ===== | + | tar -xzf '/ |
| - | ==== Stop Services | + | ===== Database ===== |
| - | **** | + | |
| - | | + | |
| - | ==== Remove Previous Folder ==== | + | cat ~/' |
| - | **** | + | ===== Settings ===== |
| - | | + | |
| - | + | ||
| - | ==== Restore WordPress Folder ==== | + | |
| - | + | ||
| - | **** | + | |
| - | + | ||
| - | cd '/ | + | |
| - | + | ||
| - | ==== Drop Previous Database ==== | + | |
| - | + | ||
| - | sudo mariadb | + | |
| - | + | ||
| - | DROP DATABASE wordpress; | + | |
| - | + | ||
| - | FLUSH TABLES; | + | |
| - | + | ||
| - | EXIT | + | |
| - | + | ||
| - | ==== Re-create Databases ==== | + | |
| - | + | ||
| - | sudo mariadb | + | |
| - | + | ||
| - | CREATE DATABASE wordpress; | + | |
| - | + | ||
| - | EXIT | + | |
| - | + | ||
| - | ==== Restore Database ==== | + | |
| - | + | ||
| - | **** | + | |
| - | + | ||
| - | sudo mariadb ' | + | |
| - | + | ||
| - | ==== Reapply Permissions ==== | + | |
| - | + | ||
| - | sudo mariadb | + | |
| - | + | ||
| - | GRANT ALL PRIVILEGES ON wordpress.* to ' | + | |
| - | + | ||
| - | FLUSH PRIVILEGES; | + | |
| - | + | ||
| - | EXIT | + | |
| - | + | ||
| - | ==== Start Services ==== | + | |
| - | + | ||
| - | **** | + | |
| - | + | ||
| - | sudo systemctl start nginx php-fpm | + | |
| - | ==== Remove Backups ==== | + | su -m ' |
| - | | + | |
| - | | + | |
/usr/local/www/wiki/data/attic/servers/bsd/nginx/wordpress.1747439067.txt.gz · Last modified: by Sean Rhone
