VerityLayer Partner Deployment Checklist
Use this checklist to ensure a successful VerityLayer deployment. ---Pre-Deployment
Infrastructure Setup
- [ ] Server provisioned (4GB+ RAM, 50GB+ storage)
- [ ] Operating system installed (Ubuntu 20.04+ or Windows Server)
- [ ] Web server installed (Apache 2.4+ or Nginx)
- [ ] PHP 8.0+ installed with required extensions
- [ ] MySQL 8.0+ or MariaDB 10.5+ installed
- [ ] SSL certificate obtained (Let's Encrypt or commercial)
- [ ] Domain name configured (e.g., veritylayer.yourdomain.com)
- [ ] Firewall configured (ports 80, 443, 3306)
Required PHP Extensions
- [ ] mysqli
- [ ] openssl
- [ ] json
- [ ] mbstring
- [ ] curl
- [ ] gd
- [ ] zip
``bash php -m | grep -E "mysqli|openssl|json|mbstring|curl|gd|zip" `
---
Application Deployment
File Setup
- [ ] VerityLayer files extracted to web root
- [ ] Permissions set correctly (www-data:www-data)
- [ ] Storage and logs directories writable (chmod 775)
- [ ] .htaccess configured (if using Apache)
Database Setup
- [ ] Central SaaS database created
- [ ] Database user created with privileges
- [ ] Schema imported (database/schema.sql)
- [ ] Multi-tenant tables installed (install_org_db_connections.php)
Configuration
- [ ] db_connect.php
configured with database credentials - [ ] includes/config.php` configured:
- [ ] TENANT_DB_MIGRATION set to false (initially) - [ ] CENTRAL_DB_* constants configured
- [ ] Base URL configured correctly
- [ ] Error reporting disabled in production
Web Server Configuration
- [ ] Virtual host configured
- [ ] Document root set correctly
- [ ] Rewrite rules enabled (Apache: mod_rewrite)
- [ ] HTTPS enabled and forced
- [ ] HTTP/2 enabled (optional but recommended)
Initial Setup
Super Admin Creation
- [ ] Super admin account created
- [ ] Super admin login tested
- [ ] Super admin dashboard accessible
System Verification
- [ ] Application loads without errors
- [ ] Login/logout works
- [ ] Session management works
- [ ] All modules accessible
Customer Onboarding
First Organization
- [ ] Test organization created
- [ ] Organization details verified
- [ ] Subscription plan assigned
Tenant Database
- [ ] Tenant database provisioned (choose scenario):
- [ ] Customer cloud (setup_wizard.php --scenario=customer_cloud) - [ ] Customer on-premise (setup_wizard.php --scenario=customer_onprem)
- [ ] Connection tested (test_connection.php)
- [ ] Schema deployed successfully
- [ ] Connection registered in org_db_connections
Organization Admin
- [ ] Org admin user created
- [ ] Org admin credentials sent to customer
- [ ] Org admin login tested
- [ ] Org admin can access all modules
Multi-Tenant Enablement
Pre-Enablement Testing
- [ ] All tenant databases provisioned
- [ ] All connections tested
- [ ] Data migration tested (dry-run)
- [ ] Backup created
Enablement
- [ ] TENANT_DB_MIGRATION set to true in config.php
- [ ] Application restarted/cache cleared
- [ ] Connection routing verified
- [ ] All organizations tested
Post-Enablement Verification
- [ ] Users can login
- [ ] Data displays correctly
- [ ] No cross-tenant data leakage
- [ ] Performance acceptable
Security Hardening
Application Security
- [ ] PHP display_errors disabled
- [ ] Error logging enabled
- [ ] Sensitive files protected (.htaccess, config.php)
- [ ] File upload restrictions configured
- [ ] Session timeout configured
Database Security
- [ ] Database passwords strong (16+ characters)
- [ ] Database users have minimal privileges
- [ ] Remote database access restricted
- [ ] SSL/TLS enabled for database connections
Server Security
- [ ] Firewall enabled and configured
- [ ] SSH key-based authentication (disable password auth)
- [ ] Fail2ban installed and configured
- [ ] Automatic security updates enabled
- [ ] Unnecessary services disabled
SSL/TLS
- [ ] SSL certificate installed
- [ ] HTTPS enforced (HTTP redirects to HTTPS)
- [ ] TLS 1.2+ only (disable older versions)
- [ ] Strong cipher suites configured
- [ ] HSTS header enabled
Monitoring & Backup
Monitoring Setup
- [ ] Application logging configured
- [ ] Error logs monitored
- [ ] Database slow query log enabled
- [ ] Health check script scheduled (cron)
- [ ] Uptime monitoring configured
- [ ] Alert notifications configured
Backup Configuration
- [ ] Central database backup scheduled (daily)
- [ ] Tenant databases backup scheduled (daily)
- [ ] File backup scheduled (daily)
- [ ] Backup retention policy configured (30 days)
- [ ] Backup restoration tested
- [ ] Off-site backup configured
Cron Jobs
- [ ] Daily health checks
- [ ] Daily backups
- [ ] Log rotation
- [ ] Database optimization
- [ ] Vulnerability scanner (if applicable)
Documentation
Partner Documentation
- [ ] Deployment notes documented
- [ ] Custom configurations documented
- [ ] Customer credentials stored securely
- [ ] Support contacts documented
Customer Documentation
- [ ] Login instructions provided
- [ ] User guide shared
- [ ] Support contact provided
- [ ] Training scheduled (if applicable)
Testing
Functional Testing
- [ ] User registration/login
- [ ] Risk register (create, edit, delete)
- [ ] Vulnerability management
- [ ] Asset management
- [ ] SIEM alerts
- [ ] Reporting/exports
- [ ] User management
- [ ] Role/permission management
Performance Testing
- [ ] Page load times acceptable (<2s)
- [ ] Database queries optimized
- [ ] Connection pooling working
- [ ] No memory leaks
Security Testing
- [ ] SQL injection tested
- [ ] XSS tested
- [ ] CSRF protection verified
- [ ] Authentication bypass tested
- [ ] Authorization tested
- [ ] Data isolation verified
Go-Live
Pre-Launch
- [ ] All testing complete
- [ ] Backup verified
- [ ] Rollback plan documented
- [ ] Support team briefed
- [ ] Customer notified of go-live time
Launch
- [ ] DNS updated (if applicable)
- [ ] Application accessible
- [ ] SSL certificate valid
- [ ] All services running
- [ ] Monitoring active
Post-Launch
- [ ] Customer login verified
- [ ] No errors in logs
- [ ] Performance acceptable
- [ ] Customer feedback collected
- [ ] Issues documented and resolved
Post-Deployment
Week 1
- [ ] Daily log review
- [ ] Performance monitoring
- [ ] Customer check-in
- [ ] Issue resolution
Month 1
- [ ] Weekly health checks
- [ ] Backup verification
- [ ] Performance optimization
- [ ] Customer satisfaction survey
Ongoing
- [ ] Monthly security updates
- [ ] Quarterly platform updates
- [ ] Regular backups verified
- [ ] Continuous monitoring
Troubleshooting Reference
Common Issues
Application won't load:- Check web server status
- Check PHP error logs
- Verify file permissions
- Check database connection
- Verify user exists in database
- Check password hash
- Verify session configuration
- Check error logs
- Run test_connection.php
- Verify credentials
- Check firewall
- Verify encryption key
- Check database slow query log
- Verify connection pool size
- Check server resources
- Optimize queries
Support Contacts
Technical Support:- Email: tech-support@veritylayer.com
- Portal: https://support.veritylayer.com
- Phone: +1-XXX-XXX-XXXX (24/7)
- Email: partners@veritylayer.com
- Slack: #partner-support