Skip to content

Commit d0460a6

Browse files
authored
Merge pull request #166 from joglomedia/2.x.x
2.x.x installer update
2 parents b123ec0 + b9a4b3b commit d0460a6

43 files changed

Lines changed: 1428 additions & 652 deletions

Some content is hidden

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

‎.env.dist‎

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ INSTALL_NGINX=true
7777
# Available Nginx installer: repo | source
7878
NGINX_INSTALLER="repo"
7979

80+
# Nginx repository source: ondrej | myguard
81+
NGINX_REPO_SRC="myguard"
82+
8083
# Supported Nginx version: stable (lts) | latest (mainline),
8184
# version number e.g. 1.18.0 (only if Nginx build from source).
8285
NGINX_VERSION="stable"
@@ -105,18 +108,19 @@ NGINX_EXTRA_MODULES=true
105108

106109
# Availabe extra modules (true to enable),
107110
# requires Nginx installation from source.
108-
NGX_HTTP_AUTH_PAM=false
111+
NGX_HTTP_AUTH_PAM=true
109112
NGX_HTTP_BROTLI=true
110113
NGX_HTTP_CACHE_PURGE=true
111114
NGX_HTTP_DAV_EXT=false
112115
NGX_HTTP_ECHO=false
113116
NGX_HTTP_FANCYINDEX=true
114117
NGX_HTTP_GEOIP=true
115118

116-
# GeoIP2 with MaxMind GeoLite2 database. GeoLite2 license key is required,
117-
# Get it from here https://www.maxmind.com/en/geolite2/signup
119+
# GeoIP2 with MaxMind GeoLite2 database.
118120
NGX_HTTP_GEOIP2=false
119-
GEOLITE2_LICENSE_KEY="zHccSDDcvqS4A0Ps"
121+
122+
# GeoLite2 license key is required, get it from here https://www.maxmind.com/en/geolite2/signup
123+
GEOLITE2_LICENSE_KEY=""
120124

121125
NGX_HTTP_HEADERS_MORE=true
122126
NGX_HTTP_IMAGE_FILTER=true
@@ -146,9 +150,10 @@ NGX_HTTP_XSLT_FILTER=true
146150
NGX_MAIL=true
147151
NGX_NCHAN=false
148152

153+
# Note: Be aware that PAGESPEED is no longer being developed.
154+
NGX_PAGESPEED=false
149155
# For Nginx latest v1.23 or greater, try using NPS v1.14.33.1-RC1 or latest-stable
150156
NGX_PAGESPEED_VERSION="latest-stable"
151-
NGX_PAGESPEED=false
152157

153158
NGX_RTMP=false
154159
NGX_STREAM=true
@@ -162,15 +167,15 @@ INSTALL_PHP=true
162167

163168
# It is highly recommended to install PHP version 7.4 or greater.
164169
# Installing multiple versions is supported, separate version by space.
165-
PHP_VERSIONS="8.1 8.2"
170+
PHP_VERSIONS="8.1 8.2 8.3"
166171

167172
# Additional PHP modules (extensions) to install.
168173
# Installing multiple extension is supported, separate version by space.
169174
# Type only the extension name (without php*-).
170-
PHP_EXTENSIONS="geoip gnupg imagick igbinary json mcrypt memcache memcached msgpack openswoole sodium"
175+
PHP_EXTENSIONS="geoip gnupg imagick igbinary json mcrypt memcache memcached msgpack sodium"
171176

172177
# DO NOT CHANGE
173-
DEFAULT_PHP_VERSION="8.1"
178+
DEFAULT_PHP_VERSION="8.2"
174179

175180
[php-loader]
176181
# PHP Loader is a PHP extension (module) that enables PHP
@@ -209,7 +214,11 @@ IMAGEMAGICK_VERSION="7.1.0-21"
209214

210215
[mysql]
211216
INSTALL_MYSQL=true
217+
218+
# Currently only support mariadb.
212219
MYSQL_SERVER="mariadb"
220+
221+
# MySQL / MariaDB version.
213222
MYSQL_VERSION="11.1"
214223

215224
# Securing MySQL installation.
@@ -257,8 +266,9 @@ MEMCACHED_PASSWORD=""
257266
[mongodb]
258267
INSTALL_MONGODB=false
259268

