EngineScript automates the process of building a high-performance LEMP server. We've specifically built EngineScript with WordPress users in mind, so the install process will take you from a bare server all the way to a working WordPress installation with Nginx FastCGI cache enabled in about 30 minutes.
EngineScript is meant to be run as root user on a fresh VPS. Initial setup will remove existing Apache, Nginx, PHP, and MySQL installations, so be careful.
As this is a pre-release version.
- A Newly Created VPS (Digital Ocean droplet recommended)
- Ubuntu 20.04
- 64-Bit OS
- Minimum 1GB RAM (2GB+ recommended)
- Cloudflare (free or paid)
- 30 minutes of your time
Run the following command
wget https://raw.githubusercontent.com/EngineScript/EngineScript/master/setup.sh && bash setup.shAfter the initial setup script has run, you'll need to alter the install options file before continuing.
Edit the following file: /home/EngineScript/enginescript-install-options.txt.
Download the file via FTP and edit it using your favorite text editor. You may also edit the file directly from the console using the following command:
nano /home/EngineScript/enginescript-install-options.txtOnce you've filled out the enginescript-install-options.txt file with your personal settings, run the following command to continue with the installation process:
bash /usr/local/bin/enginescript/enginescript-install.shAfter EngineScript is fully installed, type es.menu in console to bring up the EngineScript menu. Choose option 1 to create a new domain.
Domain creation is almost entirely automated, requiring you to only enter the domain name you wish to create. During this automated process, we'll create a unique Nginx vhost file, create new MySQL database, request a new SSL certificate from Cloudflare, download WordPress, install and activate plugins, and assign the applicable data to your wp-config.php.
Before your site is ready to use, you'll need to go into Cloudflare to configure a number of important settings. Follow the steps below to finalize your installation:
- Select your site.
- Click on the SSL/TLS tab.
- Set the SSL mode to Full (Strict).
- Set Always Use HTTPS to Off. (Important: This can cause redirect loops)
- Enable HSTS. (Optional) We recommend enabling HSTS. However, turning off HSTS will make your site unreachable until the Max-Age time expires. This is a setting you want to set once and leave on forever.
- Set Minimum TLS Version to TLS 1.2.
- Enable Opportunistic Encryption.
- Enable TLS 1.3.
- Enable Automatic HTTPS Rewrites
- Set Authenticated Origin Pulls to On.
- Enable HTTP/2.
- Enable HTTP/3 (with QUIC). (Optional)
- Enable 0-RTT Connection Resumption. (Optional)
- Enable IPv6 Compatibility. (Optional)
- Enable gRPC. (Optional)
- Enable WebSockets. (Optional)
- Enable Onion Routing. (Optional)
- Set Pseudo IPv4 to Add Header. (Optional)
- Enable IP Geolocation. (Optional)
| Location | Usage |
|---|---|
| /etc/mysql | MySQL (MariaDB) config |
| /etc/nginx | Nginx config |
| /etc/php | PHP config |
| /etc/redis | Redis config |
| /home/EngineScript | EngineScript user directories |
| /usr/local/bin/enginescript | EngineScript source |
| /var/lib/mysql | MySQL database |
| /var/log | Server logs |
| /var/www/admin/enginescript | Tools that may be accessed via your server's IP address |
| /var/www/sites/yourdomain.com/html | Root directory for your WordPress installation |
| Command | Function |
|---|---|
es.cache |
Clear FastCGI Cache, OpCache, and Redis (server-wide) |
es.optimize |
Losslessly compress all images in the WordPress /uploads directory (server-wide) |
es.menu |
EngineScript menu |
es.restart |
Restart Nginx and PHP |
es.update |
Update EngineScript |
Need a VPS? EngineScript recommends Digital Ocean