Skip to main content

Verify Installation

System Verification

Run comprehensive system checks to identify issues:
webinoly -verify
This performs 7 verification tests:
  1. Webinoly Integrity Test - Checks core files and configuration
  2. NGINX Verification - Validates NGINX installation and configuration
  3. PHP Verification - Checks PHP installation and settings
  4. MySQL/MariaDB Verification - Validates database configuration
  5. Service Status Verification - Ensures all services are running
  6. Operating System Verification - Checks OS compatibility and settings
  7. Additional Tools Verification - Validates optional tools installation

Critical Mode

Run only critical checks (faster, essential tests only):
webinoly -verify=critical

Check for Updates

Verify installation and check for available updates:
webinoly -verify -check-for-updates

Common Issues

NGINX Issues

NGINX Won’t Start

Symptoms:
  • NGINX service fails to start
  • Error messages about configuration
Solutions:
  1. Test NGINX configuration:
sudo nginx -t
  1. Check for syntax errors in site configurations:
for conf in /etc/nginx/sites-available/*; do
  echo "Checking $conf"
  sudo nginx -t -c $conf
done
  1. Review NGINX error logs:
sudo tail -f /var/log/nginx/error.log
  1. Reset NGINX configuration:
webinoly -server-reset=nginx
sudo systemctl restart nginx

Port Already in Use

Symptoms:
  • Error: “Address already in use”
  • NGINX fails to bind to port
Solutions:
  1. Check what’s using the port:
sudo lsof -i :80
sudo lsof -i :443
  1. Stop conflicting service:
sudo systemctl stop apache2  # if Apache is installed
  1. Change tools port if conflict:
webinoly -tools-port=9999

SSL Certificate Issues

Symptoms:
  • SSL certificate errors
  • HTTPS not working
Solutions:
  1. Check certificate files:
ls -la /etc/letsencrypt/live/example.com/
  1. Test certificate renewal:
sudo certbot renew --dry-run
  1. Regenerate certificate:
site example.com -ssl=off
site example.com -ssl=on
  1. Check for orphan certificates:
webinoly -verify | grep "Orphan-Cert"

PHP Issues

PHP-FPM Not Running

Symptoms:
  • 502 Bad Gateway errors
  • PHP pages not loading
Solutions:
  1. Check PHP-FPM status:
sudo systemctl status php8.3-fpm
  1. Check PHP error logs:
sudo tail -f /var/log/php8.3-fpm.log
  1. Restart PHP-FPM:
sudo systemctl restart php8.3-fpm
  1. Verify PHP socket exists:
ls -la /run/php/php-fpm.sock
  1. Reset PHP configuration:
webinoly -server-reset=php

Memory Limit Issues

Symptoms:
  • “Allowed memory size exhausted” errors
  • PHP scripts timing out
Solutions:
  1. Check current limits:
webinoly -info | grep -A 10 "\[PHP\]"
  1. Increase PHP memory (requires manual edit):
sudo nano /etc/php/8.3/fpm/php.ini
# Modify: memory_limit = 256M
sudo systemctl restart php8.3-fpm
  1. Adjust PHP workers if needed:
sudo nano /etc/php/8.3/fpm/pool.d/www.conf
# Adjust pm.max_children based on RAM
sudo systemctl restart php8.3-fpm

Upload Size Limits

Symptoms:
  • File uploads fail
  • “Maximum upload size exceeded” errors
Solutions:
  1. Check current limits:
php -i | grep upload_max_filesize
php -i | grep post_max_size
  1. Update both NGINX and PHP:
# Edit NGINX
sudo nano /etc/nginx/nginx.conf
# Set: client_max_body_size 100M;

# Edit PHP
sudo nano /etc/php/8.3/fpm/php.ini
# Set: upload_max_filesize = 100M
# Set: post_max_size = 100M

# Restart services
sudo systemctl reload nginx
sudo systemctl restart php8.3-fpm

MySQL/MariaDB Issues

Cannot Connect to MySQL

Symptoms:
  • “Access denied” errors
  • “Can’t connect to MySQL server”
Solutions:
  1. Check MySQL is running:
sudo systemctl status mysql
  1. Verify credentials:
webinoly -dbpass
  1. Test connection:
mysql -u admin -p
  1. Check MySQL error logs:
sudo tail -f /var/log/mysql/error.log
  1. Restart MySQL:
sudo systemctl restart mysql

MySQL Won’t Start

Symptoms:
  • MySQL service fails to start
  • InnoDB recovery errors
Solutions:
  1. Check disk space:
df -h
  1. Review MySQL error log:
sudo tail -100 /var/log/mysql/error.log
  1. Check for corrupted tables:
sudo mysqlcheck -u root -p --auto-repair --all-databases
  1. Reset MySQL configuration:
webinoly -server-reset=mysql

Remote Access Not Working

Symptoms:
  • Cannot connect from remote host
  • Connection timeout errors
Solutions:
  1. Verify public access is enabled:
webinoly -info | grep "Remote Access"
  1. Check bind address:
sudo grep bind-address /etc/mysql/mysql.conf.d/*
  1. Verify firewall rules:
sudo ufw status
sudo ufw allow 3306/tcp
  1. Check user permissions:
mysql -u admin -p -e "SELECT User, Host FROM mysql.user;"

Cache Issues

Cache Not Working

Symptoms:
  • Pages not being cached
  • Cache headers missing
Solutions:
  1. Verify cache is enabled:
site example.com -info | grep cache
  1. Check cache directory:
ls -la /run/nginx-cache/
  1. Clear cache:
webinoly -clear-cache=example.com
  1. Check cache bypass settings:
grep -r "fastcgi_no_cache" /etc/nginx/common/

Redis Connection Failed

Symptoms:
  • Redis errors in logs
  • Object cache not working
Solutions:
  1. Check Redis status:
sudo systemctl status redis-server
  1. Test Redis connection:
redis-cli ping
  1. Restart Redis:
sudo systemctl restart redis-server
  1. Clear Redis cache:
webinoly -clear-cache=redis

Permission Issues

File Permission Errors

Symptoms:
  • “Permission denied” errors
  • Cannot write to files
  • Upload failures
Solutions:
  1. Fix all permissions:
webinoly -server-reset=permissions
  1. Fix specific site permissions:
sudo chown -R www-data:www-data /var/www/example.com
sudo find /var/www/example.com -type d -exec chmod 750 {} \;
sudo find /var/www/example.com -type f -exec chmod 640 {} \;
  1. Check directory ownership:
ls -la /var/www/

Site Issues

Site Not Found (404)

Symptoms:
  • Site returns 404 error
  • “File not found” message
Solutions:
  1. Verify site exists:
site example.com -info
  1. Check site is enabled:
ls -la /etc/nginx/sites-enabled/example.com
  1. Verify document root:
ls -la /var/www/example.com/htdocs/
  1. Check NGINX configuration:
sudo nginx -t

White Screen / 500 Error

Symptoms:
  • Blank white page
  • HTTP 500 Internal Server Error
Solutions:
  1. Check PHP error logs:
sudo tail -f /var/www/example.com/logs/error.log
  1. Enable PHP error display (temporarily):
sudo nano /var/www/example.com/htdocs/wp-config.php
# Add: define('WP_DEBUG', true);
  1. Check file permissions:
webinoly -server-reset=permissions
  1. Clear all caches:
webinoly -clear-cache=all

Backup Issues

Backup Failed

Symptoms:
  • Backup command fails
  • Incomplete backups
Solutions:
  1. Check disk space:
df -h
  1. Verify backup tools:
which duplicity
which duply
  1. Test S3 credentials:
webinoly -aws-s3-credentials
  1. Check backup configuration:
cat ~/.duply/*/conf