260-
# Available MongoDB version: 4.2, 4.3, 4.4, or 5.0.
261-
MONGODB_VERSION="5.0"
269+
# Available supported MongoDB version: 5.0, 6.0, or 7.0.
270+
# Set MongoDB 6.0 as default for Debian (Buster, Bullseye) & Ubuntu (Bionic, Focal, Jammy).
271+
MONGODB_VERSION="6.0"
262272

263273
# MongoDB default admin account.
264274
MONGODB_ADMIN_USER="lempermo"
@@ -284,7 +294,7 @@ INSTALL_FTP_SERVER=true
284294
FTP_SERVER_INSTALLER="repo"
285295

286296
# Supported FTP server: vsftpd | pureftpd.
287-
FTP_SERVER_NAME="vsftpd"
297+
FTP_SERVER_NAME="pureftpd"
288298

289299
# Available version: 3.0.5 (vsftpd), 1.0.50 (pure-ftpd), or latest.
290300
FTP_SERVER_VERSION="latest"
@@ -308,7 +318,7 @@ INSTALL_MAILER=true
308318
INSTALL_SPFDKIM=true
309319

310320
# Sender domain is required, if left empty it will be sets to the default hostname domain.
311-
# Ensure that the hostname or sender domain already pointed to this server IP address.
321+
# Ensure that the hostname or sender domain already pointed to the server's IP address.
312322
SENDER_DOMAIN=""
313323

314324
[certbot]
@@ -322,6 +332,9 @@ HOSTNAME_CERT_PATH=""
322332
# length of bits used for generating RSA key / Diffie-Helman params.
323333
KEY_HASH_LENGTH=2048
324334

335+
# Python used for Certbot.
336+
DEFAULT_PYTHON_VERSION="3.9.19"
337+
325338
[firewall]
326339
INSTALL_FW=true
327340

@@ -331,8 +344,8 @@ INSTALL_FW=true
331344
FW_CONFIGURATOR="ufw"
332345

333346
[fail2ban]
334-
INSTALL_FAIL2BAN=true
347+
INSTALL_FAIL2BAN=false
335348

336349
# Available installer: repo | source.
337-
FAIL2BAN_INSTALLER="source"
350+
FAIL2BAN_INSTALLER="repo"
338351
FAIL2BAN_VERSION="1.0.2"

