Overview
Webinoly provides comprehensive server management commands to configure, monitor, and maintain your NGINX web server on Ubuntu.
Display detailed information about your server configuration:
This displays:
- Operating system details (version, codename, architecture)
- Hardware resources (RAM, SWAP, CPU cores)
- Disk usage
- NGINX configuration (version, workers, cache settings)
- PHP settings (version, memory limits, process manager)
- MySQL/MariaDB information
- Webinoly configuration
- Installed tools (Certbot, Duplicity, Redis, Memcached, phpMyAdmin)
Check Version
Display current Webinoly and stack versions:
webinoly -version
# or
webinoly -v
Server Reset and Configuration
Reset Server Configuration
Reset and regenerate server configuration files to default optimized settings:
This will overwrite any manual changes you made to configuration files. Always backup custom configurations before resetting.
# Reset all components
webinoly -server-reset=all
# Reset specific component
webinoly -server-reset=nginx
webinoly -server-reset=php
webinoly -server-reset=mysql
webinoly -server-reset=os
# Reset file permissions
webinoly -server-reset=permissions
# Regenerate configuration file
webinoly -server-reset=confile
Available options:
all - Reset all server components
nginx - Regenerate NGINX configuration files
php - Regenerate PHP configuration files
mysql - Reset MySQL/MariaDB settings
os - Reset operating system optimization settings
permissions - Fix file and directory permissions
confile - Regenerate Webinoly configuration file
Cache Management
Clear All Caches
Clear all server caches at once:
webinoly -clear-cache=all
Clear Specific Cache
# Clear FastCGI cache
webinoly -clear-cache=fastcgi
# Clear Redis cache
webinoly -clear-cache=redis
# Clear Memcached
webinoly -clear-cache=memcached
# Clear OPcache
webinoly -clear-cache=opcache
# Clear site-specific cache
webinoly -clear-cache=example.com
Database Management
View Database Credentials
Display stored database passwords:
Shows:
- Localhost credentials (root and admin users)
- External database credentials (if configured)
Change MySQL Password
Change password for a MySQL/MariaDB user:
# Interactive mode
webinoly -mysql-password
# Non-interactive mode
webinoly -mysql-password=[username,newpassword]
Requirements:
- Password must be at least 8 characters
- Cannot contain single quotes
- User must exist in the database
MySQL Public Access
Enable or disable remote MySQL access:
Enabling public access exposes your database to the internet. Always configure firewall rules and use strong passwords.
# Enable public access (bind to all interfaces)
webinoly -mysql-public-access=on
# Enable with specific bind address
webinoly -mysql-public-access=on -bind=192.168.1.100
# Enable with multiple IP addresses (MariaDB 10.11+)
webinoly -mysql-public-access=on -bind=192.168.1.100,192.168.1.101
# Disable public access
webinoly -mysql-public-access=off
# Create master user for remote access
webinoly -mysql-public-access=on -create-master-user
webinoly -mysql-public-access=on -create-master-user=[username,password]
Modify the port used to access server tools (phpMyAdmin, PHP info, etc.):
# Interactive mode
webinoly -tools-port
# Specify port directly
webinoly -tools-port=9999
Valid port range: 1-65535
Assign a domain to access server tools instead of using port:
# Assign domain to tools
webinoly -tools-site=tools.example.com
# Reset to default (port-based access)
webinoly -tools-site=default
# Reset and rebuild tools site
webinoly -tools-site=reset
Requirements:
- Domain must already exist as a site
- SSL is highly recommended for tools site
SFTP Access for www-data
Enable or disable SFTP access for the www-data user:
# Enable SFTP access
webinoly -sftp=on
# Disable SFTP access
webinoly -sftp=off
When enabled:
- Creates
sftponly group
- Sets up chroot jail at
/var/www
- Copies SSH keys from current user (if available)
- www-data user restricted to SFTP only (no shell access)
SMTP Configuration
Setup SMTP relay for sending emails:
# Interactive setup
webinoly -smtp
# Non-interactive setup
webinoly -smtp=[host,user,password,mainhostname]
Requirements:
- Only TLS on port 587 is supported
- Main hostname must be an existing site on your server
Remove SMTP Configuration
IP Blocking
Block or unblock IP addresses:
# Block an IP
webinoly -blockip=192.168.1.100
# Unblock an IP
webinoly -blockip=192.168.1.100 -unblock
# List blocked IPs
webinoly -blockip=list
Default Site Response
Configure NGINX default response for undefined domains:
# Set to blackhole (444 response)
webinoly -default-site=blackhole
# Set specific site as default
webinoly -default-site=example.com
# Reset to default
webinoly -default-site=default
FastCGI Cache Settings
Configure FastCGI cache timing:
# Set cache valid time
webinoly -cache-valid=[200_time,other_time,inactive_time,max_size]
# Example: 30m for 200, 5m for 3xx/4xx, 1h inactive, 2g max size
webinoly -cache-valid=[30m,5m,1h,2g]
Manage HTTP headers globally:
# Set Content Security Policy
webinoly -custom-headers=csp,[policy]
# Set Permissions Policy
webinoly -custom-headers=permissions,[policy]
# Set Cache-Control
webinoly -custom-headers=cache-control,[directive]
# Disable specific header
webinoly -custom-headers=csp,off
Dynamic Variables
Set custom configuration variables:
# Set variable
webinoly -dynvar=variable-name -value="variable value"
# Interactive mode
webinoly -dynvar=variable-name
Timezone Configuration
Set system and PHP timezone:
# Interactive mode
webinoly -timezone
# Direct specification
webinoly -timezone=America/New_York
See PHP timezones for valid values.
Update External Sources
Update public suffix list and timezone database:
webinoly -external-sources-update
Updates:
- Public Suffix List (domain validation)
- Timezone Database (PHP timezones)
Email Notifications
Configure email for server notifications:
Service Management
Webinoly automatically manages services, but you can manually control them:
# NGINX
sudo systemctl status nginx
sudo systemctl restart nginx
sudo systemctl reload nginx
# PHP-FPM
sudo systemctl status php8.3-fpm
sudo systemctl restart php8.3-fpm
# MySQL/MariaDB
sudo systemctl status mysql
sudo systemctl restart mysql
# Redis
sudo systemctl status redis-server
sudo systemctl restart redis-server
# Memcached
sudo systemctl status memcached
sudo systemctl restart memcached
Best Practices
- Regular Backups: Always backup before making configuration changes
- Test Changes: Use
-verify after configuration changes
- Monitor Resources: Regularly check
-info for resource usage
- Security First: Use blackhole default site and configure firewall
- Update Regularly: Keep system and Webinoly updated
- Use HTTPS: Enable SSL for tools site
- Strong Passwords: Use complex passwords for database users
- Monitor Logs: Regularly check logs for issues
Next Steps