|
1 | | -# EngineScript |
| 1 | +## **EngineScript - Advanced WordPress LEMP Server** |
| 2 | + |
| 3 | +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. |
| 4 | + |
| 5 | +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. |
| 6 | + |
| 7 | +As this is a pre-release version, things might be totally broken day-to-day as we test different methods of building the server. |
| 8 | + |
| 9 | +#### Features |
| 10 | + |
| 11 | +#### Requirements |
| 12 | +- **Ubuntu 20.04** |
| 13 | +- **64-Bit OS** |
| 14 | +- **Minimum 1GB RAM** *(2GB+ recommended)* |
| 15 | +- **Cloudflare** *(free or paid)* |
| 16 | +- **30 minutes of your time** |
| 17 | + |
| 18 | + |
| 19 | +If you'd like to test EngineScript for yourself, just enter the command below into your favorite SSH client. This should be done on a fresh server with no current Nginx, PHP, or MySQL clients currently installed. |
| 20 | + |
| 21 | +### Install EngineScript |
| 22 | +```shell |
| 23 | +wget https://raw.githubusercontent.com/VisiStruct/EngineScript/master/setup.sh && chmod 0700 setup.sh | setup.sh |
| 24 | +``` |
| 25 | + |
| 26 | +---------- |
| 27 | + |
| 28 | +#### Domain Creation |
| 29 | +After EngineScript is fully installed, type `enginescript` or `es.menu` in console to bring up the EngineScript menu. Choose option 2 to create a new domain. |
| 30 | + |
| 31 | +Domain creation is almost entirely automated, requiring only a few lines entered by the user. During this automated domain creation process, we'll create a unique Nginx vhost file, create new MySQL database / user/ password, download the latest WordPress release, and assign the applicable data to your wp-config.php file within WordPress. |
| 32 | + |
| 33 | +#### Tuning MySQL |
| 34 | +Our default settings are built to accommodate a VPS with 1GB RAM. However, you'll definitely want to adjust the values within php.ini and my.cnf if you're building on a server with more memory. |
| 35 | + |
| 36 | +As a reminder, you can locate your MySQL root login credentials in `/home/EngineScript/` |
| 37 | + |
| 38 | +**Run MySQLTuner:** |
| 39 | +```shell |
| 40 | +perl /usr/local/bin/mysqltuner/mysqltuner.pl |
| 41 | +``` |
| 42 | + |
| 43 | +**Run Tuning-Primer:** |
| 44 | +```shell |
| 45 | +/usr/local/bin/tuning-primer/tuning-primer.sh |
| 46 | +``` |
| 47 | + |
| 48 | +### EngineScript Information |
| 49 | +#### EngineScript Location Reference |
| 50 | +|Location |Usage | |
| 51 | +|----------------|-------------------------------| |
| 52 | +|**/etc/mysql** |MySQL (MariaDB) config | |
| 53 | +|**/etc/nginx** |Nginx config | |
| 54 | +|**/etc/php** |PHP config | |
| 55 | +|**/etc/redis** |Redis config | |
| 56 | +|**/home/EngineScript** |EngineScript user directories | |
| 57 | +|**/usr/local/bin/enginescript** |EngineScript source | |
| 58 | +|**/var/lib/mysql** |MySQL database | |
| 59 | +|**/var/log** |Server logs | |
| 60 | +|**/var/www/admin** |Admin Panel root | |
| 61 | +|**/var/www/admin/enginescript** |Tools that may be accessed via your server's IP address | |
| 62 | +|**/var/www/sites/yourdomain.com/html**|Root directory for your WordPress installation | |
| 63 | +| | | |
| 64 | + |
| 65 | +#### EngineScript Commands |
| 66 | + |
| 67 | +|Command |Function | |
| 68 | +|-------------------|-------------------------------| |
| 69 | +|**`es.compress`** |Compresses /var/www/sites directories with Brotli and GZIP | |
| 70 | +|**`es.menu`** |EngineScript menu | |
| 71 | +|**`es.mysql`** |Prints MySQL root login credentials| |
| 72 | +|**`es.restart`** |Restarts Nginx and PHP | |
| 73 | +|**`es.update`** |Updates EngineScript, performs apt full-upgrade | |
| 74 | +|**`es.virus`** |Virus scans /var/www/sites directories with ClamAV | |
| 75 | +|**`ng.test`** |`nginx -t -c /etc/nginx/nginx.conf` | |
| 76 | +|**`ng.stop`** |`ng.test && systemctl stop nginx` | |
| 77 | +|**`ng.reload`** |`ng.test && systemctl reload nginx` | |
| 78 | +| | | |
| 79 | + |
| 80 | +### Helpful Tutorials |
| 81 | + |
| 82 | +### Helpful Resources |
| 83 | + |
| 84 | +#### Security |
| 85 | +***placeholder*** - https://www.owasp.org/index.php/OWASP_Secure_Headers_Project#tab=Headers |
| 86 | +# https://scotthelme.co.uk/a-new-security-header-referrer-policy/ |
| 87 | +# https://msdn.microsoft.com/en-us/library/ff955275(v=vs.85).aspx |
| 88 | +# https://yoast.com/x-robots-tag-play/ |
| 89 | +# Content-Security-Policy: https://developers.google.com/web/fundamentals/security/csp/ |
| 90 | + |
| 91 | +### Support EngineScript |
| 92 | +Need a VPS? EngineScript recommends [Digital Ocean](https://m.do.co/c/e57cc8492285) |
| 93 | + |
| 94 | +---------- |
0 commit comments