Home LEMP Stack Webinoly – Easily Setup Optimized LEMP Stack For WordPress In Ubuntu

Webinoly – Easily Setup Optimized LEMP Stack For WordPress In Ubuntu

By sk
Published: Last Updated on 1.2K views

This tutorial explains what is Webinoly and how to easily and securely setup optimized LEMP stack for WordPress using Webinoly in Ubuntu operating systems.

What Is Webinoly?

Setting up LEMP stack in Ubuntu and other platforms is not a big deal. However, if you want to setup some additional functionalities such as installing SSL certificates, optimizing cache to increase the site speed, adding extra layer of protection, increasing the speed of serving the content and a lot more, I suggest you to take a look at a script called Webinoly.

Webinoly is a simple script that allows you to easily and securely setup optimized LEMP stack for wordpress and other type of websites in Ubuntu operating system.

Just rent a VPS or dedicated server, install Ubuntu and deploy your web server environment to host websites in minutes using Webinoly.

What Can We Do With Webinoly Script?

Using Webinoly script, we can easily deploy the following in Ubuntu system:

  • Nginx web server with FastCgi Cache and Redis Object Cache,
  • MariaDB (MySQL),
  • PHP,
  • WordPress or any type of websites like HTML, PHP.

In addition, it provides a set of tools and commands to add the following extra features and best practices for your websites:

  • Install free SSL certificates for your site with Let's Encrypt.
  • Enable HTTP/2 support to increase the speed of the contents of your websites.
  • Configure FastCgi Cache and Redis Object Cache to increase website loading time.
  • Get an A+ grade on Qualys (SSL Labs) Test.
  • Automatically optimize your webserver to get the most out of the available resources.
  • Configure and modify your server configuration as per your requirements.
  • Single or multisite wordpress deployment.
  • Unique commands to easily create, disable and delete sites.
  • Install Duplicity tool to backup your sites to external services like Amazon S3, among others.
  • Install PhpMyAdmin to manage databases via a web browser.
  • Support for automatic configuration of external databases such as Amazon RDS.
  • Install Postfix to send and receive mails from your site.
  • Automatic WordPress configuration and optimization
  • Activate an extra layer of protection on the WordPress login page with HTTP Authentication.
  • Upload or update contents of your sites via SFTP.
  • Log viewer in real time.
  • And a lot more.

Webinoly is completely open source and free and its source code is available on GitHub.

Install Webinoly In Ubuntu

As of writing this guide, Webinoly supports Ubuntu 22.04 and 20.04 LTS editions. Like I already said, setting up optimized LEMP webserver is not that hard. All you have to do is run the following commands in your Ubuntu machine.

$ sudo apt install wget
$ wget -qO weby qrok.es/wy && sudo bash weby 3

Now, sit back and have a cup of coffee. The above commands will install and configure all necessary tools, enable security features and best practices for your LEMP web server. At the end of installation, you will be given your database access passwords of root and admin users. Change them and save them in a secure place.

Webinoly installation finished

Webinoly installation finished

Setup Optimized LEMP Stack For WordPress Using Webinoly In Ubuntu

Once the LEMP server is ready, deploy your first WordPress site using command:

$ sudo site example.com -wp

You will be asked a series of questions. Answer accordingly and complete the wordpress site creation.

Do you need to setup new MySQL database? [Y/n]
Create WP-Config file automatically? [Y/n]

Database Host [localhost]:Database Name [example_com]:
Database User [example_com]:
Database Password [A4PXURg5]:
Database Prefix [wp_]:

Site example.com has been successfully created!

To access PhpMyAdmin dashboard, navigate to http://domain.com:22222 URL from your web browser. Replace domain.com with your own domain name.

Similarly, you can deploy any single or multisite wordpress instances easily and quickly.

Webinoly Command line usage

Webinoloy provides a handful of commands to perform the following tasks:

  • Manage, configure your web server using webinoly command.
  • View logs using log command.
  • Install, remove tools installed by Webinoly on your Ubuntu server using stack command.
  • Create and manage websites using site command.
  • Configure HTTP authentication using HttpAuth command.

"Webinoly" command examples

The webinoly command is used to manage, configure and modify settings in your webserver.

To view all details about the installation, configuration and optimization made by Webinoly script, run:

$ sudo webinoly -info

Update Webinoly to latest available version:

$ sudo webinoly -update

Verify the integrity of the files related to Webinoly and other installed packages:

$ sudo webinoly -verify

If you haven't set the timezone in PHP already, you can set it at any time using the command:

$ sudo webinoly -timezone

Webinoly saves a copy of your DB username and password generated automatically during the installation.

To view your DB username and password, run:

$ sudo webinoly -dbpass

Please note that if you have already changed automatically generated passwords, you can't recover them at present. This is a bug and is expected to be fixed in the next release.

Webinoly uses port 22222 for all tools by default. If you want to change the port, run the following command and enter your proffered port number:

$ sudo webinoly -tools-port

Or, simply use this command:

$ sudo webinoly -tools-port=<port-number>

Webinoly allows you to upload files to your website root directory through SFTP. You can allow SFTP access to www-data user, run:

$ sudo webinoly -login-www-data

The www-data user has very limited permissions and can be able to access your site via SFTP only. To revoke the permission, simply run:

$ sudo webinoly -nologin-www-data

Modify FastCGI cache settings using command:

$ sudo webinoly -config-cache

The time parameters should be specified in the following format:

  • s – seconds
  • m – minutes
  • h – hours
  • d – days
  • w – weeks
  • M – Months
  • y – years

Eg:

$ sudo webinoly -config-cache=[20d,2w,2m]

Webinoly uses the following plugins to serve your site contents faster.

  • fastcgi
  • redis
  • memcached
  • opcache

You can clear the cache at any time. For example, to clear FastCGI cache, run:

$ sudo webinoly -clear-cache=fastcgi

To clear all cache, the command would be:

$ sudo webinoly -clear-cache=all

"Log" command examples:

The log command is used to view log details and various events happened on your Ubuntu server.

To view all logs, run:

$ sudo log

To view the log details of a particular site, for example domain.com, run:

$ sudo log domain.com

To view all error log, use:

$ sudo log -error

To view error log of a particular domain:

$ sudo log domain.com -error

To view wordpress related logs, run:

$ sudo log domain.com -wp

To view logs generated by an application like PHP, MySQL, do:

$ sudo log -php
$ sudo log -mysql

If you don't want logs, just turn them off as shown belwo.

$ sudo log -only-error=on
$ sudo log dominio.com -only-error=on

To activate the logs again, use -only-error=off option.

"Stack" command examples:

The stack command is used to install and remove packages and tools installed by Webinoly script.

Let us say, if you want to install Nginx, simply run:

$ sudo stack -nginx

Install MySQL:

$ sudo stack -mysql

Or, install the whole LEMP stack with command:

$ sudo stack -lemp

To remove a package, run:

$ sudo stack -mysql -purge

"Site" command examples:

The site command is used to manage websites hosted in your webserver. Using this command, we can create HTML, PHP and wordpress sites.

View the list of hosted sites in your server:

$ sudo site -list

Sample output:

- 22222 
- example.com 
- html

Create a basic HTML site:

$ sudo site domain.com -html

Create a site with PHP support:

$ sudo site domain.com -php

Create a wordpress site:

$ sudo site domain.com -wp

Create wordpress multisite, either in subdomain or subdirectory:

$ sudo site domain.com -wpsubdom
$ sudo site domain.com -wpsubdir

Enable/Disable FastCGI cache:

$ sudo site domain.com -cache
$ sudo site domain.com -nocache

Enable cache while creating a site:

$ sudo site domain.com -wp -cache

Enable/Disable SSL certificate:

$ sudo site domain.com -ssl-on
$ sudo site domain.com -ssl-off

Activate/Deactivate sites:

$ sudo site domain.com -on
$ sudo site domain.com -off

Remove a specific site:

$ sudo site domain.com -delete

Remove all sites hosted in the webserver:

$ sudo site -delete-all

“HttpAuth” command examples:

The HttpAuth command is used to manage the users with permission to access pages protected by the HTTP authentication method.

To create a user to access pages protected with HTTP Authentication, run:

$ sudo httpauth -add

Delete the user:

$ sudo httpauth -delete

Enable/Disable HTTP authentication in wordpress login:

$ sudo httpauth -wp-admin-on
$ sudo httpauth -wp-admin-off

List all users with HTTP authentication:

$ sudo httpauth -list

The above command will create a wordpress site with FastCGI cache enabled.

For more details about Webinoly configuration and usage, visit official documentation page or support forum.

Have you ever tried Webinoly in production? How'd it go? Share your thoughts about this script in the comment section below.

Resources:

You May Also Like

2 comments

Chris October 14, 2018 - 1:37 am

Personally I don’t like these tools creating their own language for shortcuts. Everyone knows Bash why don’t you stick with that so every freaking tool you don’t need to learn another language? That is what SlickStack does: https://github.com/littlebizzy/slickstack

Reply
sk October 14, 2018 - 11:06 am

Thanks. I will take a look into it.

Reply

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This website uses cookies to improve your experience. By using this site, we will assume that you're OK with it. Accept Read More