Merge pull request #471 from WordOps/updating-configuration
maintenance release v3.15.3
This commit is contained in:
4
.github/workflows/main.yml
vendored
4
.github/workflows/main.yml
vendored
@@ -19,10 +19,10 @@ jobs:
|
|||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-20.04, ubuntu-18.04]
|
os: [ubuntu-20.04, ubuntu-18.04, ubuntu-22.04]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- name: Prepare VM
|
- name: Prepare VM
|
||||||
run: |
|
run: |
|
||||||
unset LANG
|
unset LANG
|
||||||
|
|||||||
21
CHANGELOG.md
21
CHANGELOG.md
@@ -8,6 +8,27 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|||||||
|
|
||||||
### v3.16.0 - [Unreleased]
|
### v3.16.0 - [Unreleased]
|
||||||
|
|
||||||
|
### v3.15.3 - 2022-10-24
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
|
||||||
|
- Support for Debian 10/11
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
|
||||||
|
- Install redis from official repository
|
||||||
|
- Redis version bump to 7.0.5
|
||||||
|
- WP-CLI version bump to 2.7.1
|
||||||
|
- Remove outdated Nginx directives
|
||||||
|
- Updated repository GPG Key
|
||||||
|
- UFW stack detect proftpd during install
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Netdata upgrade failure on old servers
|
||||||
|
- MariaDB service disabled after upgrade with `wo stack migrate --mariadb`
|
||||||
|
- Proftpd install on Ubuntu 22.04 and Debian 11
|
||||||
|
|
||||||
### v3.15.2 - 2022-09-23
|
### v3.15.2 - 2022-09-23
|
||||||
|
|
||||||
#### Added
|
#### Added
|
||||||
|
|||||||
28
README.md
28
README.md
@@ -41,8 +41,8 @@
|
|||||||
|
|
||||||
- **Easy to install** : One step automated installer with migration from EasyEngine v3 support
|
- **Easy to install** : One step automated installer with migration from EasyEngine v3 support
|
||||||
- **Fast deployment** : Fast and automated WordPress, Nginx, PHP, MySQL & Redis installation
|
- **Fast deployment** : Fast and automated WordPress, Nginx, PHP, MySQL & Redis installation
|
||||||
- **Custom Nginx build** : Nginx 1.22.0 - TLS v1.3 Cloudflare HTTP/2 HPACK & Brotli support
|
- **Custom Nginx build** : Nginx 1.22.1 - TLS v1.3 Cloudflare HTTP/2 HPACK & Brotli support
|
||||||
- **Up-to-date** : PHP 7.2, 7.3, 7.4, 8.0 & 8.1 - MariaDB 10.6 & Redis 6.0
|
- **Up-to-date** : PHP 7.2, 7.3, 7.4, 8.0 & 8.1 - MariaDB 10.6 & Redis 7.0
|
||||||
- **Secured** : Hardened WordPress security with strict Nginx location directives
|
- **Secured** : Hardened WordPress security with strict Nginx location directives
|
||||||
- **Powerful** : Optimized Nginx configurations with multiple cache backends support
|
- **Powerful** : Optimized Nginx configurations with multiple cache backends support
|
||||||
- **SSL** : Domain, Subdomain & Wildcard Let's Encrypt SSL certificates with DNS API support
|
- **SSL** : Domain, Subdomain & Wildcard Let's Encrypt SSL certificates with DNS API support
|
||||||
@@ -66,11 +66,11 @@
|
|||||||
#### Also compatible
|
#### Also compatible
|
||||||
|
|
||||||
- Debian 10 (Buster)
|
- Debian 10 (Buster)
|
||||||
- Raspbian 10 (Buster)
|
- Debian 11 (Bullseye)
|
||||||
|
|
||||||
#### For testing purpose only
|
#### For testing purpose only
|
||||||
|
|
||||||
- Debian 11 (Bullseye)
|
- Raspbian 10 (Buster)
|
||||||
- Raspbian 11 (Bullseye)
|
- Raspbian 11 (Bullseye)
|
||||||
|
|
||||||
## Getting Started
|
## Getting Started
|
||||||
@@ -87,14 +87,13 @@ Detailed Getting Started guide with additional installation methods can be found
|
|||||||
### Standard WordPress sites
|
### Standard WordPress sites
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
wo site create example.com --wp # install wordpress with PHP 7.3 without any page caching
|
wo site create example.com --wp # install wordpress with PHP 8.0 without any page caching
|
||||||
wo site create example.com --wp --php80 # install wordpress with PHP 8.0 without any page caching
|
wo site create example.com --wp --php81 # install wordpress with PHP 8.1 without any page caching
|
||||||
wo site create example.com --wp --php81 # install wordpress with PHP 8.1 without any page caching
|
wo site create example.com --wpfc # install wordpress + nginx fastcgi_cache
|
||||||
wo site create example.com --wpfc # install wordpress + nginx fastcgi_cache
|
wo site create example.com --wpredis # install wordpress + nginx redis_cache
|
||||||
wo site create example.com --wpredis # install wordpress + nginx redis_cache
|
wo site create example.com --wprocket # install wordpress with WP-Rocket plugin
|
||||||
wo site create example.com --wprocket # install wordpress with WP-Rocket plugin
|
wo site create example.com --wpce # install wordpress with Cache-enabler plugin
|
||||||
wo site create example.com --wpce # install wordpress with Cache-enabler plugin
|
wo site create example.com --wpsc # install wordpress with wp-super-cache plugin
|
||||||
wo site create example.com --wpsc # install wordpress with wp-super-cache plugin
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### WordPress multisite with subdirectory
|
### WordPress multisite with subdirectory
|
||||||
@@ -125,10 +124,9 @@ wo site create example.com --wpsubdomain --wpce # install wpmu-subdomain + C
|
|||||||
wo site create example.com --html # create example.com for static/html sites
|
wo site create example.com --html # create example.com for static/html sites
|
||||||
wo site create example.com --php # create example.com with php 8.0 support
|
wo site create example.com --php # create example.com with php 8.0 support
|
||||||
wo site create example.com --php80 # create example.com with php 8.0 support
|
wo site create example.com --php80 # create example.com with php 8.0 support
|
||||||
wo site create example.com --php74 # create example.com with php 7.4 support
|
wo site create example.com --php81 # create example.com with php 8.1 support
|
||||||
wo site create example.com --mysql # create example.com with php 8.0 & mysql support
|
wo site create example.com --mysql # create example.com with php 8.0 & mysql support
|
||||||
wo site create example.com --mysql --php81 # create example.com with php 8.1 & mysql support
|
wo site create example.com --mysql --php81 # create example.com with php 8.1 & mysql support
|
||||||
wo site create example.com --mysql --php73 # create example.com with php 7.3 & mysql support
|
|
||||||
wo site create example.com --proxy=127.0.0.1:3000 # create example.com with nginx as reverse-proxy
|
wo site create example.com --proxy=127.0.0.1:3000 # create example.com with nginx as reverse-proxy
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -196,7 +194,7 @@ Third-party debian packages shipped with WordOps :
|
|||||||
|
|
||||||
- [Nginx-wo by WordOps](https://build.opensuse.org/package/show/home:virtubox:WordOps/nginx)
|
- [Nginx-wo by WordOps](https://build.opensuse.org/package/show/home:virtubox:WordOps/nginx)
|
||||||
- [PHP by Ondřej Surý](https://launchpad.net/~ondrej/+archive/ubuntu/php)
|
- [PHP by Ondřej Surý](https://launchpad.net/~ondrej/+archive/ubuntu/php)
|
||||||
- [Redis by Chris Lea](https://launchpad.net/~chris-lea/+archive/ubuntu/redis-server)
|
- [Redis](https://redis.io/docs/getting-started/installation/install-redis-on-linux/)
|
||||||
|
|
||||||
WordPress Cache Plugins supported by WordOps :
|
WordPress Cache Plugins supported by WordOps :
|
||||||
|
|
||||||
|
|||||||
12
install
12
install
@@ -9,7 +9,7 @@
|
|||||||
# -------------------------------------------------------------------------
|
# -------------------------------------------------------------------------
|
||||||
# wget -qO wo wops.cc && sudo -E bash wo
|
# wget -qO wo wops.cc && sudo -E bash wo
|
||||||
# -------------------------------------------------------------------------
|
# -------------------------------------------------------------------------
|
||||||
# Version 3.15.2 - 2022-09-23
|
# Version 3.15.3 - 2022-10-24
|
||||||
# -------------------------------------------------------------------------
|
# -------------------------------------------------------------------------
|
||||||
|
|
||||||
# CONTENTS
|
# CONTENTS
|
||||||
@@ -519,6 +519,8 @@ wo_travis_install() {
|
|||||||
if [ "$wo_linux_distro" = "Debian" ] || [ "$wo_linux_distro" = "Raspbian" ]; then
|
if [ "$wo_linux_distro" = "Debian" ] || [ "$wo_linux_distro" = "Raspbian" ]; then
|
||||||
if [ "$wo_distro_codename" = "stretch" ]; then
|
if [ "$wo_distro_codename" = "stretch" ]; then
|
||||||
python3 -m pip install git+https://salsa.debian.org/apt-team/python-apt.git@1.4.y#egg=python-apt
|
python3 -m pip install git+https://salsa.debian.org/apt-team/python-apt.git@1.4.y#egg=python-apt
|
||||||
|
elif [ "$wo_distro_codename" = "bullseye" ]; then
|
||||||
|
python3 -m pip install git+https://salsa.debian.org/apt-team/python-apt.git@2.2.1#egg=python-apt
|
||||||
else
|
else
|
||||||
python3 -m pip install git+https://salsa.debian.org/apt-team/python-apt.git@1.8.4.y#egg=python-apt
|
python3 -m pip install git+https://salsa.debian.org/apt-team/python-apt.git@1.8.4.y#egg=python-apt
|
||||||
fi
|
fi
|
||||||
@@ -527,8 +529,10 @@ wo_travis_install() {
|
|||||||
python3 -m pip install git+https://salsa.debian.org/apt-team/python-apt.git@2.0.0#egg=python-apt
|
python3 -m pip install git+https://salsa.debian.org/apt-team/python-apt.git@2.0.0#egg=python-apt
|
||||||
elif [ "$wo_distro_codename" = "bionic" ]; then
|
elif [ "$wo_distro_codename" = "bionic" ]; then
|
||||||
python3 -m pip install git+https://salsa.debian.org/apt-team/python-apt.git@1.6.y#egg=python-apt
|
python3 -m pip install git+https://salsa.debian.org/apt-team/python-apt.git@1.6.y#egg=python-apt
|
||||||
|
elif [ "$wo_distro_codename" = "jammy" ]; then
|
||||||
|
python3 -m pip install git+https://salsa.debian.org/apt-team/python-apt.git@2.2.1#egg=python-apt
|
||||||
else
|
else
|
||||||
python3 -m pip install git+https://salsa.debian.org/apt-team/python-apt.git@1.1.0_beta1ubuntu0.16.04.9#egg=python-apt
|
python3 -m pip install git+https://salsa.debian.org/apt-team/python-apt.git@1.1.y-xenial#egg=python-apt
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -728,7 +732,7 @@ wo_woconf() {
|
|||||||
echo -e '\n[letsencrypt]\n\nkeylength = "ec-384"' >>/etc/wo/wo.conf
|
echo -e '\n[letsencrypt]\n\nkeylength = "ec-384"' >>/etc/wo/wo.conf
|
||||||
fi
|
fi
|
||||||
if ! grep -q "php" /etc/wo/wo.conf; then
|
if ! grep -q "php" /etc/wo/wo.conf; then
|
||||||
echo -e '\n[php]\n\nversion = 7.4' >>/etc/wo/wo.conf
|
echo -e '\n[php]\n\nversion = 8.0' >>/etc/wo/wo.conf
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -793,7 +797,7 @@ wo_php_fix() {
|
|||||||
|
|
||||||
wo_git_secure_path() {
|
wo_git_secure_path() {
|
||||||
if ! grep -q "safe" ~/.gitconfig; then
|
if ! grep -q "safe" ~/.gitconfig; then
|
||||||
echo -e "\n[safe]\n directory = *" >> ~/.gitconfig
|
echo -e "\n[safe]\n directory = *" >>~/.gitconfig
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
2
setup.py
2
setup.py
@@ -27,7 +27,7 @@ if os.geteuid() == 0:
|
|||||||
os.makedirs('/var/lib/wo/tmp/')
|
os.makedirs('/var/lib/wo/tmp/')
|
||||||
|
|
||||||
setup(name='wordops',
|
setup(name='wordops',
|
||||||
version='3.15.2',
|
version='3.15.3',
|
||||||
description='An essential toolset that eases server administration',
|
description='An essential toolset that eases server administration',
|
||||||
long_description=LONG,
|
long_description=LONG,
|
||||||
long_description_content_type='text/markdown',
|
long_description_content_type='text/markdown',
|
||||||
|
|||||||
@@ -108,17 +108,12 @@ def pre_pref(self, apt_packages):
|
|||||||
WORepo.add_key(self, WOVar.wo_php_key)
|
WORepo.add_key(self, WOVar.wo_php_key)
|
||||||
# add redis repository
|
# add redis repository
|
||||||
if set(WOVar.wo_redis).issubset(set(apt_packages)):
|
if set(WOVar.wo_redis).issubset(set(apt_packages)):
|
||||||
if WOVar.wo_distro == 'ubuntu':
|
if not WOFileUtils.grepcheck(
|
||||||
|
self, '/etc/apt/sources.list/wo-repo.list',
|
||||||
|
'redis.io'):
|
||||||
Log.info(self, "Adding repository for Redis, please wait...")
|
Log.info(self, "Adding repository for Redis, please wait...")
|
||||||
Log.debug(self, 'Adding ppa for redis')
|
WORepo.add(self, repo_url=WOVar.wo_redis_repo)
|
||||||
WORepo.add(self, ppa=WOVar.wo_redis_repo)
|
WORepo.download_key(self, WOVar.wo_redis_key_url)
|
||||||
else:
|
|
||||||
if not WOFileUtils.grepcheck(
|
|
||||||
self, '/etc/apt/sources.list/wo-repo.list',
|
|
||||||
'WordOps'):
|
|
||||||
Log.info(self, "Adding repository for Redis, please wait...")
|
|
||||||
WORepo.add(self, repo_url=WOVar.wo_nginx_repo)
|
|
||||||
WORepo.add_key(self, WOVar.wo_nginx_key)
|
|
||||||
|
|
||||||
# nano
|
# nano
|
||||||
if 'nano' in apt_packages:
|
if 'nano' in apt_packages:
|
||||||
@@ -1401,18 +1396,10 @@ def post_pref(self, apt_packages, packages, upgrade=False):
|
|||||||
msg="Adding ProFTPd into Git")
|
msg="Adding ProFTPd into Git")
|
||||||
if os.path.isfile("/etc/proftpd/proftpd.conf"):
|
if os.path.isfile("/etc/proftpd/proftpd.conf"):
|
||||||
Log.debug(self, "Setting up Proftpd configuration")
|
Log.debug(self, "Setting up Proftpd configuration")
|
||||||
WOFileUtils.searchreplace(
|
data = dict()
|
||||||
self, "/etc/proftpd/proftpd.conf",
|
WOTemplate.deploy(self,
|
||||||
"# DefaultRoot", "DefaultRoot")
|
'/etc/proftpd/proftpd.conf',
|
||||||
WOFileUtils.searchreplace(
|
'proftpd.mustache', data)
|
||||||
self, "/etc/proftpd/proftpd.conf",
|
|
||||||
"# RequireValidShell", "RequireValidShell")
|
|
||||||
WOFileUtils.searchreplace(
|
|
||||||
self, "/etc/proftpd/proftpd.conf",
|
|
||||||
"# PassivePorts "
|
|
||||||
"49152 65534",
|
|
||||||
"PassivePorts "
|
|
||||||
" 49000 50000")
|
|
||||||
# proftpd TLS configuration
|
# proftpd TLS configuration
|
||||||
if not os.path.isdir("/etc/proftpd/ssl"):
|
if not os.path.isdir("/etc/proftpd/ssl"):
|
||||||
WOFileUtils.mkdir(self, "/etc/proftpd/ssl")
|
WOFileUtils.mkdir(self, "/etc/proftpd/ssl")
|
||||||
@@ -1422,10 +1409,6 @@ def post_pref(self, apt_packages, packages, upgrade=False):
|
|||||||
data = dict()
|
data = dict()
|
||||||
WOTemplate.deploy(self, '/etc/proftpd/tls.conf',
|
WOTemplate.deploy(self, '/etc/proftpd/tls.conf',
|
||||||
'proftpd-tls.mustache', data)
|
'proftpd-tls.mustache', data)
|
||||||
WOFileUtils.searchreplace(self, "/etc/proftpd/"
|
|
||||||
"proftpd.conf",
|
|
||||||
"#Include /etc/proftpd/tls.conf",
|
|
||||||
"Include /etc/proftpd/tls.conf")
|
|
||||||
WOService.restart_service(self, 'proftpd')
|
WOService.restart_service(self, 'proftpd')
|
||||||
|
|
||||||
if os.path.isfile('/etc/ufw/ufw.conf'):
|
if os.path.isfile('/etc/ufw/ufw.conf'):
|
||||||
|
|||||||
@@ -383,6 +383,15 @@ class WOStackUpgradeController(CementBaseController):
|
|||||||
"bash /var/lib/wo/tmp/kickstart.sh "
|
"bash /var/lib/wo/tmp/kickstart.sh "
|
||||||
"--dont-wait --no-updates --stable-channel",
|
"--dont-wait --no-updates --stable-channel",
|
||||||
errormsg='', log=False)
|
errormsg='', log=False)
|
||||||
|
if (os.path.exists('/opt/netdata') and
|
||||||
|
not os.path.exists(
|
||||||
|
'/opt/netdata/var/run/netdata/netdata.pid')):
|
||||||
|
WOShellExec.cmd_exec(
|
||||||
|
self,
|
||||||
|
'bash /var/lib/wo/tmp/kickstart.sh '
|
||||||
|
'--dont-wait --no-updates '
|
||||||
|
'--stable-channel --reinstall-even-if-unsafe',
|
||||||
|
errormsg='', log=False)
|
||||||
Log.valide(self, "Upgrading Netdata")
|
Log.valide(self, "Upgrading Netdata")
|
||||||
|
|
||||||
if WOAptGet.is_selected(self, 'WordOps Dashboard', packages):
|
if WOAptGet.is_selected(self, 'WordOps Dashboard', packages):
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ location /.well-known/acme-challenge/ {
|
|||||||
# https://developer.chrome.com/blog/private-prefetch-proxy/
|
# https://developer.chrome.com/blog/private-prefetch-proxy/
|
||||||
location /.well-known/traffic-advice {
|
location /.well-known/traffic-advice {
|
||||||
types { } default_type "application/trafficadvice+json; charset=utf-8";
|
types { } default_type "application/trafficadvice+json; charset=utf-8";
|
||||||
alias /var/www/html/.well-known/traffic-advice;
|
return 200 "[\{\n \"user_agent\": \"prefetch-proxy\",\n \"google_prefetch_proxy_eap\": \{\n \"fraction\": 1.0\n \}\n\}]";
|
||||||
allow all;
|
allow all;
|
||||||
}
|
}
|
||||||
# Return 403 forbidden for readme.(txt|html) or license.(txt|html) or example.(txt|html) or other common git repository files
|
# Return 403 forbidden for readme.(txt|html) or license.(txt|html) or example.(txt|html) or other common git repository files
|
||||||
|
|||||||
@@ -4,11 +4,13 @@ TLSEngine on
|
|||||||
TLSRequired on
|
TLSRequired on
|
||||||
TLSLog /var/log/proftpd/tls.log
|
TLSLog /var/log/proftpd/tls.log
|
||||||
|
|
||||||
|
TLSDHParamFile /etc/proftpd/dhparams.pem
|
||||||
|
|
||||||
# intermediate configuration from ssl-config.mozilla.org
|
# intermediate configuration from ssl-config.mozilla.org
|
||||||
TLSProtocol TLSv1.2
|
TLSProtocol TLSv1.2
|
||||||
TLSCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
|
TLSCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
|
||||||
TLSServerCipherPreference off
|
TLSServerCipherPreference off
|
||||||
TLSessionTickets off
|
TLSSessionTickets off
|
||||||
TLSOptions NoCertRequest AllowClientRenegotiations NoSessionReuseRequired
|
TLSOptions NoCertRequest AllowClientRenegotiations NoSessionReuseRequired
|
||||||
|
|
||||||
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.crt
|
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.crt
|
||||||
|
|||||||
138
wo/cli/templates/proftpd.mustache
Normal file
138
wo/cli/templates/proftpd.mustache
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
#
|
||||||
|
# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
|
||||||
|
# To really apply changes, reload proftpd after modifications, if
|
||||||
|
# it runs in daemon mode. It is not required in inetd/xinetd mode.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Includes DSO modules
|
||||||
|
Include /etc/proftpd/modules.conf
|
||||||
|
|
||||||
|
# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
|
||||||
|
UseIPv6 off
|
||||||
|
# If set on you can experience a longer connection delay in many cases.
|
||||||
|
<IfModule mod_ident.c>
|
||||||
|
IdentLookups off
|
||||||
|
</IfModule>
|
||||||
|
ServerName "Debian"
|
||||||
|
# Set to inetd only if you would run proftpd by inetd/xinetd.
|
||||||
|
# Read README.Debian for more information on proper configuration.
|
||||||
|
ServerType standalone
|
||||||
|
DeferWelcome off
|
||||||
|
|
||||||
|
MultilineRFC2228 on
|
||||||
|
DefaultServer on
|
||||||
|
ShowSymlinks on
|
||||||
|
|
||||||
|
TimeoutNoTransfer 600
|
||||||
|
TimeoutStalled 600
|
||||||
|
TimeoutIdle 1200
|
||||||
|
|
||||||
|
DisplayLogin welcome.msg
|
||||||
|
DisplayChdir .message true
|
||||||
|
ListOptions "-l"
|
||||||
|
|
||||||
|
DenyFilter \*.*/
|
||||||
|
|
||||||
|
# Use this to jail all users in their homes
|
||||||
|
DefaultRoot ~
|
||||||
|
|
||||||
|
# Users require a valid shell listed in /etc/shells to login.
|
||||||
|
# Use this directive to release that constrain.
|
||||||
|
RequireValidShell off
|
||||||
|
|
||||||
|
# Port 21 is the standard FTP port.
|
||||||
|
Port 21
|
||||||
|
|
||||||
|
# In some cases you have to specify passive ports range to by-pass
|
||||||
|
# firewall limitations. Ephemeral ports can be used for that, but
|
||||||
|
# feel free to use a more narrow range.
|
||||||
|
PassivePorts 49000 50000
|
||||||
|
|
||||||
|
# If your host was NATted, this option is useful in order to
|
||||||
|
# allow passive tranfers to work. You have to use your public
|
||||||
|
# address and opening the passive ports used on your firewall as well.
|
||||||
|
# MasqueradeAddress 1.2.3.4
|
||||||
|
|
||||||
|
# This is useful for masquerading address with dynamic IPs:
|
||||||
|
# refresh any configured MasqueradeAddress directives every 8 hours
|
||||||
|
<IfModule mod_dynmasq.c>
|
||||||
|
# DynMasqRefresh 28800
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# To prevent DoS attacks, set the maximum number of child processes
|
||||||
|
# to 30. If you need to allow more than 30 concurrent connections
|
||||||
|
# at once, simply increase this value. Note that this ONLY works
|
||||||
|
# in standalone mode, in inetd mode you should use an inetd server
|
||||||
|
# that allows you to limit maximum number of processes per service
|
||||||
|
# (such as xinetd)
|
||||||
|
MaxInstances 30
|
||||||
|
|
||||||
|
# Set the user and group that the server normally runs at.
|
||||||
|
User proftpd
|
||||||
|
Group nogroup
|
||||||
|
|
||||||
|
# Umask 022 is a good standard umask to prevent new files and dirs
|
||||||
|
# (second parm) from being group and world writable.
|
||||||
|
Umask 022 022
|
||||||
|
# Normally, we want files to be overwriteable.
|
||||||
|
AllowOverwrite on
|
||||||
|
|
||||||
|
# Uncomment this if you are using NIS or LDAP via NSS to retrieve passwords:
|
||||||
|
# PersistentPasswd off
|
||||||
|
|
||||||
|
# This is required to use both PAM-based authentication and local passwords
|
||||||
|
# AuthOrder mod_auth_pam.c* mod_auth_unix.c
|
||||||
|
|
||||||
|
# Be warned: use of this directive impacts CPU average load!
|
||||||
|
# Uncomment this if you like to see progress and transfer rate with ftpwho
|
||||||
|
# in downloads. That is not needed for uploads rates.
|
||||||
|
#
|
||||||
|
UseSendFile off
|
||||||
|
|
||||||
|
TransferLog /var/log/proftpd/xferlog
|
||||||
|
SystemLog /var/log/proftpd/proftpd.log
|
||||||
|
|
||||||
|
# Logging onto /var/log/lastlog is enabled but set to off by default
|
||||||
|
#UseLastlog on
|
||||||
|
|
||||||
|
# In order to keep log file dates consistent after chroot, use timezone info
|
||||||
|
# from /etc/localtime. If this is not set, and proftpd is configured to
|
||||||
|
# chroot (e.g. DefaultRoot or <Anonymous>), it will use the non-daylight
|
||||||
|
# savings timezone regardless of whether DST is in effect.
|
||||||
|
SetEnv TZ :/etc/localtime
|
||||||
|
|
||||||
|
<IfModule mod_quotatab.c>
|
||||||
|
QuotaEngine off
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mod_ratio.c>
|
||||||
|
Ratios off
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
|
||||||
|
# Delay engine reduces impact of the so-called Timing Attack described in
|
||||||
|
# http://www.securityfocus.com/bid/11430/discuss
|
||||||
|
# It is on by default.
|
||||||
|
<IfModule mod_delay.c>
|
||||||
|
DelayEngine on
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mod_ctrls.c>
|
||||||
|
ControlsEngine off
|
||||||
|
ControlsMaxClients 2
|
||||||
|
ControlsLog /var/log/proftpd/controls.log
|
||||||
|
ControlsInterval 5
|
||||||
|
ControlsSocket /var/run/proftpd/proftpd.sock
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mod_ctrls_admin.c>
|
||||||
|
AdminControlsEngine off
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
|
||||||
|
# This is used for FTPS connections
|
||||||
|
#
|
||||||
|
Include /etc/proftpd/tls.conf
|
||||||
|
|
||||||
|
# Include other custom configuration files
|
||||||
|
Include /etc/proftpd/conf.d/
|
||||||
@@ -46,6 +46,13 @@ wo_ufw_setup() {
|
|||||||
# wordops backend
|
# wordops backend
|
||||||
ufw limit 22222
|
ufw limit 22222
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# allow proftpd port if installed
|
||||||
|
if [ -f /etc/proftpd/proftpd.conf ]; then
|
||||||
|
ufw limit 21
|
||||||
|
ufw allow 49000:50000/tcp
|
||||||
|
fi
|
||||||
|
|
||||||
# enable ufw
|
# enable ufw
|
||||||
if [ -n "$CURRENT_SSH_PORT" ]; then
|
if [ -n "$CURRENT_SSH_PORT" ]; then
|
||||||
ufw --force enable
|
ufw --force enable
|
||||||
|
|||||||
@@ -15,9 +15,9 @@ class WOVar():
|
|||||||
"""Intialization of core variables"""
|
"""Intialization of core variables"""
|
||||||
|
|
||||||
# WordOps version
|
# WordOps version
|
||||||
wo_version = "3.15.2"
|
wo_version = "3.15.3"
|
||||||
# WordOps packages versions
|
# WordOps packages versions
|
||||||
wo_wp_cli = "2.6.0"
|
wo_wp_cli = "2.7.1"
|
||||||
wo_adminer = "4.8.1"
|
wo_adminer = "4.8.1"
|
||||||
wo_phpmyadmin = "5.2.0"
|
wo_phpmyadmin = "5.2.0"
|
||||||
wo_extplorer = "2.1.13"
|
wo_extplorer = "2.1.13"
|
||||||
@@ -200,7 +200,6 @@ class WOVar():
|
|||||||
codename=wo_platform_codename))
|
codename=wo_platform_codename))
|
||||||
if wo_distro == 'ubuntu':
|
if wo_distro == 'ubuntu':
|
||||||
wo_php_repo = "ppa:ondrej/php"
|
wo_php_repo = "ppa:ondrej/php"
|
||||||
wo_redis_repo = ("ppa:redislabs/redis")
|
|
||||||
wo_goaccess_repo = ("ppa:alex-p/goaccess")
|
wo_goaccess_repo = ("ppa:alex-p/goaccess")
|
||||||
|
|
||||||
else:
|
else:
|
||||||
@@ -208,8 +207,9 @@ class WOVar():
|
|||||||
"deb https://packages.sury.org/php/ {codename} main"
|
"deb https://packages.sury.org/php/ {codename} main"
|
||||||
.format(codename=wo_platform_codename))
|
.format(codename=wo_platform_codename))
|
||||||
wo_php_key = 'AC0E47584A7A714D'
|
wo_php_key = 'AC0E47584A7A714D'
|
||||||
wo_redis_repo = ("deb https://packages.sury.org/php/ {codename} all"
|
wo_redis_key_url = "https://packages.redis.io/gpg"
|
||||||
.format(codename=wo_platform_codename))
|
wo_redis_repo = ("deb https://packages.redis.io/deb {codename} main"
|
||||||
|
.format(codename=wo_platform_codename))
|
||||||
|
|
||||||
wo_redis = ['redis-server']
|
wo_redis = ['redis-server']
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user