====== Information ======
* MyBB ((https://mybb.com/))
* [[information;realm_of_espionage|Realm of Espionage]]
* https://forums.realmofespionage.xyz
===== Prerequisites =====
* [[windows;10_ltsc_server|Windows 10 (21H2)]]
* [[servers;windows;nginx_php_php-cgi|nginx + PHP + PHP-CGI]]
* [[servers;windows;nginx;lets_encrypt|Certbot (Let's Encrypt)]]
* [[programs;windows;git|Git]]
* [[servers;windows;mariadb|MariaDB]]
====== Dependencies ======
* https://docs.mybb.com/1.8/install/requirements/
* https://docs.mybb.com/1.8/install/anonymous-statistics/
====== Download Source ======
* https://github.com/mybb/mybb/commits/feature/
"%ProgramFiles%\Git\bin\git.exe" clone --branch "feature" --depth "1" --recurse-submodules "https://github.com/mybb/mybb.git" "%SystemDrive%\www\forum"
====== Database ======
"%ProgramFiles%\MariaDB 12.2\bin\mariadb.exe" -u "root"
CREATE DATABASE mybb;
CREATE USER 'mybb'@'localhost' IDENTIFIED BY 'x';
GRANT ALL PRIVILEGES ON mybb.* to 'mybb'@'localhost';
FLUSH PRIVILEGES;EXIT;
====== Environment ======
===== PHP =====
"notepad.exe" "%SystemDrive%\www\php\forum.ini"
[PHP]
extension_dir = ".\ext"
extension = "mysqli"
log_errors = "Off"
error_reporting = "~E_ALL"
display_errors = "Off"
display_startup_errors = "Off"
html_errors = "Off"
[Date]
date.timezone = "America/New_York"
; End
"php.exe" -c "%SystemDrive%\www\php\forum.ini" -m
====== nginx + PHP-CGI Configuration ======
===== PHP-CGI =====
"notepad.exe" "%SystemDrive%\www\nginx\default.d\forum.conf"
location "~" "\.(php)(/.*)?$" {
fastcgi_split_path_info "^(.+\.(?:php))(/.*)$";
fastcgi_intercept_errors "on";
fastcgi_index "index.php";
include "C:/www/nginx/conf/fastcgi_params";
fastcgi_param "SCRIPT_FILENAME" "$document_root$fastcgi_script_name";
fastcgi_param "PATH_INFO" "$fastcgi_path_info";
fastcgi_param "HTTPS" "on";
fastcgi_pass "127.0.0.1:9006";
}
# End
===== Server Block =====
"notepad.exe" "%SystemDrive%\www\nginx\vhosts.d\forum.conf"
server {
listen "443" "ssl";
http2 "on";
server_name "forums.realmofespionage.xyz";
root "C:/www/forum";
index "index.php";
include "C:/www/nginx/default.d/forum.conf";
include "C:/www/nginx/default.d/headers.conf";
# access_log "logs/forum-access.log";
# error_log "logs/forum-error.log";
location "/" {
rewrite "^/forum-([0-9]+)\.html$" "/forumdisplay.php?fid=$1";
rewrite "^/forum-([0-9]+)-page-([0-9]+)\.html$" "/forumdisplay.php?fid=$1&page=$2";
rewrite "^/thread-([0-9]+)\.html$" "/showthread.php?tid=$1";
rewrite "^/thread-([0-9]+)-page-([0-9]+)\.html$" "/showthread.php?tid=$1&page=$2";
rewrite "^/thread-([0-9]+)-lastpost\.html$" "/showthread.php?tid=$1&action=lastpost";
rewrite "^/thread-([0-9]+)-nextnewest\.html$" "/showthread.php?tid=$1&action=nextnewest";
rewrite "^/thread-([0-9]+)-nextoldest\.html$" "/showthread.php?tid=$1&action=nextoldest";
rewrite "^/thread-([0-9]+)-newpost\.html$" "/showthread.php?tid=$1&action=newpost";
rewrite "^/thread-([0-9]+)-post-([0-9]+)\.html$" "/showthread.php?tid=$1&pid=$2";
rewrite "^/post-([0-9]+)\.html$" "/showthread.php?pid=$1";
rewrite "^/announcement-([0-9]+)\.html$" "/announcements.php?aid=$1";
rewrite "^/user-([0-9]+)\.html$" "/member.php?action=profile&uid=$1";
rewrite "^/calendar-([0-9]+)\.html$" "/calendar.php?calendar=$1";
rewrite "^/calendar-([0-9]+)-year-([0-9]+)\.html$" "/calendar.php?action=yearview&calendar=$1&year=$2";
rewrite "^/calendar-([0-9]+)-year-([0-9]+)-month-([0-9]+)\.html$" "/calendar.php?calendar=$1&year=$2&month=$3";
rewrite "^/calendar-([0-9]+)-year-([0-9]+)-month-([0-9]+)-day-([0-9]+)\.html$" "/calendar.php?action=dayview&calendar=$1&year=$2&month=$3&day=$4";
rewrite "^/calendar-([0-9]+)-week-(n?[0-9]+)\.html$" "/calendar.php?action=weekview&calendar=$1&week=$2";
rewrite "^/event-([0-9]+)\.html$" "/calendar.php?action=event&eid=$1";
}
}
# End
"%SystemDrive%\www\scripts\nginx\Reload.bat"
====== Scripts ======
===== Folder =====
MKDIR "%SystemDrive%\www\scripts\forum"
"explorer.exe" "%SystemDrive%\www\scripts\forum"
===== PHP-CGI =====
"notepad.exe" "%SystemDrive%\www\scripts\forum\PHP-CGI.bat"
@echo off
CD "%Temp%"
SET "PHP_FCGI_MAX_REQUESTS=0"
SET "PHP_FCGI_CHILDREN=1"
START "Forum PHP-CGI" /MIN "php-cgi.exe" -b "127.0.0.1:9006" -c "%SystemDrive%\www\php\forum.ini" -q
SET "PHP_FCGI_MAX_REQUESTS="
SET "PHP_FCGI_CHILDREN="
:: End
"%SystemDrive%\www\scripts\forum\PHP-CGI.bat"
===== Update =====
"notepad.exe" "%SystemDrive%\www\scripts\forum\Update.bat"
@echo off
TITLE Forum Updater
CD "%Temp%"
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\forum" reset --hard "origin/feature"
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\forum" pull origin "feature" --rebase
:: End
"%SystemDrive%\www\scripts\forum\Update.bat"
===== Back-up =====
"notepad.exe" "%SystemDrive%\www\scripts\forum\Back-up.bat"
@echo off
TITLE Forum Back-up
CD "%Temp%"
"tar.exe" -czf "D:\Servers\Scheduled Backups\mybb-files-auto-%RANDOM%.tar.gz" -C "%SystemDrive%\www" "forum"
"%ProgramFiles%\MariaDB 12.2\bin\mariadb-dump.exe" -u "root" --opt -r "D:\Servers\Scheduled Backups\%RANDOM%-mybb.sql" "mybb"
::"tar.exe" -czf "%UserProfile%\Downloads\mybb-files-auto-%RANDOM%.tar.gz" -C "%SystemDrive%\www" "forum"
::"%ProgramFiles%\MariaDB 12.2\bin\mariadb-dump.exe" -u "root" --opt -r "%UserProfile%\Downloads\%RANDOM%-mybb.sql" "mybb"
:: End
"%SystemDrive%\www\scripts\forum\Back-up.bat"
===== Maintenance =====
"notepad.exe" "%SystemDrive%\www\scripts\forum\Maintenance.bat"
@echo off
TITLE Forum Maintenance
CD "%Temp%"
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\forum" gc --aggressive --prune="all"
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\forum" fsck --full --strict
:: End
"%SystemDrive%\www\scripts\forum\Maintenance.bat"
===== Git Fix =====
* :!: Set ''user.email''
"notepad.exe" "%SystemDrive%\www\scripts\forum\Git Fix.bat"
@echo off
TITLE Forum Git Fix
CD "%Temp%"
::##################
::# MyBB
::##################
RMDIR /S /Q "%SystemDrive%\www\forum\.git"
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\forum" init --initial-branch="feature"
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\forum" add "."
::######################################
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\forum" config "user.email" "espionage724@x"
::######################################
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\forum" commit --message="x"
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\forum" remote add "origin" "https://github.com/mybb/mybb.git"
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\forum" pull --depth "1" --recurse-submodules "origin" "feature" --rebase
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\forum" reset --hard "origin/feature"
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\forum" gc --aggressive --prune="all"
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\forum" fsck --full --strict
:: End
"%SystemDrive%\www\scripts\forum\Git Fix.bat"
====== Task Scheduler ======
===== PHP-CGI =====
* Auto-start
SCHTASKS /Create /SC "ONLOGON" /TN "Forum PHP-CGI" /TR "%SystemDrive%\www\scripts\forum\PHP-CGI.bat" /F
===== Update =====
* Daily ''05:00:00 AM''
SCHTASKS /Create /SC "DAILY" /TN "Forum Update" /TR "%SystemDrive%\www\scripts\forum\Update.bat" /ST "05:00" /F
===== Back-up =====
* Monthly (6th) ''05:10:00 AM''
SCHTASKS /Create /SC "MONTHLY" /D "6" /M "*" /TN "Forum Back-up" /TR "%SystemDrive%\www\scripts\forum\Back-up.bat" /ST "05:10" /F
===== Maintenance =====
* Monthly (6th) ''05:30:00 AM''
SCHTASKS /Create /SC "MONTHLY" /D "6" /M "*" /TN "Forum Maintenance" /TR "%SystemDrive%\www\scripts\forum\Maintenance.bat" /ST "05:30" /F
====== Initial Setup ======
* Database Engine: ''MySQL Improved''
* Database Server Hostname: ''localhost''
* Table Encoding: ''4-Byte UTF-8 Unicode''
* https://forums.realmofespionage.xyz
====== Configuration ======
===== Board Online / Offline =====
* Board Closed: ''[x]'' Yes
These forums are being built behind-the-scenes, check back later!
In the meantime, check out my wiki: RoE | Wiki
===== Login and Registration =====
* Disable Registrations: ''[x]'' Yes
===== config.php =====
"notepad.exe" "%SystemDrive%\www\forum\inc\config.php"
$config['database']['hostname'] = 'localhost';
====== Backup ======
===== Folder =====
****
"tar.exe" -czf "%UserProfile%\Downloads\mybb-files-manual-%RANDOM%.tar.gz" -C "%SystemDrive%\www" "forum"
===== Database =====
****
CD "%UserProfile%\Downloads" && "%ProgramFiles%\MariaDB 12.2\bin\mariadb-dump.exe" -u "root" --opt -r "mybb.sql" "mybb"
====== Restore ======
===== Database =====
* [[#database|Initial set-up]]
"%ProgramFiles%\MariaDB 12.2\bin\mariadb.exe" -u "root" --execute="CREATE DATABASE mybb"
"%ProgramFiles%\MariaDB 12.2\bin\mariadb.exe" -u "root" "mybb" < "%UserProfile%\Downloads\mybb.sql"