MyBB (MyBulletinBoard) is a free, open-source PHP forum software that has been serving gaming communities, hobby forums, and small organization intranets since 2002. Its lightweight footprint, plugin system, and ease of use have kept it popular for more than two decades. Self-hosting MyBB means you own the uptime — and its task scheduler handles everything from thread pruning to email delivery in the background. Vigilmon gives you full visibility: web UI availability, login page health, search endpoint status, SSL certificate alerts, and heartbeat monitoring for scheduled background tasks.
What You'll Set Up
- HTTP uptime monitor for the MyBB homepage (
index.php) - Login page availability check (
/member.php?action=login) - Search endpoint response check (
/search.php?action=getsearchresults) - SSL certificate expiry alerts for HTTPS deployments
- Cron heartbeat for MyBB scheduled tasks (thread pruning, email queue, daily digest)
Prerequisites
- MyBB 1.8.x installed and accessible over HTTP or HTTPS
- A free Vigilmon account
Step 1: Monitor the MyBB Homepage
The index.php homepage is every visitor's first stop. A failure here means the entire forum is inaccessible.
- Log in to vigilmon.online and click Add Monitor.
- Set Type to
HTTP / HTTPS. - Enter your MyBB URL:
https://forum.yourdomain.com/index.php(orhttps://forum.yourdomain.com/if your server redirects). - Set Check interval to
1 minute. - Set Expected HTTP status to
200. - Enable Keyword check and enter your forum's board name or a phrase from your header template.
- Click Save.
The keyword check ensures MyBB rendered real content rather than a PHP fatal error that the web server forwarded with a 200 status.
Step 2: Monitor the Login Page
MyBB's member login page (/member.php?action=login) exercises the authentication, session, and cookie subsystems. If this page fails while the homepage loads, users cannot sign in — they'll see the forum content but be locked out of their accounts.
- Add a new monitor with Type
HTTP / HTTPS. - Enter:
https://forum.yourdomain.com/member.php?action=login - Set Expected HTTP status to
200. - Enable Keyword check and enter
"username"(present in all MyBB login forms as a field name). - Set Check interval to
3 minutes. - Click Save.
A login page failure with a functioning homepage typically indicates a session table issue, a database permission error, or a corrupted MyBB upgrade.
Step 3: Monitor the Search Endpoint
MyBB's search system (/search.php?action=getsearchresults) uses MySQL fulltext search and is sensitive to database configuration changes, table corruption, and large-table performance degradation. It's one of the first features to silently break after a server migration.
- Add a new monitor with Type
HTTP / HTTPS. - Enter:
https://forum.yourdomain.com/search.php?action=getsearchresults - Set Expected HTTP status to
200. - Enable Keyword check and enter
"Search Results"(present in the page title of a valid search results page). - Set Check interval to
5 minutes. - Click Save.
If the search subsystem returns an error page, the keyword check fails and Vigilmon alerts you — before users start reporting that search is broken.
Step 4: SSL Certificate Alerts
MyBB installations often run for years on the same certificate setup. An expired certificate will lock out your entire user base and may generate browser security warnings that damage trust in your community.
- Open the HTTP monitor for your MyBB homepage (created in Step 1).
- Enable Monitor SSL certificate.
- Set Alert when certificate expires in less than
21 days. - Click Save.
A 21-day lead time gives you enough runway to investigate renewal failures, fix misconfigured auto-renewal scripts, or manually renew before users see any warnings.
Step 5: Heartbeat Monitoring for MyBB Scheduled Tasks
MyBB's task system handles automated thread pruning, email queue delivery, and daily digest jobs. Like phpBB, MyBB runs its task system inline — tasks are triggered by normal forum traffic. Low-traffic periods mean tasks go unexecuted; if your forum quiets overnight, the email queue may not drain until morning traffic arrives.
Running MyBB tasks from a system cron and monitoring them with a Vigilmon heartbeat replaces this passive model with a guaranteed execution schedule.
Create a Heartbeat Monitor
- In Vigilmon, click Add Monitor → Cron Heartbeat.
- Give it a name like
MyBB task runner. - Set the expected ping interval to match your task schedule (e.g.,
60minutes for hourly task execution). - Copy the heartbeat URL (e.g.,
https://vigilmon.online/heartbeat/abc123).
Run MyBB Tasks via System Cron
MyBB provides a task.php script that can be called from the command line or via a web request:
# Run MyBB tasks every hour and ping Vigilmon on success
0 * * * * curl -s "https://forum.yourdomain.com/task.php?mybb_task_key=YOUR_TASK_KEY" && \
curl -s https://vigilmon.online/heartbeat/abc123
Find your mybb_task_key in the MyBB Admin Control Panel under Tools & Maintenance → Task Manager. The key is displayed in the URL when you view a task.
Alternatively, run tasks directly via the CLI:
0 * * * * cd /path/to/mybb && php task.php && curl -s https://vigilmon.online/heartbeat/abc123
The && ensures Vigilmon is only pinged on a successful task run. A PHP error, a locked task, or a database failure causes the heartbeat to go missing — Vigilmon alerts after the expected interval passes without a ping.
Monitor High-Value Tasks Individually
For critical tasks like email delivery, create a dedicated heartbeat and invoke that task explicitly:
# Run the email queue task every 15 minutes
*/15 * * * * curl -s "https://forum.yourdomain.com/task.php?mybb_task_key=YOUR_TASK_KEY&task=sendmail" && \
curl -s https://vigilmon.online/heartbeat/email-abc123
Step 6: Configure Alert Channels
- Go to Alert Channels in Vigilmon and add Slack, email, or a webhook.
- Set Consecutive failures before alert to
2on the homepage monitor — MyBB's inline task execution can briefly spike response times and cause a single probe to time out. - Use Maintenance windows during MyBB upgrades or plugin installations:
curl -X POST https://vigilmon.online/api/maintenance \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"monitor_id": "abc123", "duration_minutes": 20}'
Summary
| Monitor | Target | What It Catches |
|---|---|---|
| Homepage | /index.php | PHP errors, web server down |
| Login page | /member.php?action=login | Session/auth subsystem failure |
| Search endpoint | /search.php?action=getsearchresults | Fulltext search failure |
| SSL certificate | Forum domain | Certificate expiry, renewal failure |
| Cron heartbeat | Heartbeat URL | Email queue stalled, thread prune missed |
MyBB's passive task model makes it easy for scheduled maintenance to silently fall behind during low-traffic hours. Adding a system cron with a Vigilmon heartbeat transforms this into an active health signal — you'll know the moment a task run fails or goes missing, long before your users notice undelivered notifications or unpruned threads.