Skip to main content
Webinoly provides a powerful stack management system that allows you to install and configure server components individually or as a complete LEMP stack.

Installation Profiles

Webinoly offers several installation profiles to match your needs:

Full Stack

Complete LEMP stack with all tools (NGINX, PHP, MySQL/MariaDB, SSL, Backups, Redis, Memcached)

Basic Stack

LEMP core packages plus SSL and Backups

Light Stack

Only essential LEMP packages (NGINX, PHP, MySQL/MariaDB)

Partial Stack

Install individual components as needed

Complete LEMP Stack Installation

Install the complete stack with a single command:
sudo stack -lemp
The -lemp option installs NGINX, PHP, and MySQL/MariaDB together. You can customize the installation with -build parameter.

Individual Component Installation

Installing NGINX

Install the NGINX web server:
1

Install NGINX

sudo stack -nginx
This installs and optimizes NGINX with Webinoly’s custom configuration.
2

Choose NGINX Version

Select between stable or mainline versions:
Stable Version (Recommended)
sudo stack -nginx=stable
Mainline Version
sudo stack -nginx=mainline
3

Verify Installation

Check NGINX status:
sudo systemctl status nginx
nginx -v

Installing PHP

Install PHP-FPM with all required extensions:
1

Install PHP

sudo stack -php
If NGINX is not installed, you’ll be prompted to install it.
2

PHP with NGINX

Install both NGINX and PHP together:
sudo stack -php=nginx
Webinoly automatically installs the following PHP extensions:
  • php-common, php-cli, php-fpm
  • php-curl, php-gd, php-imap
  • php-readline, php-mysql, php-mbstring
  • php-bcmath, php-zip, php-xml
  • php-soap, php-imagick, php-msgpack
  • php-igbinary, php-intl, php-opcache
  • graphviz, ghostscript

Installing MySQL/MariaDB

Install database server:
sudo stack -mysql
During installation, root and admin passwords are automatically generated and securely stored. Database credentials are no longer displayed in the terminal for security reasons.

Build Options

Control what gets installed using build parameters:
# Only core packages, no additional tools
sudo stack -lemp -build=light

Installation Process

Webinoly follows a systematic installation process:
1

Pre-Installation Checks

  • Verifies Ubuntu version compatibility
  • Checks for required system packages
  • Installs essential dependencies
2

Repository Configuration

  • Adds official package repositories
  • Configures GPG keys for security
  • Updates package lists
3

Package Installation

  • Installs selected components
  • Configures services automatically
  • Enables systemd services
4

Optimization

  • Applies Webinoly optimizations
  • Configures security settings
  • Creates admin tools site
5

Verification

  • Verifies all services are running
  • Checks configuration integrity
  • Reports installation status

Unattended Installation

For automated deployments, Webinoly supports unattended installation:
# Set configuration before installation
sudo webinoly -config-set=php-ver:8.4
sudo webinoly -config-set=mysql-ver:11.8
sudo webinoly -config-set=nginx-ppa:stable

# Install with force flag (no prompts)
sudo stack -lemp -force

Installation Requirements

System Requirements

  • Operating System: Ubuntu 20.04 (Focal), 22.04 (Jammy), or 24.04 (Noble)
  • Architecture: AMD64, ARM64
  • RAM: Minimum 512MB (1GB+ recommended)
  • Disk Space: Minimum 2GB free space
  • Privileges: Root or sudo access required

Network Requirements

  • Active internet connection for package downloads
  • Access to official package repositories
  • Ports 80 and 443 available for web traffic

Post-Installation

After installation, Webinoly automatically:
  • Creates an admin tools site accessible at http://your-server-ip:22222
  • Configures firewall rules (if UFW is enabled)
  • Sets up log rotation
  • Creates SWAP file if needed
  • Optimizes kernel parameters
View your installation details:
sudo stack -info

Troubleshooting Installation

Common Issues

Clear package cache and retry:
sudo apt clean
sudo apt update
sudo stack -nginx
Check service status and logs:
sudo systemctl status nginx
sudo journalctl -xe
Ensure ports 80 and 443 are available:
sudo netstat -tlnp | grep :80
sudo netstat -tlnp | grep :443

Next Steps

Configure NGINX

Customize NGINX settings and optimization

Manage PHP Versions

Switch between PHP versions and configure settings

Setup Database

Configure MySQL/MariaDB and manage users

Install Tools

Add Redis, Memcached, and other tools

Build docs developers (and LLMs) love