[L]inux [E]ngine-X [M]ariaDB [P]HP Install[ER]
LEMPer stands for Linux, Engine-X (Nginx), MariaDB and PHP installer written in Bash script. This is just a small tool set (a bunch collection of scripts) that usually I use to deploy and manage Debian-based/Ubuntu LEMP stack. LEMPer is ServerPilot, CloudWays, RunCloud, and EasyEngine alternative crafted to support wide range PHP framework (not only WordPress).
Features
- Nginx from Ondrej's repository
- Nginx build from source with Mod PageSpeed module.
- Nginx with FastCGI cache enable & disable feature (via LEMPer CLI).
- Nginx pre-configured optimization for low-end VPS/cloud server. Need reliable VPS/cloud server? Get one here or here.
- Nginx virtual host (vhost) configuration optimized for WordPress, and several PHP Framework.
- Supported PHP Framework and CMS: default (vanilla PHP), framework (codeigniter, laravel, lumen, phalcon, symfony), CMS (drupal, mautic, roundcube, sendy, wordpress, wordpress-ms), and more coming soon.
- Multiple PHP version 5.6 [EOL], 7.0 [EOL], 7.1, 7.2, 7.3, 7.4 [Beta] from Ondrej's repository.
- PHP sets as user running the PHP script (via FPM's pool). Feel the faster Nginx with secure multi-user environment like a top-notch shared hosting.
- PHP Zend OPcache.
- PHP Loader (ionCube & SourceGuardian).
- MariaDB 10 (MySQL drop-in replacement).
- In-memory database with Redis.
- Memory cache with Memcached.
- NoSQL database with MongoDB NEW.
- Adminer web-based MySQL database administration (PhpMyAdmin replacement).
- TinyFileManager alternative web-based filemanager (Experimental).
Setting Up
- Ensure that you have git installed.
- Make a copy of .env.dist to .env in the LEMPer base directory and replace the values.
- Enter LEMPer directory.
- Execute lemper.sh file,
sudo ./lemper.sh --install.
Installing LEMP stack
sudo apt-get install git
git clone -q https://github.com/joglomedia/LEMPer.git; cd LEMPer; cp -f .env.dist .env; sudo ./lemper.sh --install
Removing LEMP stack
sudo ./lemper.sh --remove
LEMPer Command Line Administration Tool
LEMPer comes with friendly command line tool which will make your LEMP stack administration much more easier. These command line tool called Lemper CLI (lemper-cli) for creating new virtual host and managing existing LEMP stack.
lemper-cli Usage
Add/create new virtual host
sudo lemper-cli create -u username -d example.app -f default -w /home/username/Webs/example.app
Manage/update existing virtual host
sudo lemper-cli manage --enable-fastcgi-cache example.app
for more help
sudo lemper-cli --help
Note: Lemper CLI will automagically add a new PHP-FPM user's pool configuration if it doesn't exists. Your jos is add the user account, first.
Web-based Administration
You can access pre-installed web-based administration tools here
http://YOUR_IP_ADDRESS:8082/lcp/
Adminer (Web-based SQL database managemer)
http://YOUR_DOMAIN_NAME:8082/lcp/dbadmin
TinyFilemanage (Web-based file managemer)
http://YOUR_DOMAIN_NAME:8082/lcp/filemanager
TODO
Custom build latest Nginx from sourceAdd Let's Encrypt SSLAdd network security (iptable rules, firewall configurator, else?)- Add enhanced security (AppArmor, cgroups, jailkit (chrooted/jail users), else?)
- Add file backup tool (Borg, Restic, Rclone, Rsnapshot, else?)
Add database backup tool (Mariabackup, Percona Xtrabackup, else?)- Add server monitoring (Amplify, Monit, Nagios, else?)
- Add user account & hosting package management.
- Add your feature request here.
Contribution
Please send your PR on the Github repository to help improve this script.
TLDR
If you're looking for mature, feature rich, advanced, and 24/7 premium service, please don't use this script.
DONATION
SPONSORSHIP
Be the first one!
Copyright
(c) 2014-2019