‎README.md‎

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,14 @@ LEMPer stands for Linux, Engine-X (Nginx), MariaDB and PHP installer written in
2828
* FastCGI [cache purge module](https://github.com/nginx-modules/ngx_cache_purge.git) for atomic cache purging
2929
* Customizable SSL library: OpenSSL (default), LibreSSL, and BoringSSL
3030
* and much more useful 3rd-party modules.
31-
* Pre-configured optimization for low-end VPS/cloud server. Need reliable VPS/cloud server? Get one from [UpCloud](https://masedi.net/l/upcloud/) or [DigitalOcean](https://masedi.net/l/digitalocean/).
31+
* Pre-configured optimization for low-end VPS/cloud server. Need reliable VPS/cloud server? Get one from [DigitalOcean](https://masedi.net/l/digitalocean/), [UpCloud](https://masedi.net/l/upcloud/), or [Vultr](https://masedi.net/l/vultr/).
3232
* Nginx virtual host (vhost) configuration optimized for WordPress and several PHP Frameworks.
3333
* Support HTTP/2 natively for your secure website.
3434
* Free SSL certificates from [Let's Encrypt](https://letsencrypt.org/).
3535
* 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).
3636
* PHP - Most used language that [powers 78.9% of all websites](https://w3techs.com/technologies/details/pl-php) around the universe.
3737
* Community package from [Ondrej's PHP repository](https://launchpad.net/~ondrej/+archive/ubuntu/php).
38-
* 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, 8.2 (Latest).
38+
* Multiple PHP versions ~7.1 [EOL]~, ~7.2 [EOL]~, ~7.3 [EOL]~, ~7.4 [EOL]~, ~8.0 [EOL]~, 8.1 [SFO], 8.2 [Stable], 8.3 [Latest].
3939
* Run PHP as user who own the file (Multi-user isolation via FPM pool).
4040
* Feel the faster Nginx with secure multi-user environment like a top-notch shared hosting.
4141
* Supported PHP Framework and CMS:
@@ -82,7 +82,7 @@ sudo ./remove.sh
8282

8383
### LEMPer Command Line Administration Tool
8484

85-
LEMPer packed with friendly command line tool which will make your LEMP stack administration much easier. These command line tool called Lemper CLI (lemper-cli) for creating new virtual host and managing existing LEMP stack.
85+
LEMPer packed with friendly command line tool which makes your LEMPer stack administration much easier. These command line tool called Lemper CLI (lemper-cli) for creating new virtual host and managing existing LEMPer stack.
8686

8787
#### LEMPer CLI Usage
8888

@@ -160,7 +160,8 @@ http://YOUR_IP_ADDRESS:8082/lcp/filemanager/
160160

161161
## TODOs
162162

163-
* [x] Custom build latest [Nginx](https://nginx.org/en/) from source
163+
* [x] Add support for Debian (Bullseye, Bookworm) & Ubuntu (Bionic, Focal, Jammy) distro
164+
* [x] Add custom build latest [Nginx](https://nginx.org/en/) from source
164165
* [x] Add [Let's Encrypt SSL](https://letsencrypt.org/)
165166
* [x] Add network security (iptable rules, firewall configurator, else?)
166167
* [x] Add database backup tool (Mariabackup, Percona Xtrabackup, else?)
@@ -230,6 +231,6 @@ LEMPer Stack is open-source project licensed under the GNU GPLv3 license.
230231

231232
## Copyright
232233

233-
(c) 2014-2023 | [MasEDI.Net](https://masedi.net/)
234+
(c) 2014-2024 | [MasEDI.Net](https://masedi.net/)
234235

235236
### Enjoy LEMPer Stack ;)

‎etc/default/pure-ftpd-common‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Configuration for pure-ftpd
2+
# (this file is sourced by /bin/sh, edit accordingly)
3+
4+
# STANDALONE_OR_INETD
5+
# valid values are "standalone" and "inetd".
6+
# Any change here overrides the setting in debconf.
7+
STANDALONE_OR_INETD=standalone
8+
9+
# VIRTUALCHROOT:
10+
# whether to use binary with virtualchroot support
11+
# valid values are "true" or "false"
12+
# Any change here overrides the setting in debconf.
13+
VIRTUALCHROOT=false
14+
15+
# UPLOADSCRIPT: if this is set and the daemon is run in standalone mode,
16+
# pure-uploadscript will also be run to spawn the program given below
17+
# for handling uploads. see /usr/share/doc/pure-ftpd/README.gz or
18+
# pure-uploadscript(8)
19+
20+
# example: UPLOADSCRIPT=/usr/local/sbin/uploadhandler.pl
21+
UPLOADSCRIPT=
22+
23+
# if set, pure-uploadscript will spawn running as the
24+
# given uid and gid
25+
UPLOADUID=
26+
UPLOADGID=

‎etc/init.d/pure-ftpd‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@ test -x $WRAPPER || exit 0
6060
set -e
6161

6262
if [ ! -e `dirname $PIDFILE` ];then
63-
mkdir `dirname $PIDFILE`
63+
mkdir `dirname $PIDFILE`
64+
65+
# label directory correctly on SE Linux systems (#980051)
66+
[ -x /sbin/restorecon ] && /sbin/restorecon `dirname $PIDFILE`
6467
fi
6568

6669
start_uploadscript() {
@@ -82,7 +85,7 @@ case "$1" in
8285
start)
8386
test "$STANDALONE_OR_INETD" = standalone || exit 0
8487
echo -n "Starting $DESC: "
85-
--start $SSDAEMONLOGOPTS --pidfile "$PIDFILE" \
88+
start-stop-daemon --start $SSDAEMONLOGOPTS --pidfile "$PIDFILE" \
8689
--exec $WRAPPER -- $SUFFIX
8790
start_uploadscript Starting
8891
;;

‎etc/pure-ftpd/conf/AltLog‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
clf:/var/log/pure-ftpd/transfer.log

‎etc/pure-ftpd/conf/FSCharset‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
UTF-8

‎etc/pure-ftpd/conf/MinUID‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1000

‎etc/pure-ftpd/conf/NoAnonymous‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
yes
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
yes

‎etc/pure-ftpd/conf/PureDB‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/etc/pure-ftpd/pureftpd.pdb

0 commit comments

Comments
 (0)