# Apex Admins — Launch Checklist

**Version:** 1.0  
**Date:** 2026-06-27  
**Status:** Production hardened (2026-06-27)

---

## Environment

- [x] Laravel 13.17.0 on PHP 8.4.22 (cPanel)
- [x] MySQL database `ronnie_apex` connected
- [x] `CACHE_STORE=database` (Redis PHP extension unavailable on host)
- [x] `QUEUE_CONNECTION=database`
- [x] `APP_URL=https://apex.ronnieridge.com`
- [x] `APP_NAME=Apex Admins`
- [x] `APP_ENV=production` and `APP_DEBUG=false`
- [x] Config, route, and view caches enabled
- [ ] Rotate database password after initial setup

---

## Admin Access

| Item | Value |
|------|-------|
| URL | https://apex.ronnieridge.com/admin/login |
| Email | admin@apexadmins.com.au |
| Password | ApexAdmin2026! |

**Action:** Change password immediately after first login.

---

## Verified URLs (HTTP 200)

- Homepage, About, Contact, Services hub, Hire hub, Hire role pages
- Industries, Locations (Australia hub), Blog, Case Studies, Careers, Academy
- Legal pages, sitemap.xml, robots.txt

---

## Google Search Console

1. Add property: `https://apex.ronnieridge.com`
2. Verify ownership (DNS or HTML file)
3. Submit sitemap: `https://apex.ronnieridge.com/sitemap.xml`

---

## Server Cron (Required)

Installed on `ronnie` crontab:

```cron
* * * * * cd /home/ronnie/public_html/apex.ronnieridge.com && /usr/local/cpanel/3rdparty/php/84/bin/php artisan schedule:run >> /dev/null 2>&1
* * * * * cd /home/ronnie/public_html/apex.ronnieridge.com && /usr/local/cpanel/3rdparty/php/84/bin/php artisan queue:work database --stop-when-empty --max-time=55 >> /dev/null 2>&1
```

## Queue Worker (Optional — database driver)

See cron above — queue worker runs every minute with `--stop-when-empty`.

---

## Production Optimization

Completed:

```bash
php artisan config:cache   # done
php artisan route:cache    # done
php artisan view:cache     # done
npm run build              # done
```

---

## Security Checklist

- [x] CSRF on all forms
- [x] Admin behind auth + RBAC
- [x] Rate limiting on login
- [x] File upload MIME validation (Media module)
- [x] `.env` not in web root
- [ ] Enable SSL force redirect in cPanel if not already
- [ ] Review admin user list before launch

---

## Post-Launch Monitoring

- Google Search Console Core Web Vitals
- Laravel log: `storage/logs/laravel.log`
- Form submissions in Admin → Leads
- SEO audit scores in content editor sidebar

---

## Known Host Notes

- PHP CLI for artisan: `/usr/local/cpanel/3rdparty/php/84/bin/php`
- Web PHP may differ from CLI; document root should serve `public/`
- `storage/` and `bootstrap/cache/` must be writable by web user (`ronnie`)
