Installation

Installing, configuring, and optimizing your web server has never been easier.

Supported site types:

  • HTML
  • PHP
  • WordPress
  • Reverse Proxy
    • Nginx in front of your app/site (Java, Node, Angular, React, Vue, Django, etc.)
    • Your own domain to access external file repos like S3.
  • Parked or “alias”
  • Domain forwarding
  • Fully-Custom sites (Custom Nginx Configuration)

* Please read the Quick Setup and Examples section below.

Webinoly Nginx stack

Requirements

  • Operating System: Ubuntu Server
  • Version: 24.04 / 22.04 (LTS Standard)
  • Architecture: arm64 / x86_64 (amd64)
  • RAM Minimum: 512 MB

* Bash Shell is required.

Firewall

Port Configuration:

  • 22/TCP (Inbound/Outbound)
  • 25/TCP (Outbound)
  • 80/TCP (Inbound/Outbound)
  • 443/TCP (Inbound/Outbound)
  • 443/UDP (Inbound/Outbound)
  • 587/TCP (Outbound)
  • 11371/TCP (Outbound)
  • 22222/TCP (Inbound)

* Read: What kind of firewall do I need?

Server administration requires specific skills, knowledge, and experience. While Webinoly simplifies the process, we recommend considering alternative solutions if you’re not prepared to handle potential server issues beyond the scope of this project.

Please, read our Frequently Asked Questions page before installing Webinoly.

Use our affiliate link for Digital Ocean and get $200 of FREE credit for new users.

* Need help to decide which server is the good one for you? Here is a complete guide about how to choose the right server.

Quick Setup & Examples

Updating and upgrading your operating system is always recommended as first step: sudo apt update && sudo apt -y upgrade to avoid risks caused by outdated packages when building your web server stack.

Example 1: HTML Site

# Webinoly NGINX Installation
wget -qO weby qrok.es/wy && sudo bash weby -nginx

# Create your site
sudo site example.com -html

# Add an SSL Cert
sudo site example.com -ssl=on

# Enable www-data user to upload and modify files via SFTP.
sudo webinoly -sftp=on

Example 2: PHP Site

# Webinoly NGINX and PHP Installation
wget -qO weby qrok.es/wy && sudo bash weby -php

# Create site
sudo site example.com -php

# SSL Certificate (HTTPS) for your site
sudo site example.com -ssl=on

# Enable www-data user to upload and modify files via SFTP.
sudo webinoly -sftp=on

Example 3: WordPress

# Webinoly LEMP Installation
wget -qO weby qrok.es/wy && sudo bash weby

# Create a WordPress site with FastCGI Cache
sudo site example.com -wp -cache=on

# SSL Certificate (HTTPS) for your site
sudo site example.com -ssl=on

# Visit https://example.com and finish WP setup
# Webinoly protects WP login pages (wp-admin / wp-login)
# We need to create a user for HTTP Authentication.
# Make sure to use strong credentials and keep them secure.
sudo httpauth -add

# Enable www-data user to upload and modify files via SFTP.
sudo webinoly -sftp=on

Example 4: Java, Vue, React, Node, Angular, etc.

Nginx in front of your app/site.

# Webinoly NGINX Installation
wget -qO weby qrok.es/wy && sudo bash weby -nginx

# Create a Reverse Proxy site (Point your domain to your app)
sudo site example.com -proxy=[localhost:8082]

# Add an SSL Cert
sudo site example.com -ssl=on -root-path=/opt/app/web

Example 5: Custom Configuration

# Webinoly Clean Installation
wget -qO weby qrok.es/wy && sudo bash weby -clean

# Change PHP version
sudo stack -php-ver=7.4

# Timezone
sudo webinoly -timezone

# Change any conf you want before building the stack
# Change Nginx branch to mainline
# Set MySQL as default instead of MariaDB.
# Change MariaDB version.
# Etc...
sudo nano /opt/webinoly/webinoly.conf

# Now build the stack using your Custom Configuration
# Here we're using the 'light' option to not install additional tools (only core packages)
# Let's Encrypt, Backups, Postfix, Redis, Memcached, phpMyAdmin, etc, will NOT be installed.
# Also, you can use the 'basic' option, or install individual tools according to your needs.
sudo stack -lemp -build=light

# Create a site
sudo site example.com -php

And that’s it—really, it’s that simple!

That’s enough for most of the basic projects, of course, I invite you to read our very detailed documentation to see all the amazing customizations you can do in your server to build the most advanced configurations according to everyone’s needs, especially for those very big projects that require very specific tunings.

* You want more advanced examples? Read our Full Advanced Practical Tutorial.
** You want a complete course about Web Servers? Read our complete course on Introduction to Web Server Administration.

Installation command

The installation command accepts some options to facilitate and automate its implementation.

wget -qO weby qrok.es/wy && sudo bash weby <option> <version>

You can choose what specific packages you want to install according to your needs:

OptionPackages installedIdeal for
-nginxNginx onlyStatic HTML
-phpNginx + PHPDynamic PHP sites
-lempNginx + PHP + MariaDB/MySQLWordPress and full-stack use
-cleanNo packages (manual setup)Custom configuration
* Default is LEMP, but individual packages can be installed, for example, install just NGINX if you just need HTML sites.

Recommendation

Please, don’t use the default option (LEMP) if you plan to make custom changes to your server configuration, like changing the PHP version, or changing the database engine, etc.

Use the “clean” option instead, as is shown in the example #5 above.

The installation of specific versions facilitates an appropriate change management process in automated environments, for example, where Webinoly is integrated. In these cases, it is critical to guarantee the stability of the system as a whole. Be sure to test each version before adopting it.

Example

# Install Nginx only:
wget -qO weby qrok.es/wy && sudo bash weby -nginx

# Custom Webinoly version (v1.17.9 or newer):
wget -qO weby qrok.es/wy && sudo bash weby -lemp -ver=1.17.9

Warning: Previous versions may be obsolete or with limited features, so it is always recommended to keep your system updated with the latest and newest version of this application.


If you have any questions, suggestions, ideas, or comments, or if you (gasp!) found a bug, join us in the Discussions Area.