Performance Issues

Slow Site Performance

Symptoms:
  • Pages load slowly
  • High server load
Solutions:
  1. Check system resources:
webinoly -info
top
htop
  1. Check disk I/O:
iostat -x 1
  1. Review access logs for attacks:
sudo tail -f /var/www/example.com/logs/access.log
  1. Enable caching if not already:
site example.com -cache=on
  1. Check PHP workers:
webinoly -info | grep "pm.max_children"

High Memory Usage

Symptoms:
  • Server using too much RAM
  • OOM (Out of Memory) errors
Solutions:
  1. Check memory usage:
free -h
  1. Identify memory-hungry processes:
ps aux --sort=-%mem | head -n 10
  1. Reduce PHP workers if needed:
sudo nano /etc/php/8.3/fpm/pool.d/www.conf
# Reduce pm.max_children
  1. Increase SWAP:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

OS and System Issues

Running Out of Disk Space

Symptoms:
  • Disk usage over 75%
  • Services failing
Solutions:
  1. Check disk usage:
df -h
du -sh /* | sort -h
  1. Clear old logs:
sudo journalctl --vacuum-time=7d
sudo find /var/log -type f -name "*.gz" -delete
  1. Clear package cache:
sudo apt clean
sudo apt autoremove
  1. Check large files:
sudo find / -type f -size +100M -exec ls -lh {} \;

Unsupported OS Version

Symptoms:
  • Verify shows OS not supported
  • Installation fails
Solutions:
  1. Check Ubuntu version:
lsb_release -a
  1. Upgrade to supported version:
  • Ubuntu 24.04 LTS (recommended)
  • Ubuntu 22.04 LTS
  • Ubuntu 20.04 LTS (deprecated soon)

Configuration Issues

Configuration File Corrupted

Symptoms:
  • Webinoly commands fail
  • Version check errors
Solutions:
  1. Regenerate configuration file:
webinoly -server-reset=confile
  1. Check for duplicates:
grep -E "^([a-z\-]+):" /opt/webinoly/webinoly.conf | sort | uniq -d
  1. Restore from backup:
sudo tar -xf ~/.webinoly-conf-restore_dont-remove -C /

Diagnostic Commands

Quick Health Check

# Run verification
webinoly -verify

# Check all services
sudo systemctl status nginx php8.3-fpm mysql redis-server memcached

# View system info
webinoly -info

Log Files

Important log locations:
# NGINX
/var/log/nginx/error.log
/var/log/nginx/access.log
/var/www/example.com/logs/error.log
/var/www/example.com/logs/access.log

# PHP
/var/log/php8.3-fpm.log

# MySQL
/var/log/mysql/error.log

# System
/var/log/syslog
sudo journalctl -xe

Network Diagnostics

# Check listening ports
sudo netstat -tlnp
sudo ss -tlnp

# Test connectivity
curl -I http://localhost
curl -I https://example.com

# Check DNS
dig example.com
nslookup example.com

Getting Help

If issues persist:
  1. Run Verification: Always start with webinoly -verify
  2. Check Logs: Review relevant log files
  3. Test Configuration: Use sudo nginx -t
  4. Reset Configuration: Try webinoly -server-reset
  5. Community: Report issues at GitHub Issues
Before making system changes, always backup your data and configuration files.

Prevention

Best practices to avoid issues:
  1. Regular backups with webinoly -backup
  2. Keep system updated with webinoly -update
  3. Monitor disk space regularly
  4. Run webinoly -verify after changes
  5. Review logs periodically
  6. Use staging environment for testing
  7. Document custom configurations
  8. Keep emergency recovery plan

Next Steps

Build docs developers (and LLMs) love