Overview
Webinoly provides automatic update capabilities for both the application itself and the underlying server stack (NGINX, PHP, MySQL/MariaDB).
Update Webinoly
Check for Updates
Before updating, check if a new version is available:
This displays:
- Current Webinoly version
- Installed stack version
- Available stack version (if newer)
Standard Update
Update to the latest stable version:
What happens during update:
- Webinoly checks for the latest version via API
- Downloads the new version from official repository
- Runs migration scripts for version upgrades
- Updates configuration files
- Resets server configuration to latest optimized settings
- Verifies installation integrity
The update process will reset server configurations to default optimized settings. Custom manual changes may be overwritten.
Update from Specific Version
Downgrade or upgrade to a specific version:
# Downgrade to specific version
sudo webinoly -update=1.20.0
# Note: Beta/alpha versions cannot be updated to stable
Update from Branch
Install from development branch:
# Beta branch
sudo webinoly -update=beta
# Alpha branch
sudo webinoly -update=alpha
Beta and alpha versions are for testing only. Do not use in production. Once on beta/alpha, you cannot update back to stable.
Update Server Stack
Update the underlying LEMP stack components:
This updates:
- NGINX to latest version
- PHP to latest version
- MySQL/MariaDB to latest version
- System packages
- Dependencies
Stack updates may require server reconfiguration and can cause temporary downtime. Always backup before updating.
What Gets Updated
Webinoly Application
Updated components:
- Core Webinoly scripts (
/opt/webinoly/)
- Command-line tools (
webinoly, site, stack, httpauth, log)
- Configuration templates
- Library functions
- Helper scripts
Preserved data:
- Site files and databases
- SSL certificates
- User configurations
- Backup profiles
- Custom site configurations
Server Stack Components
NGINX:
- Binary and modules
- Configuration files (regenerated with optimizations)
- Common configuration includes
PHP:
- PHP-FPM and CLI
- PHP extensions
- Configuration files (regenerated with optimizations)
- Pool configurations
MySQL/MariaDB:
- Server binaries
- Configuration files (optimizations applied)
- No data changes
Tools:
- Certbot (Let’s Encrypt client)
- Duplicity and Duply (backup tools)
- Redis server
- Memcached
- Postfix
- phpMyAdmin
Update Process Details
Pre-Update Steps
-
Backup Configuration: Webinoly automatically creates a backup:
~/.webinoly-conf-restore_dont-remove
-
Version Validation: Checks current and target versions
-
API Check: Verifies latest available version
During Update
-
Download: Fetches update script from official repository
-
Migration: Runs version-specific migration scripts:
- Updates configuration format
- Migrates deprecated settings
- Updates system dependencies
- Regenerates configuration files
-
Service Management: Automatically handles service restarts
-
Verification: Runs integrity checks after update
Post-Update
After updating, Webinoly automatically:
- Resets server configuration (see below)
- Verifies installation
- Shows update completion message
Migration Versions
Webinoly handles migrations automatically between versions:
Major Version Migrations
v1.5.0 - phpMyAdmin Update
- Removes old phpMyAdmin installation
- Installs newer phpMyAdmin version
- Updates Let’s Encrypt integration
v1.6.0 - Additional Tools
v1.7.0 - Configuration Updates
- Removes deprecated “ssl on” directive
- Updates swappiness configuration
- Backs up default NGINX file
v1.9.0 - ACL and Auth Updates
- Creates apps.d directory
- Updates ACL configuration
- Adds HTTP authentication support
v1.12.0 - FastCGI and Debug Updates
- Updates FastCGI parameters
- Removes debug pool configuration
- Updates admin tools structure
v1.14.0 - NGINX Repository Change
- Switches to official NGINX repository
- Updates package signing keys
- Migrates from PPA to official repo
v1.16.0 - Certbot Snap Migration
- Removes Certbot from apt
- Installs Certbot via snap
- Updates SSL renewal configuration
v1.17.0 - Configuration Headers
- Migrates header configurations
- Updates site includes
- Renames admin tools folder
v1.18.0 - HTTP/3 Support
- Enables HTTP/3 for SSL sites
- Updates NGINX keys
v1.18.3 - Backup Updates
- Updates boto3 for S3 backups on Ubuntu 24.04
v1.18.4 - MariaDB Repository Fix
- Updates MariaDB repository configuration
v1.20.0 - Configuration File
- Regenerates configuration file format
Update Verification
After updating, verify the installation:
# Quick verification
webinoly -verify=critical
# Full verification
webinoly -verify
# Check version
webinoly -version
# View system info
webinoly -info
Update Failures
If Update Fails
If an update fails mid-process:
-
Check error message: Read the error output carefully
-
Review logs:
sudo tail -f /var/log/syslog
-
Restore configuration (if needed):
sudo tar -xf ~/.webinoly-conf-restore_dont-remove -C /
-
Re-run update:
-
Manual recovery:
# Verify installation
webinoly -verify
# Reset configuration
webinoly -server-reset=all
Common Update Issues
API Unavailable
- Check internet connectivity
- Retry after a few minutes
- Use specific version:
sudo webinoly -update=1.20.0
Disk Space
- Free up disk space before updating
- Remove old packages:
sudo apt clean
Snap Installation Fails (Certbot)
- Check snap is installed:
snap version
- Manually install:
sudo snap install --classic certbot
Version Mismatch
- Regenerate config:
webinoly -server-reset=confile
- Run verification:
webinoly -verify
Update Schedule
Recommended Update Frequency
Webinoly:
- Check monthly for updates
- Apply security updates immediately
- Review changelog before major version updates
Server Stack:
- Update quarterly or as needed
- Apply security patches promptly
- Test in staging environment first
Operating System:
- Apply security updates weekly
- Check for updates:
sudo apt update
sudo apt list --upgradable
Rollback
Emergency Rollback
If an update causes critical issues:
Rollback should be used only in emergency situations. Always try to fix issues first.
-
Restore configuration:
sudo tar -xf ~/.webinoly-conf-restore_dont-remove -C /
-
Downgrade packages (if needed):
# Check available versions
apt-cache policy nginx
# Install specific version
sudo apt install nginx=1.24.0-1~jammy
-
Verify installation:
Best Practices
Before Updating
-
Backup Everything:
# Backup sites and databases
webinoly -backup=local -export
# Backup configuration
sudo tar -czf ~/webinoly-backup.tar.gz /opt/webinoly /etc/nginx /etc/php
-
Note Current Versions:
webinoly -version
webinoly -info
-
Check Changelog: Review changes in new version
-
Schedule Maintenance Window: Plan for potential downtime
-
Inform Users: Notify about maintenance
During Update
- Monitor Progress: Watch for errors
- Don’t Interrupt: Let update complete
- Save Output: Keep terminal output for reference
After Update
-
Run Verification:
-
Test Sites: Check all sites are working
-
Review Configurations: Check for reset settings
-
Check Logs: Look for errors
sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/syslog
-
Update Documentation: Note any manual changes needed
Automatic Updates
Webinoly does not automatically update itself. You must manually run updates.
Why Manual Updates?
- Gives you control over update timing
- Allows review of changes before applying
- Prevents unexpected breaking changes
- Enables proper backup before updates
Optional Automation
If you want automated updates (not recommended for production):
# Create cron job (use with caution)
echo "0 3 * * 0 root /usr/bin/webinoly -update" | sudo tee -a /etc/crontab
Automated updates can cause downtime and break configurations. Only use in development environments.
Update External Sources
Update external data sources (domain lists, timezones):
webinoly -external-sources-update
This updates:
- Public Suffix List (for domain validation)
- Timezone Database (for PHP timezone support)
Keep track of updates:
Next Steps