https://github.com/danilopolani/grover
Grover - Web Server Crafter
https://github.com/danilopolani/grover
fail2ban firewall gzip mysql nginx php server ssh web-server
Last synced: about 2 months ago
JSON representation
Grover - Web Server Crafter
- Host: GitHub
- URL: https://github.com/danilopolani/grover
- Owner: danilopolani
- Created: 2017-04-24T13:59:49.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-05-06T21:53:42.000Z (about 9 years ago)
- Last Synced: 2025-01-22T16:48:09.537Z (over 1 year ago)
- Topics: fail2ban, firewall, gzip, mysql, nginx, php, server, ssh, web-server
- Language: Python
- Homepage:
- Size: 42 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

## What is this?
Grover is a simple interactive Python tool that allows you to craft a complete web server with LEMP stack (nginx, MySQL, PHP7.0), Fail2Ban, Firewall, only-SSH login, disable root account and other tools with simple questions like *What is your domain name?*
At this time Grover is available **only for Ubuntu servers**.
## Why should I use it?
It's free, open source and simple to use: why not?
## Ok, got it. How can I start?
1. Install pexcept with `sudo apt-get install python3-pexpect`
1. Download grover in your server. SSH in it and execute `wget https://raw.githubusercontent.com/DaniloPolani/grover/master/grover.py`.
1. Install python3, if you don't have it (you should, man).
1. Execute `sudo python3 grover.py` and answer to the questions.
## FAQs
* Why should I launch the script with sudo privileges?
* The script needs to update and install packages and edit files, so... It needs them.
* What is a domain name?
* Usually the domain name is your site domain without http and www, for example http://www.example.com will be **example.com**. If you are using a Load Balancer, type your machine IP.
* What this will install in my server?
* **PHP7.0**
* *FPM*
* *CLI*
* *mcrypt*
* *mbstring*
* *GD*
* *Secure removing version from public details*
* **Git**
* **NodeJS**
* **npm**
* **MariaDB**
* *New user (optional, but suggested)*
* *New database (optional)*
* **Nginx** (Web Server)
* *A project folder (in /var/www)*
* *HTTPS (optional) with SSL certificate + Auto redirect + HTTP/2*
* *Auto-redirect to www. or non-www.*
* *Secure removing version from public details*
* **Disable root account** (suggested)
* *New user with sudo privileges*
* *Auto-copy SSH authorized_keys to new user*
* *Disable PermitRootLogin (/etc/ssh/sshd_config file)*
* **Enable only SSH** (disabling password login)
* *Disable PasswordAuthentication (/etc/ssh/sshd_config file)*
* **Fail2Ban**
* **Firewall** (iptables + iptables-persistent)