servers:linux:nginx:mybb
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
servers:linux:nginx:mybb [2024/08/13 22:18] – created Sean Rhone | servers:linux:nginx:mybb [2025/09/13 00:52] (current) – Sean Rhone | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Information ====== | ====== Information ====== | ||
- | * MyBB ((https:// | + | * MyBB |
- | * [[Information:Realm of Espionage]] | + | * [[information:realm_of_espionage|Realm of Espionage]] |
* https:// | * https:// | ||
===== Prerequisites ===== | ===== Prerequisites ===== | ||
- | * [[distros:fedora_server | + | * [[linux:distros:server: |
- | * [[servers:mariadb | MariaDB]] | + | * [[servers:linux: |
- | * [[servers: | + | * [[servers:linux: |
- | * [[servers: | + | * [[servers: |
+ | |||
+ | ====== Dependencies ====== | ||
+ | |||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | sudo zypper install php-composer2 | ||
====== Download Source ====== | ====== Download Source ====== | ||
- | **** | + | |
- | sudo git clone -b 'feature' ' | + | sudo git clone --branch |
+ | |||
+ | ====== Environment ====== | ||
+ | |||
+ | * https:// | ||
+ | |||
+ | ===== Composer ===== | ||
+ | |||
+ | sudo su 'wwwrun' | ||
+ | |||
+ | cd '/tmp' && | ||
+ | |||
+ | exit | ||
====== Database ====== | ====== Database ====== | ||
- | | + | |
CREATE DATABASE mybb; | CREATE DATABASE mybb; | ||
- | GRANT ALL PRIVILEGES ON mybb.* to ' | + | |
+ | |||
+ | | ||
FLUSH PRIVILEGES; | FLUSH PRIVILEGES; | ||
+ | |||
+ | EXIT | ||
====== nginx + PHP-FPM Configuration ====== | ====== nginx + PHP-FPM Configuration ====== | ||
Line 32: | Line 55: | ||
===== PHP-FPM Socket ===== | ===== PHP-FPM Socket ===== | ||
- | sudo -e '/ | + | sudo -e '/etc/php8/fpm/php-fpm.d/forum.conf' && sudo systemctl |
- | | + | < |
- | user = nginx | + | [forum] |
- | group = nginx | + | |
- | + | ; User/ | |
- | listen = / | + | user = " |
- | listen.owner = nginx | + | group = " |
- | listen.group = nginx | + | |
- | listen.allowed_clients | + | ; Socket |
- | + | listen = "/ | |
- | pm = dynamic | + | listen.owner = " |
- | pm.max_children = 5 | + | listen.group = " |
- | pm.start_servers | + | listen.mode = " |
- | | + | |
- | pm.max_spare_servers = 3 | + | ; Process Management |
- | + | pm = " | |
- | php_admin_value[error_log] = /var/log/php-fpm/www-error.log | + | pm.max_children = " |
- | | + | pm.process_idle_timeout |
- | + | ||
- | php_value[session.save_handler] = files | + | ; openSUSE php.ini Defaults |
- | php_value[session.save_path] = /var/ | + | php_value[session.save_path] = "/var/lib/php8/sessions" |
+ | |||
+ | ; General | ||
+ | php_value[log_errors] = " | ||
+ | php_value[error_reporting] = " | ||
+ | php_value[date.timezone] = " | ||
+ | php_value[max_execution_time] = " | ||
+ | php_value[memory_limit] = " | ||
+ | php_value[post_max_size] = " | ||
+ | php_value[upload_max_filesize] = " | ||
+ | php_value[max_file_uploads] = " | ||
+ | |||
+ | ; End</code> | ||
===== FastCGI ===== | ===== FastCGI ===== | ||
- | | + | |
- | location ~ \.php$ { | + | |
- | fastcgi_split_path_info ^(.+\.php)(/ | + | |
- | | + | < |
- | set $path_info $fastcgi_path_info; | + | location ~ \.(php|phar)(/ |
- | fastcgi_param PATH_INFO $path_info; | + | fastcgi_split_path_info ^(.+\.(?:php|phar))(/.*)$; |
- | include fastcgi.conf; | + | fastcgi_intercept_errors on; |
- | | + | fastcgi_index index.php; |
- | fastcgi_index index.php; | + | |
- | fastcgi_param SCRIPT_FILENAME | + | |
- | fastcgi_param | + | fastcgi_param |
- | fastcgi_pass unix:/ | + | fastcgi_pass unix:/ |
- | } | + | } |
+ | |||
+ | # End</ | ||
===== Server Block ===== | ===== Server Block ===== | ||
- | sudo -e '/ | + | sudo -e '/ |
- | | + | < |
- | listen ' | + | server { |
- | server_name ' | + | listen ' |
- | root '/var/www/forums'; | + | |
- | index ' | + | server_name ' |
- | + | root '/srv/www/forum'; | |
- | include '/ | + | index ' |
- | include '/ | + | |
- | + | include '/ | |
- | #access_log / | + | include '/ |
- | #error_log / | + | |
- | + | | |
- | | + | |
- | | + | # access_log |
- | | + | # error_log |
- | rewrite ^/ | + | |
- | rewrite ^/ | + | } |
- | rewrite ^/ | + | |
- | rewrite ^/ | + | # End</code> |
- | rewrite ^/ | + | |
- | rewrite ^/ | + | |
- | rewrite ^/ | + | |
- | rewrite ^/ | + | |
- | rewrite ^/ | + | |
- | rewrite ^/ | + | |
- | rewrite ^/ | + | |
- | rewrite ^/ | + | |
- | rewrite ^/ | + | |
- | rewrite ^/ | + | |
- | } | + | |
- | } | + | |
====== Initial Setup ====== | ====== Initial Setup ====== | ||
- | * Use 4-Byte UTF-8 Unicode Table Encoding | + | * https:// |
+ | |||
+ | ====== Settings ====== | ||
+ | |||
+ | * TODO | ||
+ | |||
+ | ===== Offline Message ===== | ||
+ | |||
+ | * Configuration | ||
+ | |||
+ | < | ||
+ | These forums are being built behind-the-scenes, | ||
+ | <br /> | ||
+ | In the meantime, check out my wiki: <a href=" | ||
+ | </ | ||
+ | |||
+ | ===== config.php ===== | ||
+ | |||
+ | * https:// | ||
+ | |||
+ | sudo su ' | ||
+ | |||
+ | nano '/ | ||
+ | |||
+ | < | ||
+ | $config[' | ||
- | | + | |
====== Services ====== | ====== Services ====== | ||
Line 120: | Line 170: | ||
==== Service ==== | ==== Service ==== | ||
- | sudo -e '/ | + | sudo -e '/ |
- | | + | < |
- | User=nginx | + | [Service] |
- | Group=nginx | + | User=wwwrun |
- | Type=oneshot | + | Group=www |
- | ExecStart='/ | + | Type=oneshot |
- | ExecStart='/ | + | |
+ | Environment=" | ||
+ | |||
+ | ExecStart='/ | ||
+ | |||
+ | ExecStart='/ | ||
+ | |||
+ | ExecStartPost='/ | ||
+ | |||
+ | # End</ | ||
==== Timer ==== | ==== Timer ==== | ||
- | sudo -e '/ | + | |
+ | |||
+ | | ||
+ | |||
+ | < | ||
+ | [Unit] | ||
+ | Description=MyBB Git Updater | ||
+ | After=network-online.target | ||
+ | Wants=network-online.target | ||
+ | |||
+ | [Timer] | ||
+ | OnCalendar=*-*-* 05:00:00 | ||
+ | Persistent=true | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=timers.target | ||
- | [Unit] | + | # End</ |
- | Description=MyBB Git Updater | + | |
- | After=network-online.target | + | |
- | Wants=network-online.target | + | |
- | + | ||
- | [Timer] | + | |
- | OnCalendar=*-*-* 01:55:00 | + | |
- | Persistent=true | + | |
- | + | ||
- | [Install] | + | |
- | WantedBy=timers.target | + | |
===== Backup ===== | ===== Backup ===== | ||
- | ==== Database Auth ==== | + | ==== Files ==== |
- | sudo -e '/ | + | === Service === |
- | | + | |
- | user=mybb | + | |
- | password=x | + | |
- | ==== Service ==== | + | < |
+ | [Service] | ||
+ | Type=oneshot | ||
- | mkdir -p ~/'backups' | + | ExecStart='/ |
- | [Service] | + | ExecStartPost='/ |
- | Type=oneshot | + | |
- | WorkingDirectory=/ | + | |
- | ExecStart='/ | + | |
- | ExecStart='/ | + | |
- | ExecStart='/ | + | |
- | ExecStart='/ | + | |
- | ==== Timer ==== | + | # End</ |
- | sudo -e '/ | + | === Timer === |
- | | + | * '' |
- | Description=MyBB Database Backup | + | |
- | After=mariadb.service | + | |
- | + | ||
- | [Timer] | + | |
- | OnCalendar=*-*-* 02:00:00 | + | |
- | Persistent=true | + | |
- | + | ||
- | [Install] | + | |
- | WantedBy=timers.target | + | |
- | ====== Backup ====== | + | sudo -e '/ |
- | * Create backup archive on server and transfer to client computer | + | < |
+ | [Unit] | ||
+ | Description=MyBB Files Backup | ||
- | ===== Server ===== | + | [Timer] |
+ | OnCalendar=*-*-01 05:15:00 | ||
+ | Persistent=true | ||
- | ==== Stop Services ==== | + | [Install] |
+ | WantedBy=timers.target | ||
- | **** | + | # End</ |
- | sudo systemctl | + | sudo systemctl |
- | ==== Backup Folder | + | ==== Database |
- | **** | + | === Database Auth === |
- | | + | |
- | ==== Backup Database ==== | + | < |
+ | [mariadb-dump] | ||
+ | user=mybb | ||
+ | password=x | ||
- | **** | + | # End</ |
- | mysqldump --defaults-extra-file='/ | + | === Service === |
- | ==== Start Services ==== | + | mkdir -p ~/' |
- | **** | + | < |
+ | [Service] | ||
+ | Group=mysql | ||
+ | Type=oneshot | ||
- | sudo systemctl start nginx php-fpm | + | ExecStart='/ |
- | ===== Client ===== | + | ExecStartPost='/ |
- | ==== Transfer Files To Client ==== | + | # End</ |
- | **** | + | === Timer === |
- | | + | |
- | ====== Restore ====== | + | sudo -e '/ |
- | ===== Client ===== | + | < |
+ | [Unit] | ||
+ | Description=mybb Database Backup | ||
+ | After=mariadb.service | ||
- | ==== Transfer Files To Server ==== | + | [Timer] |
+ | OnCalendar=*-*-01 05:10:00 | ||
+ | Persistent=true | ||
- | **** | + | [Install] |
+ | WantedBy=timers.target | ||
- | scp ~/' | + | # End</code> |
- | ==== Remove Files ==== | + | ===== Maintenance ===== |
- | **** | + | ==== Service ==== |
- | | + | |
- | ===== Server ===== | + | < |
+ | [Service] | ||
+ | User=wwwrun | ||
+ | Group=www | ||
+ | Type=oneshot | ||
- | ==== Stop Services ==== | + | ExecStart='/ |
+ | ExecStart='/ | ||
- | **** | + | ExecStartPost='/ |
- | sudo systemctl stop nginx php-fpm | + | # End</ |
- | ==== Remove Previous Folder | + | ==== Timer ==== |
+ | |||
+ | * '' | ||
+ | |||
+ | sudo -e '/ | ||
+ | |||
+ | < | ||
+ | [Unit] | ||
+ | Description=MyBB Maintenance | ||
+ | After=network-online.target | ||
+ | Wants=network-online.target | ||
+ | |||
+ | [Timer] | ||
+ | OnCalendar=*-*-01 05:30:00 | ||
+ | Persistent=true | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=timers.target | ||
+ | |||
+ | # End</ | ||
+ | |||
+ | sudo systemctl start ' | ||
+ | |||
+ | ====== Backup ====== | ||
+ | |||
+ | ===== Files ===== | ||
**** | **** | ||
- | sudo rm -Rf '/var/www/forums' | + | sudo tar -czf ~/' |
- | ==== Restore MyBB Folder | + | ===== Database ===== |
**** | **** | ||
- | | + | |
- | ==== Drop Previous Database | + | ===== scp ===== |
- | | + | |
- | | + | |
- | FLUSH TABLES; | + | ====== Restore ====== |
- | ==== Re-create Databases | + | ===== scp ===== |
- | | + | |
- | | + | |
- | ==== Restore Database | + | ===== Stop nginx ===== |
**** | **** | ||
- | | + | |
- | ==== Reapply Permissions | + | ===== Remove Existing Files ===== |
- | mysql -u ' | + | **** |
- | | + | |
- | FLUSH PRIVILEGES; | + | ===== Restore Files ===== |
- | ==== Start Services | + | **** |
+ | |||
+ | sudo tar -xzf ~/' | ||
+ | |||
+ | ===== Restore Database ===== | ||
+ | |||
+ | * [[# | ||
+ | |||
+ | sudo mariadb --execute=' | ||
+ | |||
+ | sudo mariadb --execute=' | ||
+ | |||
+ | sudo mariadb ' | ||
+ | |||
+ | ===== Start nginx ===== | ||
**** | **** | ||
- | sudo systemctl start nginx php-fpm | + | sudo systemctl start 'nginx' |
- | ==== Remove Backups | + | ===== Clean-up ===== |
- | | + | **** |
- | rm -R ~/'forums-manual.tar.gz' | + | rm -fv ~/'mybb-files-' |
/srv/www/wiki/data/attic/servers/linux/nginx/mybb.1723601926.txt.gz · Last modified: by Sean Rhone