tutorial

Monitoring phpBB with Vigilmon

phpBB powers millions of forums worldwide — here's how to monitor its homepage, login page, search functionality, SSL certificates, and background cron jobs with Vigilmon.

phpBB is the world's most widely deployed open-source bulletin board software. First released in 2000, it powers countless hobby, gaming, and community forums globally with its PHP/MySQL foundation and extensive MOD and extension ecosystem. Its longevity means many installations carry years of community data — which makes uptime monitoring critical. Vigilmon keeps watch over phpBB's homepage, login page, search functionality, SSL certificates, and background cron system so you catch problems before your community does.

What You'll Set Up

  • HTTP uptime monitor for the phpBB homepage (index.php)
  • Login page availability check (/ucp.php?mode=login)
  • Search functionality response check (/search.php)
  • SSL certificate expiry alerts for HTTPS deployments
  • Cron heartbeat for phpBB scheduled tasks (search index rebuilds, email queue, forum prune jobs)

Prerequisites

  • phpBB 3.x installed and accessible over HTTP or HTTPS
  • A free Vigilmon account

Step 1: Monitor the phpBB Homepage

The index.php homepage is phpBB's primary entry point — a failure here means no one can reach the forum.

  1. Log in to vigilmon.online and click Add Monitor.
  2. Set Type to HTTP / HTTPS.
  3. Enter your phpBB URL: https://forum.yourdomain.com/index.php (or https://forum.yourdomain.com/ if your web server handles the redirect).
  4. Set Check interval to 1 minute.
  5. Set Expected HTTP status to 200.
  6. Enable Keyword check and enter your forum's board title or a known phrase from your homepage.
  7. Click Save.

The keyword check confirms phpBB rendered actual content rather than a PHP fatal error served with a 200 status.


Step 2: Monitor the Login Page

The user control panel login page (/ucp.php?mode=login) exercises phpBB's session and user management subsystem. If the login page fails, users cannot authenticate even if the homepage is up.

  1. Add a new monitor with Type HTTP / HTTPS.
  2. Enter: https://forum.yourdomain.com/ucp.php?mode=login
  3. Set Expected HTTP status to 200.
  4. Enable Keyword check and enter "Username" (present in all phpBB login forms).
  5. Set Check interval to 3 minutes.
  6. Click Save.

A failed login page check with a functioning homepage typically points to a session table corruption, a database permission issue, or a failed phpBB update.


Step 3: Monitor Search Functionality

phpBB's search subsystem (/search.php) relies on either a MySQL fulltext index or an integrated Sphinx/phpBB search backend. Search failures are common after database migrations, upgrades, or index rebuilds gone wrong.

  1. Add a new monitor with Type HTTP / HTTPS.
  2. Enter: https://forum.yourdomain.com/search.php
  3. Set Expected HTTP status to 200.
  4. Enable Keyword check and enter "Search" (present in the search page title and form).
  5. Set Check interval to 5 minutes.
  6. Click Save.

If search returns a phpBB error page instead of the search form, the keyword check fails and Vigilmon alerts you — catching index corruption before users start reporting broken search.


Step 4: SSL Certificate Alerts

phpBB forums often hold years of community data and user accounts. A lapsed SSL certificate will lock out your users with browser security warnings and may cause data-in-transit exposure if users bypass the warning.

  1. Open the HTTP monitor for your phpBB homepage (created in Step 1).
  2. Enable Monitor SSL certificate.
  3. Set Alert when certificate expires in less than 21 days.
  4. Click Save.

phpBB installations that have been running for years may still use legacy certificate setups. A 21-day warning window gives you time to investigate renewal failures, update auto-renewal scripts, or manually renew a certificate before users are affected.


Step 5: Heartbeat Monitoring for phpBB Cron Jobs

phpBB has its own cron system that handles search index rebuilds, email queue processing, and forum prune jobs. These jobs are triggered by forum traffic: a request hits phpBB, which checks whether a cron task is due and runs it inline. Low-traffic forums may go hours without triggering cron, causing stale search indexes and undelivered notifications.

For reliable scheduled execution, run phpBB's cron via a system cron job and monitor it with a Vigilmon heartbeat.

Create a Heartbeat Monitor

  1. In Vigilmon, click Add MonitorCron Heartbeat.
  2. Give it a name like phpBB cron runner.
  3. Set the expected ping interval (e.g., 60 minutes for hourly cron execution).
  4. Copy the heartbeat URL (e.g., https://vigilmon.online/heartbeat/abc123).

Configure a System Cron Job

phpBB ships a CLI cron script at bin/phpbbcli.php:

# Run phpBB cron every hour and ping Vigilmon on success
0 * * * * cd /path/to/phpbb && php bin/phpbbcli.php cron:run && curl -s https://vigilmon.online/heartbeat/abc123

Alternatively, use the web-based cron endpoint:

0 * * * * curl -s https://forum.yourdomain.com/cron.php && curl -s https://vigilmon.online/heartbeat/abc123

The && operator ensures Vigilmon is only pinged when the cron command succeeds. A PHP crash, a locked cron process, or a database error causes the heartbeat to go missing — triggering a Vigilmon alert after the expected interval.

Monitor Email Queue Separately

For high-volume forums, monitor the email queue cron task with a dedicated heartbeat:

# /etc/cron.d/phpbb-email-queue
*/15 * * * * cd /path/to/phpbb && php bin/phpbbcli.php cron:run --only send_email_notifications && \
  curl -s https://vigilmon.online/heartbeat/email-queue-abc123

Step 6: Configure Alert Channels

  1. Go to Alert Channels in Vigilmon and add Slack, email, or a webhook.
  2. Set Consecutive failures before alert to 2 — phpBB's inline cron execution can cause a brief spike in response time that fails a single probe.
  3. Use Maintenance windows during phpBB upgrades or database maintenance:
curl -X POST https://vigilmon.online/api/maintenance \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"monitor_id": "abc123", "duration_minutes": 30}'

Summary

| Monitor | Target | What It Catches | |---|---|---| | Homepage | /index.php | PHP fatal errors, web server down | | Login page | /ucp.php?mode=login | Session/auth subsystem failure | | Search page | /search.php | Search index corruption, Sphinx failure | | SSL certificate | Forum domain | Certificate expiry, renewal failure | | Cron heartbeat | Heartbeat URL | Search reindex missed, emails stalled |

phpBB's inline cron model means scheduled tasks only run when traffic triggers them — low-traffic hours become a blind spot. Combining a system cron job with a Vigilmon heartbeat replaces this passive model with an active health signal, ensuring your search indexes rebuild and email queue drains on schedule regardless of forum activity.

Monitor your app with Vigilmon

Free plan — 5 monitors, no credit card required. Up and running in 60 seconds.

Start free →