Merge pull request #452 from WordOps/updating-configuration
Prepare for release v3.15.0
This commit is contained in:
5
.github/workflows/main.yml
vendored
5
.github/workflows/main.yml
vendored
@@ -16,7 +16,10 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
my_job:
|
my_job:
|
||||||
name: test WordOps
|
name: test WordOps
|
||||||
runs-on: ubuntu-18.04
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-20.04, ubuntu-18.04]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
|||||||
20
CHANGELOG.md
20
CHANGELOG.md
@@ -6,7 +6,25 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|||||||
|
|
||||||
## Releases
|
## Releases
|
||||||
|
|
||||||
### v3.15.0 - [Unreleased]
|
### v3.15.1 - [Unreleased]
|
||||||
|
|
||||||
|
### v3.15.0 - 2022-09-09
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
|
||||||
|
- Ubuntu 22.04 LTS Support
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
|
||||||
|
- New Nginx package based on latest Nginx stable release 1.22.2
|
||||||
|
- Better Referrer-Policy ([PR #434](https://github.com/WordOps/WordOps/pull/434))
|
||||||
|
- MariaDB default version is now 10.6
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- `wo log reset --all` ([PR #438](https://github.com/WordOps/WordOps/pull/438))
|
||||||
|
- Outdated Nginx directives
|
||||||
|
- Netdata stack upgrade([PR #439](https://github.com/WordOps/WordOps/pull/439))
|
||||||
|
|
||||||
### v3.14.2 - 2022-04-29
|
### v3.14.2 - 2022-04-29
|
||||||
|
|
||||||
|
|||||||
14
README.md
14
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.18.0 - TLS v1.3 Cloudflare HTTP/2 HPACK & Brotli support
|
- **Custom Nginx build** : Nginx 1.22.0 - 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.5 & Redis 6.0
|
- **Up-to-date** : PHP 7.2, 7.3, 7.4, 8.0 & 8.1 - MariaDB 10.6 & Redis 6.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
|
||||||
@@ -58,16 +58,20 @@
|
|||||||
|
|
||||||
#### Recommended
|
#### Recommended
|
||||||
|
|
||||||
|
- Ubuntu 22.04 LTS (Jammy)
|
||||||
- Ubuntu 20.04 LTS (Focal)
|
- Ubuntu 20.04 LTS (Focal)
|
||||||
- Ubuntu 18.04 LTS (Bionic)
|
- Ubuntu 18.04 LTS (Bionic)
|
||||||
|
|
||||||
#### Also compatible
|
#### Also compatible
|
||||||
|
|
||||||
- Debian 9 (Stretch)
|
|
||||||
- Debian 10 (Buster)
|
- Debian 10 (Buster)
|
||||||
- Raspbian 9 (Stretch)
|
|
||||||
- Raspbian 10 (Buster)
|
- Raspbian 10 (Buster)
|
||||||
|
|
||||||
|
#### For testing purpose only
|
||||||
|
|
||||||
|
- Debian 11 (Bullseye)
|
||||||
|
- Raspbian 11 (Bullseye)
|
||||||
|
|
||||||
## Getting Started
|
## Getting Started
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -121,7 +125,7 @@ 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 --php74 # create example.com with php 7.4 support
|
||||||
wo site create example.com --mysql # create example.com with php 7.3 & 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 --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
|
||||||
|
|||||||
10
install
10
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.14.2 - 2022-04-29
|
# Version 3.15.0 - 2022-09-09
|
||||||
# -------------------------------------------------------------------------
|
# -------------------------------------------------------------------------
|
||||||
|
|
||||||
# CONTENTS
|
# CONTENTS
|
||||||
@@ -167,9 +167,9 @@ wo_check_distro() {
|
|||||||
wo_lib_echo_fail "Feel free to open a pull-request if you want to add support for another Linux distributions"
|
wo_lib_echo_fail "Feel free to open a pull-request if you want to add support for another Linux distributions"
|
||||||
exit 100
|
exit 100
|
||||||
else
|
else
|
||||||
check_wo_linux_distro=$(lsb_release -sc | grep -E "xenial|bionic|jessie|stretch|buster|focal")
|
check_wo_linux_distro=$(lsb_release -sc | grep -E "bionic|stretch|buster|focal|jammy|bullseye")
|
||||||
if [ -z "$check_wo_linux_distro" ]; then
|
if [ -z "$check_wo_linux_distro" ]; then
|
||||||
wo_lib_echo_fail "WordOps (wo) only supports Ubuntu 16.04/18.04/20.04 LTS, Debian 9.x/10.x and Raspbian 9.x/10x.\n
|
wo_lib_echo_fail "WordOps (wo) only supports Ubuntu 18.04/20.04/22.04 LTS, Debian 10.x/11.x and Raspbian 10x./11.x \n
|
||||||
You can bypass this warning by adding the flag --force to the install command"
|
You can bypass this warning by adding the flag --force to the install command"
|
||||||
exit 100
|
exit 100
|
||||||
fi
|
fi
|
||||||
@@ -455,6 +455,8 @@ wo_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
|
||||||
@@ -463,6 +465,8 @@ wo_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.y-xenial#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
|
||||||
|
|||||||
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.14.2',
|
version='3.15.0',
|
||||||
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',
|
||||||
|
|||||||
@@ -126,10 +126,6 @@ def pre_pref(self, apt_packages):
|
|||||||
if WOVar.wo_platform_codename == 'bionic':
|
if WOVar.wo_platform_codename == 'bionic':
|
||||||
Log.debug(self, 'Adding ppa for nano')
|
Log.debug(self, 'Adding ppa for nano')
|
||||||
WORepo.add(self, ppa=WOVar.wo_ubuntu_backports)
|
WORepo.add(self, ppa=WOVar.wo_ubuntu_backports)
|
||||||
elif WOVar.wo_platform_codename == 'xenial':
|
|
||||||
Log.debug(self, 'Adding ppa for nano')
|
|
||||||
WORepo.add_key(self, WOVar.wo_nginx_key)
|
|
||||||
WORepo.add(self, repo_url=WOVar.wo_extra_repo)
|
|
||||||
else:
|
else:
|
||||||
if (not WOFileUtils.grepcheck(
|
if (not WOFileUtils.grepcheck(
|
||||||
self, '/etc/apt/sources.list/wo-repo.list',
|
self, '/etc/apt/sources.list/wo-repo.list',
|
||||||
@@ -1280,7 +1276,8 @@ def post_pref(self, apt_packages, packages, upgrade=False):
|
|||||||
msg="Adding MySQL into Git")
|
msg="Adding MySQL into Git")
|
||||||
elif os.path.exists('/etc/mysql/conf.d/my.cnf'):
|
elif os.path.exists('/etc/mysql/conf.d/my.cnf'):
|
||||||
if ((WOAptGet.is_installed(
|
if ((WOAptGet.is_installed(
|
||||||
self, 'mariadb-server-10.5')) and
|
self,
|
||||||
|
'mariadb-server-{0}'.format(WOVar.mariadb_ver))) and
|
||||||
not (WOFileUtils.grepcheck(
|
not (WOFileUtils.grepcheck(
|
||||||
self, '/etc/mysql/conf.d/my.cnf', 'socket'))):
|
self, '/etc/mysql/conf.d/my.cnf', 'socket'))):
|
||||||
try:
|
try:
|
||||||
@@ -1351,7 +1348,7 @@ def post_pref(self, apt_packages, packages, upgrade=False):
|
|||||||
# set innodb_buffer_pool_instances depending
|
# set innodb_buffer_pool_instances depending
|
||||||
# on the amount of RAM
|
# on the amount of RAM
|
||||||
|
|
||||||
WOService.restart_service(self, 'mysql')
|
WOService.restart_service(self, 'mariadb')
|
||||||
|
|
||||||
# WOFileUtils.mvfile(self, '/var/lib/mysql/ib_logfile0',
|
# WOFileUtils.mvfile(self, '/var/lib/mysql/ib_logfile0',
|
||||||
# '/var/lib/mysql/ib_logfile0.bak')
|
# '/var/lib/mysql/ib_logfile0.bak')
|
||||||
@@ -2008,7 +2005,9 @@ def pre_stack(self):
|
|||||||
# use tcp_bbr congestion algorithm only on new kernels
|
# use tcp_bbr congestion algorithm only on new kernels
|
||||||
if (WOVar.wo_platform_codename == 'bionic' or
|
if (WOVar.wo_platform_codename == 'bionic' or
|
||||||
WOVar.wo_platform_codename == 'focal' or
|
WOVar.wo_platform_codename == 'focal' or
|
||||||
WOVar.wo_platform_codename == 'buster'):
|
WOVar.wo_platform_codename == 'buster' or
|
||||||
|
WOVar.wo_platform_codename == 'jammy' or
|
||||||
|
WOVar.wo_platform_codename == 'bullseye'):
|
||||||
try:
|
try:
|
||||||
WOShellExec.cmd_exec(
|
WOShellExec.cmd_exec(
|
||||||
self, 'modprobe tcp_bbr')
|
self, 'modprobe tcp_bbr')
|
||||||
|
|||||||
@@ -204,7 +204,7 @@ class WOStackUpgradeController(CementBaseController):
|
|||||||
# detect static binaries install
|
# detect static binaries install
|
||||||
if os.path.isdir('/opt/netdata'):
|
if os.path.isdir('/opt/netdata'):
|
||||||
packages = packages + [[
|
packages = packages + [[
|
||||||
'https://my-netdata.io/kickstart-static64.sh',
|
'https://my-netdata.io/kickstart.sh',
|
||||||
'/var/lib/wo/tmp/kickstart.sh', 'Netdata']]
|
'/var/lib/wo/tmp/kickstart.sh', 'Netdata']]
|
||||||
# detect install from source
|
# detect install from source
|
||||||
elif os.path.isdir('/etc/netdata'):
|
elif os.path.isdir('/etc/netdata'):
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ skip-external-locking
|
|||||||
#
|
#
|
||||||
# Instead of skip-networking the default is now to listen only on
|
# Instead of skip-networking the default is now to listen only on
|
||||||
# localhost which is more compatible and is not less secure.
|
# localhost which is more compatible and is not less secure.
|
||||||
bind-address = ::ffff:127.0.0.1
|
bind-address = localhost
|
||||||
#
|
#
|
||||||
# * Fine Tuning
|
# * Fine Tuning
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
# NGINX Tweaks - WordOps {{release}}
|
# NGINX Tweaks - WordOps {{release}}
|
||||||
directio 4m;
|
directio 4m;
|
||||||
directio_alignment 512;
|
directio_alignment 512;
|
||||||
#http2_max_field_size 16k;
|
|
||||||
#http2_max_header_size 32k;
|
|
||||||
|
|
||||||
large_client_header_buffers 8 64k;
|
large_client_header_buffers 8 64k;
|
||||||
|
|
||||||
postpone_output 1460;
|
postpone_output 1460;
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
"""WordOps core variable module"""
|
"""WordOps core variable module"""
|
||||||
import configparser
|
import configparser
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from re import match
|
from re import match
|
||||||
from socket import getfqdn
|
from socket import getfqdn
|
||||||
from shutil import copy2
|
from shutil import copy2
|
||||||
|
|
||||||
from distro import linux_distribution
|
from distro import distro, linux_distribution
|
||||||
from sh import git
|
from sh import git
|
||||||
|
|
||||||
|
|
||||||
@@ -14,11 +15,11 @@ class WOVar():
|
|||||||
"""Intialization of core variables"""
|
"""Intialization of core variables"""
|
||||||
|
|
||||||
# WordOps version
|
# WordOps version
|
||||||
wo_version = "3.14.2"
|
wo_version = "3.15.0"
|
||||||
# WordOps packages versions
|
# WordOps packages versions
|
||||||
wo_wp_cli = "2.6.0"
|
wo_wp_cli = "2.6.0"
|
||||||
wo_adminer = "4.8.1"
|
wo_adminer = "4.8.1"
|
||||||
wo_phpmyadmin = "5.0.2"
|
wo_phpmyadmin = "5.2.0"
|
||||||
wo_extplorer = "2.1.13"
|
wo_extplorer = "2.1.13"
|
||||||
wo_dashboard = "1.2"
|
wo_dashboard = "1.2"
|
||||||
|
|
||||||
@@ -30,13 +31,19 @@ class WOVar():
|
|||||||
|
|
||||||
# WordOps core variables
|
# WordOps core variables
|
||||||
# linux distribution
|
# linux distribution
|
||||||
wo_distro = linux_distribution(
|
if sys.version_info <= (3, 7):
|
||||||
full_distribution_name=False)[0].lower()
|
wo_distro = linux_distribution(
|
||||||
wo_platform_version = linux_distribution(
|
full_distribution_name=False)[0].lower()
|
||||||
full_distribution_name=False)[1].lower()
|
wo_platform_version = linux_distribution(
|
||||||
# distro codename (bionic, xenial, stretch ...)
|
full_distribution_name=False)[1].lower()
|
||||||
wo_platform_codename = linux_distribution(
|
# distro codename (bionic, xenial, stretch ...)
|
||||||
full_distribution_name=False)[2].lower()
|
wo_platform_codename = linux_distribution(
|
||||||
|
full_distribution_name=False)[2].lower()
|
||||||
|
else:
|
||||||
|
wo_distro = distro.id()
|
||||||
|
wo_platform_version = distro.version()
|
||||||
|
# distro codename (bionic, xenial, stretch ...)
|
||||||
|
wo_platform_codename = distro.codename()
|
||||||
|
|
||||||
# Get timezone of system
|
# Get timezone of system
|
||||||
if os.path.isfile('/etc/timezone'):
|
if os.path.isfile('/etc/timezone'):
|
||||||
@@ -123,11 +130,15 @@ class WOVar():
|
|||||||
wo_deb_repo = "Debian_9.0"
|
wo_deb_repo = "Debian_9.0"
|
||||||
elif wo_platform_codename == 'buster':
|
elif wo_platform_codename == 'buster':
|
||||||
wo_deb_repo = "Debian_10"
|
wo_deb_repo = "Debian_10"
|
||||||
|
elif wo_platform_codename == 'bullseye':
|
||||||
|
wo_deb_repo = "Debian_11"
|
||||||
elif wo_distro == 'raspbian':
|
elif wo_distro == 'raspbian':
|
||||||
if wo_platform_codename == 'stretch':
|
if wo_platform_codename == 'stretch':
|
||||||
wo_deb_repo = "Raspbian_9.0"
|
wo_deb_repo = "Raspbian_9.0"
|
||||||
elif wo_platform_codename == 'buster':
|
elif wo_platform_codename == 'buster':
|
||||||
wo_deb_repo = "Raspbian_10"
|
wo_deb_repo = "Raspbian_10"
|
||||||
|
elif wo_platform_codename == 'bullseye':
|
||||||
|
wo_deb_repo = "Raspbian_11"
|
||||||
# debian/raspbian nginx repository
|
# debian/raspbian nginx repository
|
||||||
wo_nginx_repo = ("deb http://download.opensuse.org"
|
wo_nginx_repo = ("deb http://download.opensuse.org"
|
||||||
"/repositories/home:"
|
"/repositories/home:"
|
||||||
@@ -171,7 +182,7 @@ class WOVar():
|
|||||||
else:
|
else:
|
||||||
mariadb_ver = '10.3'
|
mariadb_ver = '10.3'
|
||||||
else:
|
else:
|
||||||
mariadb_ver = '10.5'
|
mariadb_ver = '10.6'
|
||||||
wo_mysql = wo_mysql + ["mariadb-backup"]
|
wo_mysql = wo_mysql + ["mariadb-backup"]
|
||||||
|
|
||||||
wo_mysql_client = ["mariadb-client", "python3-mysqldb"]
|
wo_mysql_client = ["mariadb-client", "python3-mysqldb"]
|
||||||
@@ -183,8 +194,9 @@ class WOVar():
|
|||||||
# APT repositories
|
# APT repositories
|
||||||
wo_mysql_repo = ("deb [arch=amd64,arm64,ppc64el] "
|
wo_mysql_repo = ("deb [arch=amd64,arm64,ppc64el] "
|
||||||
"http://mariadb.mirrors.ovh.net/MariaDB/repo/"
|
"http://mariadb.mirrors.ovh.net/MariaDB/repo/"
|
||||||
"10.5/{distro} {codename} main"
|
"{version}/{distro} {codename} main"
|
||||||
.format(distro=wo_distro,
|
.format(version=mariadb_ver,
|
||||||
|
distro=wo_distro,
|
||||||
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"
|
||||||
|
|||||||
Reference in New Issue
Block a user