name: forum-infrastructure description: drugs-and-users.org self-hosted infra — SMF stack, DB, SEO, CSS, mod management sources: [backfill] aliases: [drugs-and-users.org, SMF forum]
- [stated] Forum runs on SMF on CentOS 6.10 with a large, active user base and a 170-mod stack
- [stated] Live/prod runs Python 3.6.3 (built from source, gcc still stock 4.4.7 at system level)
- [stated] Infrastructure: live VPS, home Intel NUC, and a local CentOS dev VM. Full topology (2026-08-21): production VPS (64-bit CentOS 6.10, 2 CPU/2GB RAM/60GB SSD) runs 3 SMF environments — "Live" (smf 2.0.19, db smf209, prefix smf209_), "Live Test/smf20" (smf 2.0.19, db smf20, prefix smf209_), "Live Test/smf21" (smf 2.1.7, db smf21, prefix smf_); the Dev "mirror" (Windows 10 host, 32-bit CentOS 6.10 under VMware, USB 120GB SSD) runs the identical 3 environments again — "Dev" (db smf209, prefix smf209_), "Dev Test/smf20" (db smf20, prefix smf209_), "Dev Test smf21" (db smf21, prefix smf_) — 6 environments total across 2 machines, refreshed ad-hoc and not always kept in sync, especially the test systems
- [stated] Live system does not use LVM; only the Dev mirror uses LVM
- [stated] Completed a MyISAM-to-InnoDB migration, driven by crash instability under concurrent write load
- [stated] Future DB recommendation: 256–512MB InnoDB buffer pool
- [stated] SEO work via Google Search Console; sitemap gaps accepted as a hard SMF limitation
- [stated] Cumulative CSS stylesheet project, with a goal of eventually packaging it as an SMF mod XML
- [stated] Finds SMF's CDATA/whitespace-literal packaging system frustrating
- [stated] Tracks mod install order, conflict resolution, and patch sequencing in a detailed log
- [stated] Does not document cosmetic CSS changes; applies a risk/blast-radius principle to what gets logged
- [stated] Uses Markdown exclusively for all forum content; BBCode is out, except [nobbc] (kept enabled/exempt as the literal-text escape hatch) and the [md] tag itself
- [stated] Source library (mod source files, etc.) lives in his forum posts, not a separate repo
- [stated] Server's Package Manager falls back to PclZip rather than ZipArchive; zips built with streaming data-descriptors/extra timestamp fields fail with a false "package appears empty" error there — plain zip format (sizes/CRC in local header, no data descriptors) works
- [stated] Currently dealing with a DoS attack (both application-layer flood and DB load) hitting the forum; tuned Apache and cleared ~15,000 stale SMF online-sessions rows with ChatGPT's help
- [stated] Still getting hammered by bots as of early Aug 2026; running the forum in maintenance mode as a stopgap, which he considers inadequate
- [stated] Runs a daily scan of the attachments directory for file-type counts, using
file --mime-type (not filename extension, since SMF attachments are stored as hash filenames with no extension)
- [stated] Interested in building a responsive SMF theme optimized for phone use
- [stated] Reached out to Simple Machines directly, offering a portfolio of his personal mods for potential official adoption/interest: [[pdf-bbcode-mod]] (bundling PDF.js 6.2.108, about to upload), [[md-bbcode-mod]] fixes including a code-block "compression" issue, [[lmv-bbcode-mod]] (scroll/noscroll family mod reusing common code with pdf-bbcode-mod), [[listatt-bbcode-mod]] (described to SM as a "mandatory" dynamic HTML attachment lister routing to the appropriate viewer/downloader), [[bulkedit-admin-mod]] (bulk post find/replace/insert with undo), and two new ones not previously filed: a "redbox" BBC mod (presents PHP errors in a dynamic HTML window, in a post or otherwise) and a "Del&Uninst" Package Manager button (for his versioned personal mod packages)
- [stated] Told Simple Machines the ISE project itself is Python-based, SMF 2.0-only, personal-use-only, depends on several of their requisite mods, still being developed, and — as full disclosure since it's AI-assisted coding — every transcript of the mod-building/debugging process is saved as a PDF attachment for review
- [stated] repair_settings.php mystery: ran it once, it "vanished completely" afterward, and confirmed via find from ~, /, and /var/www/html that it's genuinely gone from disk (not just moved) — root cause undetermined, joins the pile of unresolved computer mysteries alongside the code-block/height fix debugging saga
- [stated] php_error_log shows the view_attach.php "Undefined index"/Subs.php:3862 notice recurring frequently (20+ times over ~1.5hrs on 18-Aug), not a one-off — confirmed via access log correlation: bot/scanner traffic, not a broken attachment. Two matching requests at the exact error timestamps hit different attach= IDs but returned the identical byte count (1303), with a shared stale-UA (Nexus 5/Android 6.0/Chrome 65) and no referer fingerprint also seen on a separate day — direct scripted hits on view_attach.php's raw URL, not real users clicking through generated links. Root cause: automated ID-probing, not a data/file problem; the earlier renamed attachment likely wasn't even the real culprit
- [stated] Live's kernel appears pinned by the hosting provider's boot mechanism (suspected pvgrub-style: provider-side GRUB reads guest's own grub.conf/boot files) — a past kernel upgrade attempt with his server provider, David, left the running kernel effectively frozen since ~2013-2014, with subsequent yum kernel installs/updates never actually taking effect at boot
- [stated] Live server's public IP: 128.199.200.202
- [stated] Server OS: CentOS 6, Apache 2.2.15/mod_ssl (final el6 build, no OCSP stapling support, no OS updates available - CentOS 6 EOL)
- [stated] Diagnosed severe intermittent page-load slowness (1-5 min) traced to SSL/TLS handshake overhead (2.5-3s, likely OCSP revocation check since server can't staple) plus possible IPv6 routing issue between his carrier and the server; real fix (recompiling mod_ssl from source) deferred ~3 days
- [stated] Considering migrating the forum off its current physical server onto a rented server running VMware ESXi as host, with the forum as a guest VM — plan: keep a full copy/image of the current vintage CentOS system, install ESXi, run the forum as a guest, then power down the old physical system once confirmed working; expects it to cost about a month's rental; chose VMware ESXi specifically for familiarity (already runs VMware for [[isemedia-clone]]'s Dev/Clone VMs)
- [stated] Removed attachment size limits across SMF, PHP, and the webserver config, to accommodate large uploads (e.g. a 144MB video) for his personal media collection going onto [[isemedia-clone]]
- [stated] Found and fixed a 14-year-old silent bug in his Dev DB refresh workflow: old process was copy live DB backup to Dev, edit the copy, then restore the edited copy; new process instead restores the live backup to Dev's DB first and edits the DB directly — but Andrew had kept running the old restore step afterward out of habit, which silently reverted the edit (e.g. boardurl) back to production's value every time with no visible error; fixed by removing the redundant restore step