Skip to content

Commit 60901ea

Browse files
committed
Revert "Revert "First commit""
This reverts commit 0280571.
1 parent 0280571 commit 60901ea

145 files changed

Lines changed: 9488 additions & 1 deletion

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitattributes

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Auto detect text files and perform LF normalization
2+
* text=auto
3+
4+
# Custom for Visual Studio
5+
*.cs diff=csharp
6+
7+
# Standard to msysgit
8+
*.doc diff=astextplain
9+
*.DOC diff=astextplain
10+
*.docx diff=astextplain
11+
*.DOCX diff=astextplain
12+
*.dot diff=astextplain
13+
*.DOT diff=astextplain
14+
*.pdf diff=astextplain
15+
*.PDF diff=astextplain
16+
*.rtf diff=astextplain
17+
*.RTF diff=astextplain

README.md

Lines changed: 94 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,94 @@
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+
----------

enginescript-variables.txt

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
######################################################################
2+
# # # # # # # # # # # # EngineScript Variables # # # # # # # # # # # #
3+
######################################################################
4+
5+
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-
6+
#-#-#-#-#-#-# Edit These At Your Own Risk #-#-#-#-#-#-
7+
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-
8+
9+
# Variables date: 09/08/21
10+
11+
# Software Versions
12+
MARIADB_VER="10.6"
13+
NGINX_HEADER_VER="0.33"
14+
NGINX_PURGE_VER="2.5.1"
15+
NGINX_VER="1.21.3"
16+
OPENSSL_VER="1.1.1l"
17+
PCRE_VER="8.44"
18+
PHP_VER="8.0"
19+
ZLIB_VER="1.2.11"
20+
21+
# EngineScript Variables
22+
BIT_TYPE="$(uname -m)"
23+
CPU_COUNT="$(nproc --all)"
24+
DT="$(date +"%m-%d-%y")"
25+
IP_ADDRESS="$(ip -o route get to 8.8.8.8 | sed -n 's/.*src \([0-9.]\+\).*/\1/p')"
26+
LINUX_TYPE="$(lsb_release -si)"
27+
RAND_CHAR2="$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 2 | head -n 1)"
28+
RAND_CHAR4="$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 4 | head -n 1)"
29+
RAND_CHAR8="$(pwgen -1Bcns 8)"
30+
RAND_CHAR16="$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 16 | head -n 1)"
31+
RAND_CHAR24="$(date +%s | sha256sum | base64 | head -c 24)"
32+
RAND_CHAR32="$(pwgen -1Bcns 32)"
33+
SERVER_MEMORY_TOTAL_01="$(free -m | awk 'NR==2{printf "%d", $2*0.01 }')"
34+
SERVER_MEMORY_TOTAL_02="$(free -m | awk 'NR==2{printf "%d", $2*0.02 }')"
35+
SERVER_MEMORY_TOTAL_07="$(free -m | awk 'NR==2{printf "%d", $2*0.07 }')"
36+
SERVER_MEMORY_TOTAL_60="$(free -m | awk 'NR==2{printf "%d", $2*0.60 }')"
37+
SERVER_MEMORY_TOTAL_80="$(free -m | awk 'NR==2{printf "%d", $2*0.80 }')"
38+
UBUNTU_CODENAME="$(lsb_release -sc)"
39+
UBUNTU_VER="$(lsb_release -sr)"
40+
41+
# Shell text
42+
BOLD="$(tput bold)"
43+
NORMAL="$(tput sgr0)"

0 commit comments

Comments
 (0)