servers:bsd:nginx:piwigo
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
servers:bsd:nginx:piwigo [2025/05/16 21:35] – Sean Rhone | servers:bsd:nginx:piwigo [2025/05/24 05:45] (current) – Sean Rhone | ||
---|---|---|---|
Line 3: | Line 3: | ||
* Piwigo ((https:// | * Piwigo ((https:// | ||
* Bootstrap Darkroom Theme ((https:// | * Bootstrap Darkroom Theme ((https:// | ||
- | * '' | ||
* [[Information: | * [[Information: | ||
* https:// | * https:// | ||
- | |||
- | * :!: WIP | ||
===== Prerequisites ===== | ===== Prerequisites ===== | ||
Line 181: | Line 178: | ||
// Minimal Logging | // Minimal Logging | ||
$conf[' | $conf[' | ||
+ | |||
+ | // Hide PHP Warnings | ||
+ | $conf[' | ||
// Header Links | // Header Links | ||
Line 186: | Line 186: | ||
' | ' | ||
' | ' | ||
- | ' | ||
' | ' | ||
- | ' | + | ' |
- | ' | + | ' |
); | ); | ||
Line 215: | Line 214: | ||
su -m ' | su -m ' | ||
- | ===== Etc ===== | + | ===== Maintenance |
==== Media ==== | ==== Media ==== | ||
Line 229: | Line 228: | ||
su -m ' | su -m ' | ||
- | | + | |
- | + | ||
- | su -m ' | + | |
==== Theme ==== | ==== Theme ==== | ||
Line 244: | Line 241: | ||
su -m ' | su -m ' | ||
- | |||
- | su -m ' | ||
- | |||
- | su -m ' | ||
- | |||
- | ====== Services ====== | ||
- | |||
- | ===== Updater ===== | ||
- | |||
- | ==== Service ==== | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | [Service] | ||
- | User=nginx | ||
- | Group=nginx | ||
- | Type=oneshot | ||
- | WorkingDirectory=/ | ||
- | ExecStart='/ | ||
- | ExecStart='/ | ||
- | ExecStartPost='/ | ||
- | |||
- | ==== Timer ==== | ||
- | |||
- | * Every day at '' | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | [Unit] | ||
- | Description=Piwigo Updater | ||
- | After=network-online.target | ||
- | Wants=network-online.target | ||
- | |||
- | [Timer] | ||
- | OnCalendar=*-*-* 05:00:00 | ||
- | Persistent=true | ||
- | |||
- | [Install] | ||
- | WantedBy=timers.target</ | ||
- | |||
- | ===== Maintenance ===== | ||
- | |||
- | ==== Service ==== | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | [Service] | ||
- | User=nginx | ||
- | Group=nginx | ||
- | Type=oneshot | ||
- | ExecStart='/ | ||
- | ExecStart='/ | ||
- | ExecStart='/ | ||
- | ExecStart='/ | ||
- | ExecStartPost='/ | ||
- | |||
- | ==== Timer ==== | ||
- | |||
- | * '' | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | [Unit] | ||
- | Description=Piwigo Maintenance | ||
- | After=network-online.target | ||
- | Wants=network-online.target | ||
- | |||
- | [Timer] | ||
- | OnCalendar=*-*-01 05:20:00 | ||
- | Persistent=true | ||
- | |||
- | [Install] | ||
- | WantedBy=timers.target</ | ||
- | |||
- | ===== Backup ===== | ||
- | |||
- | ==== Files ==== | ||
- | |||
- | === Service === | ||
- | |||
- | mkdir -p ~/' | ||
- | |||
- | < | ||
- | [Service] | ||
- | Type=oneshot | ||
- | WorkingDirectory=/ | ||
- | ExecStart='/ | ||
- | ExecStartPost='/ | ||
- | |||
- | === Timer === | ||
- | |||
- | * '' | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | [Unit] | ||
- | Description=Piwigo Files Backup | ||
- | |||
- | [Timer] | ||
- | OnCalendar=*-*-01 05:35:00 | ||
- | Persistent=true | ||
- | |||
- | [Install] | ||
- | WantedBy=timers.target</ | ||
- | |||
- | ==== Database ==== | ||
- | |||
- | === Database Auth === | ||
- | |||
- | sudo mkdir -p '/ | ||
- | |||
- | < | ||
- | [mariadb-dump] | ||
- | user=piwigo | ||
- | password=x</ | ||
- | |||
- | === Service === | ||
- | |||
- | mkdir -p ~/' | ||
- | |||
- | < | ||
- | [Service] | ||
- | Type=oneshot | ||
- | WorkingDirectory=/ | ||
- | ExecStartPre='/ | ||
- | ExecStart='/ | ||
- | ExecStart='/ | ||
- | ExecStartPost='/ | ||
- | |||
- | === Timer === | ||
- | |||
- | * Every day at '' | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | [Unit] | ||
- | Description=Piwigo Database Backup | ||
- | After=mariadb.service | ||
- | |||
- | [Timer] | ||
- | OnCalendar=*-*-* 05:45:00 | ||
- | Persistent=true | ||
- | |||
- | [Install] | ||
- | WantedBy=timers.target</ | ||
====== Backup ====== | ====== Backup ====== | ||
- | * Create backup archive on server and transfer to client computer | + | ===== Folder ===== |
- | ===== Server ===== | + | su - |
- | ==== Stop Services ==== | + | cd '/ |
- | **** | + | ===== Database ===== |
- | + | ||
- | sudo systemctl stop nginx php-fpm | + | |
- | + | ||
- | ==== Backup Folder | + | |
**** | **** | ||
- | | + | |
- | ==== Backup Database | + | ===== scp ===== |
- | + | ||
- | **** | + | |
- | + | ||
- | sudo mariadb-dump --defaults-extra-file='/ | + | |
- | + | ||
- | ==== Start Services ==== | + | |
- | + | ||
- | **** | + | |
- | + | ||
- | sudo systemctl start nginx php-fpm | + | |
- | + | ||
- | ===== Client ===== | + | |
- | + | ||
- | ==== Transfer Files To Client | + | |
**** | **** | ||
Line 436: | Line 264: | ||
====== Restore ====== | ====== Restore ====== | ||
- | ===== Client | + | ===== scp ===== |
- | + | ||
- | ==== Uncompress Database ==== | + | |
- | + | ||
- | * This is only needed if restoring an **automated** database backup ((manual doesn' | + | |
- | + | ||
- | gunzip ~/' | + | |
- | + | ||
- | ==== Transfer Files To Server | + | |
**** | **** | ||
Line 450: | Line 270: | ||
scp ~/' | scp ~/' | ||
- | ==== Remove Files ==== | + | ===== Folder ===== |
- | + | ||
- | **** | + | |
- | + | ||
- | rm -f ~/' | + | |
- | + | ||
- | ===== Server ===== | + | |
- | + | ||
- | ==== Stop Services ==== | + | |
- | + | ||
- | **** | + | |
- | + | ||
- | sudo systemctl stop nginx php-fpm | + | |
- | + | ||
- | ==== Remove Previous | + | |
- | + | ||
- | **** | + | |
- | + | ||
- | sudo rm -Rf '/ | + | |
- | + | ||
- | ==== Restore Piwigo Folder ==== | + | |
- | + | ||
- | **** | + | |
- | + | ||
- | cd '/ | + | |
- | + | ||
- | ==== Drop Previous Database ==== | + | |
- | + | ||
- | sudo mariadb | + | |
- | + | ||
- | DROP DATABASE piwigo; | + | |
- | + | ||
- | FLUSH TABLES; | + | |
- | + | ||
- | EXIT | + | |
- | + | ||
- | ==== Re-create Databases ==== | + | |
- | + | ||
- | sudo mariadb | + | |
- | + | ||
- | CREATE DATABASE piwigo; | + | |
- | + | ||
- | EXIT | + | |
- | + | ||
- | ==== Restore Database ==== | + | |
- | + | ||
- | **** | + | |
- | + | ||
- | sudo mariadb ' | + | |
- | + | ||
- | ==== Reapply Permissions ==== | + | |
- | + | ||
- | sudo mariadb | + | |
- | + | ||
- | GRANT ALL PRIVILEGES ON piwigo.* to ' | + | |
- | + | ||
- | FLUSH PRIVILEGES; | + | |
- | + | ||
- | EXIT | + | |
- | + | ||
- | ==== Start Services ==== | + | |
- | + | ||
- | **** | + | |
- | + | ||
- | sudo systemctl start nginx php-fpm | + | |
- | + | ||
- | ==== Remove Backups ==== | + | |
- | + | ||
- | * Verify that Piwigo works before running | + | |
- | + | ||
- | rm ~/' | + | |
- | + | ||
- | ====== Restore ====== | + | |
- | + | ||
- | ===== Files ===== | + | |
su - | su - | ||
Line 530: | Line 276: | ||
rm -Rf '/ | rm -Rf '/ | ||
- | cd '/ | + | cd '/ |
===== Database ===== | ===== Database ===== | ||
Line 538: | Line 284: | ||
mariadb -u ' | mariadb -u ' | ||
- | mariadb -u ' | + | mariadb -u ' |
/srv/www/wiki/data/attic/servers/bsd/nginx/piwigo.1747445731.txt.gz · Last modified: by Sean Rhone