Update README

This commit is contained in:
Edi Septriyanto
2022-02-12 11:30:50 +07:00
parent d0899bb238
commit ced9eca033

View File

@@ -19,40 +19,50 @@ LEMPer stands for Linux, Engine-X (Nginx), MariaDB and PHP installer written in
## Features
* Nginx from [Ondrej's](https://launchpad.net/~ondrej/+archive/ubuntu/nginx) repository.
* Nginx build from [source](https://github.com/nginx/nginx) with [Mod PageSpeed](https://github.com/apache/incubator-pagespeed-ngx) 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 from [UpCloud](https://masedi.net/upcloud/) or [DigitalOcean](https://masedi.net/digitalocean/).
* Nginx virtual host (vhost) configuration optimized for WordPress, and several PHP Frameworks.
* Support HTTP/2 natively for your secure website.
* Free SSL certificates from [Let's Encrypt](https://letsencrypt.org/).
* Get an A+ grade on several SSL Security Test ([Qualys SSL Labs](https://www.ssllabs.com/ssltest/analyze.html?d=masedi.net), [ImmuniWeb](https://www.immuniweb.com/ssl/?id=bVrykFnK), and Wormly).
* Multiple PHP versions 5.6 [EOL], 7.0 [EOL], 7.1 [EOL], 7.2 [EOL], 7.3 [SFO], 7.4, 8.0, 8.1 from [Ondrej's repository](https://launchpad.net/~ondrej/+archive/ubuntu/php).
* Run PHP as user who own the file (Multi-user isolation via FPM pool). Feel the faster Nginx with secure multi-user environment like a top-notch shared hosting.
* Supported PHP Framework and CMS:
* Vanilla PHP: default,
* Framework: codeigniter, laravel, lumen, phalcon, symfony,
* CMS: drupal, mautic, roundcube, sendy, wordpress, wordpress-ms (multi-site), and
* more coming soon.
* PHP Zend OPcache.
* PHP Loader, ionCube & SourceGuardian.
* Nginx - A high performance web server and a reverse proxy server.
* Community package from [Ondrej's Nginx repository](https://launchpad.net/~ondrej/+archive/ubuntu/nginx).
* Custom build from [source](https://github.com/nginx/nginx) featured with :
* [Brotli module](https://github.com/google/ngx_brotli.git) an alternative compression to Gzip
* [Lua Nginx module](https://github.com/openresty/lua-nginx-module) with LuaJIT 2 library
* [PageSpeed module](https://github.com/apache/incubator-pagespeed-ngx) an automatic PageSpeed optimization
* FastCGI [cache purge module](https://github.com/nginx-modules/ngx_cache_purge.git) for atomic cache purging
* Customizable SSL library: OpenSSL (default), LibreSSL, and BoringSSL
* and much more useful 3rd-party modules.
* Pre-configured optimization for low-end VPS/cloud server. Need reliable VPS/cloud server? Get one from [UpCloud](https://masedi.net/upcloud/) or [DigitalOcean](https://masedi.net/digitalocean/).
* Nginx virtual host (vhost) configuration optimized for WordPress and several PHP Frameworks.
* Support HTTP/2 natively for your secure website.
* Free SSL certificates from [Let's Encrypt](https://letsencrypt.org/).
* Get an A+ grade on several SSL Security Test ([Qualys SSL Labs](https://www.ssllabs.com/ssltest/analyze.html?d=masedi.net), [ImmuniWeb](https://www.immuniweb.com/ssl/?id=bVrykFnK), and Wormly).
* PHP - Most used language that [powers 78.9% of all websites](https://w3techs.com/technologies/details/pl-php) around the universe.
* Community package from [Ondrej's PHP repository](https://launchpad.net/~ondrej/+archive/ubuntu/php).
* Multiple PHP versions 5.6 [EOL], 7.0 [EOL], 7.1 [EOL], 7.2 [EOL], 7.3 [EOL], 7.4 [SFO], 8.0, 8.1 (Latest).
* Run PHP as user who own the file (Multi-user isolation via FPM pool).
* Feel the faster Nginx with secure multi-user environment like a top-notch shared hosting.
* Supported PHP Framework and CMS:
* Vanilla PHP: default,
* Framework: codeigniter, laravel, lumen, phalcon, symfony,
* CMS: drupal, mautic, roundcube, sendy, wordpress, wordpress-ms (multi-site), and
* more coming soon.
* PHP Zend OPcache.
* PHP Loader, ionCube & SourceGuardian.
* SQL database with MariaDB 10 (MySQL drop-in replacement).
* NoSQL database with MongoDB.
* In-memory database with Redis.
* Memory cache with Memcached.
* FTP server with VSFTPD or Pure-FTPd.
* [Adminer](https://www.adminer.org/) web-based SQL & MongoDB database manager (PhpMyAdmin replacement).
* [phpRedisAdmin](https://github.com/erikdubbelboer/phpRedisAdmin) web-based Redis database manager.
* [phpMemcachedAdmin](https://github.com/elijaa/phpmemcachedadmin) web-based Memcached manager.
* [TinyFileManager](https://github.com/joglomedia/tinyfilemanager) alternative web-based filemanager (Experimental).
* Key-value store database with Redis.
* In-memory cache with Memcached.
* FTP server with VSFTPD or Pure-FTPd (_coming soon_).
* Web-based administration tools:
* [Adminer](https://www.adminer.org/) web-based SQL & MongoDB database manager (PhpMyAdmin replacement).
* [phpRedisAdmin](https://github.com/erikdubbelboer/phpRedisAdmin) web-based Redis database manager.
* [phpMemcachedAdmin](https://github.com/elijaa/phpmemcachedadmin) web-based Memcached manager.
* [TinyFileManager](https://github.com/joglomedia/tinyfilemanager) alternative web-based filemanager (Experimental).
## Setting Up
* Ensure that you have git installed.
* Clone LEMPer Git repositroy, ```git clone https://github.com/joglomedia/LEMPer.git```.
* Enter LEMPer directory.
* Make a copy of .env.dist to .env ```cp .env.dist .env``` and replace the values.
* Execute install.sh file, ```sudo ./install.sh```.
* Clone LEMPer Git repositroy, ```git clone https://github.com/joglomedia/LEMPer.git```
* Enter LEMPer directory
* Checkout to the desired version, ```git checkout 2.x.x```
* Make a copy of .env.dist to .env ```cp .env.dist .env``` and replace the values
### Install LEMPer Stack
@@ -81,22 +91,23 @@ Here are some examples of using LEMPer CLI.
##### LEMPer CLI add new vhost / website
```bash
sudo lemper-cli create -u ${USER} -d example.test -f wordpress -w ${HOME}/webapps/example.test --install-skeleton
lemper-cli site add -u ${USER} -d example.test -f wordpress \
-w ${HOME}/webapps/example.test --install-app
```
:warning: For local/development environment, in order to make the test domain (e.g. example.test) working as expected, you need to do a small workaround by modifying the `/etc/hosts` file. By adding the local domain name to the hosts file and assign it with local/private IP address.
Since version 2.4.0 this workaround could be done via `lemper-cli` by passing `--ipv4` parameter and assign it with private IP address, as below:
Since version 2.4.0, this workaround could be done via `lemper-cli` by passing `--ipv4` parameter and assign it with private IP address, as below:
```bash
sudo lemper-cli create -u ${USER} -d example.test -f wordpress \
-w ${HOME}/webapps/example.test --ipv4=127.0.10.1 --install-skeleton
lemper-cli site add -u ${USER} -d example.test -f wordpress \
-w ${HOME}/webapps/example.test --ipv4=127.0.10.1 --install-app
```
For more info
```bash
sudo lemper-cli create --help
lemper-cli site add --help
```
##### LEMPer CLI manage vhost / website
@@ -154,15 +165,18 @@ http://YOUR_DOMAIN_NAME:8082/lcp/filemanager
* [x] Add network security (iptable rules, firewall configurator, else?)
* [x] Add database backup tool (Mariabackup, Percona Xtrabackup, else?)
* [x] Add enhanced security (AppArmor, cgroups, jailkit (chrooted/jail users), fail2ban, else?)
* [ ] Add CrowdSec a modern Host-based Intrusion Detection System (replacement option for Fail2ban)
* [ ] Add NodeJS installation to support modern web frontend development
* [ ] Add Pure-FTPd installation as an alternative option to VSFTPD
* [ ] Add file backup tool (Borg, Duplicati, Rclone, Restic, Rsnapshot, else?)
* [ ] Add server monitoring (Amplify, Monit, Nagios, else?)
* [ ] Add user account & hosting package management
Add your feature [request here](https://github.com/joglomedia/LEMPer/issues/new)
Add your feature [request here](https://github.com/joglomedia/LEMPer/issues/new)!
## Security Vulnerabilities and Bugs
If you discover any security vulnerability or any bug within _LEMPer Stack_, please open an [issue](https://github.com/joglomedia/LEMPer/issues/new).
If you discover any security vulnerabilities or any bugs within _LEMPer Stack_, please open an [issue](https://github.com/joglomedia/LEMPer/issues/new).
## Contributing