From 49f2f2773472d7692e693685f08c9976f95f4f6e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Jun 2024 13:41:43 +0000 Subject: [PATCH 1/5] Bump sh from 2.0.6 to 2.0.7 Bumps [sh](https://github.com/amoffat/sh) from 2.0.6 to 2.0.7. - [Release notes](https://github.com/amoffat/sh/releases) - [Changelog](https://github.com/amoffat/sh/blob/develop/CHANGELOG.md) - [Commits](https://github.com/amoffat/sh/compare/2.0.6...2.0.7) --- updated-dependencies: - dependency-name: sh dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 0dc9deb..2d7f0d1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ cement==2.10.14 pynginxconfig==0.3.4 PyMySQL==1.1.1 psutil==5.9.8 -sh==2.0.6 +sh==2.0.7 SQLAlchemy==1.4.52 requests>=2.20.0 distro==1.9.0 From 03fd15d484ab5a95511ee494452a8aca39fe140e Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Tue, 11 Jun 2024 22:05:23 +0200 Subject: [PATCH 2/5] Fix install script version check (#665) * Fix install script version check --- install | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install b/install index a5860c7..6333c9f 100755 --- a/install +++ b/install @@ -932,7 +932,8 @@ else wo_lib_echo "WordOps (wo) upgrade to $wo_version_new was successful!" wo_lib_echo "Changelog is available on https://github.com/WordOps/WordOps/releases/tag/$wo_version_new" echo - if "v3.21" in "$wo_version_new"; then + version_to_check="v3.21" + if echo "$wo_version_new" | grep -q "$version_to_check"; then wo_lib_echo "To upgrade Nginx package and configuration for HTTP/3 QUIC, use the following command" wo_lib_echo_info "wo stack migrate --nginx" fi From be929e19a2ba3a000d78df0b4d4d15f810b00297 Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Tue, 11 Jun 2024 23:52:12 +0200 Subject: [PATCH 3/5] Add $host variable for fastcgi_params et proxy_params (#666) * Fix install script version check * Add $host variable for fastcgi_params et proxy_params * Add "$http3" variable to logs * Bump release to v3.21.2 * Another fix for wildcard certificates --- CHANGELOG.md | 10 ++++++++++ install | 2 +- setup.py | 2 +- wo/cli/plugins/stack_migrate.py | 25 ++++++++++++++++++------- wo/cli/plugins/stack_pref.py | 17 +++++++++++++++-- wo/cli/templates/nginx-core.mustache | 4 ++-- wo/cli/templates/wo-plus.mustache | 4 ++-- wo/core/variables.py | 2 +- 8 files changed, 50 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b145e2f..079be38 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ### v3.22.0 - [Unreleased] +### v3.21.2 - 2024-06-11 + +#### Added + +- "$http3" variable in access_logs + +#### Fixed + +- $host variable for fastcgi_params et proxy_params + ### v3.21.1 - 2024-06-11 #### Fixed diff --git a/install b/install index 6333c9f..ba22a1a 100755 --- a/install +++ b/install @@ -9,7 +9,7 @@ # ------------------------------------------------------------------------- # wget -qO wo wops.cc && sudo -E bash wo # ------------------------------------------------------------------------- -# Version 3.21.1 - 2024-06-11 +# Version 3.21.2 - 2024-06-11 # ------------------------------------------------------------------------- # CONTENTS diff --git a/setup.py b/setup.py index e5543af..7543236 100644 --- a/setup.py +++ b/setup.py @@ -27,7 +27,7 @@ if os.geteuid() == 0: os.makedirs('/var/lib/wo/tmp/') setup(name='wordops', - version='3.21.1', + version='3.21.2', description='An essential toolset that eases server administration', long_description=LONG, long_description_content_type='text/markdown', diff --git a/wo/cli/plugins/stack_migrate.py b/wo/cli/plugins/stack_migrate.py index 91b32fe..1054f58 100644 --- a/wo/cli/plugins/stack_migrate.py +++ b/wo/cli/plugins/stack_migrate.py @@ -11,6 +11,7 @@ from wo.core.shellexec import WOShellExec from wo.core.variables import WOVar from wo.cli.plugins.sitedb import (getAllsites) from wo.core.template import WOTemplate +from wo.core.domainvalidate import WODomain class WOStackMigrateController(CementBaseController): @@ -118,13 +119,23 @@ class WOStackMigrateController(CementBaseController): for site in allsites: if not site: pass - if (os.path.exists(f'/var/www/{site.sitename}/conf/nginx/ssl.conf') and - not os.path.islink(f'/var/www/{site.sitename}/conf/nginx/ssl.conf')): - data = dict(ssl_live_path=WOVar.wo_ssl_live, - domain=site.sitename, quic=True) - WOTemplate.deploy( - self, f'/var/www/{site.sitename}/conf/nginx/ssl.conf', - 'ssl.mustache', data, overwrite=True) + if os.path.exists(f'/var/www/{site.sitename}/conf/nginx/ssl.conf'): + if not os.path.islink(f'/var/www/{site.sitename}/conf/nginx/ssl.conf'): + data = dict(ssl_live_path=WOVar.wo_ssl_live, + domain=site.sitename, quic=True) + WOTemplate.deploy( + self, f'/var/www/{site.sitename}/conf/nginx/ssl.conf', + 'ssl.mustache', data, overwrite=True) + else: + (_, wo_root_domain) = WODomain.getlevel( + self, site.sitename) + if (site.sitename != wo_root_domain and + os.path.exists(f'/etc/letsencrypt/shared/{wo_root_domain}.conf')): + data = dict(ssl_live_path=WOVar.wo_ssl_live, + domain=wo_root_domain, quic=True) + WOTemplate.deploy( + self, f'/etc/letsencrypt/shared/{wo_root_domain}.conf', + 'ssl.mustache', data, overwrite=True) post_pref(self, WOVar.wo_nginx, []) @expose(hide=True) diff --git a/wo/cli/plugins/stack_pref.py b/wo/cli/plugins/stack_pref.py index 4d37d01..624c9be 100644 --- a/wo/cli/plugins/stack_pref.py +++ b/wo/cli/plugins/stack_pref.py @@ -149,6 +149,19 @@ def post_pref(self, apt_packages, packages, upgrade=False): encoding='utf-8', mode='a') as wo_nginx: wo_nginx.write('fastcgi_param \tSCRIPT_FILENAME ' '\t$request_filename;\n') + if not WOFileUtils.grep(self, '/etc/nginx/fastcgi_params', + 'HTTP_HOST'): + WOFileUtils.textappend(self, '/etc/nginx/fastcgi_params', + '# Fix for HTTP/3 QUIC HTTP_HOST\n' + 'fastcgi_param\tHTTP_HOST\t$host;\n') + if not WOFileUtils.grep(self, '/etc/nginx/proxy_params', + 'X-Forwarded-Host'): + WOFileUtils.textappend(self, '/etc/nginx/proxy_params', + 'proxy_set_header X-Forwarded-Host $host;\n') + if not WOFileUtils.grep(self, '/etc/nginx/proxy_params', + 'X-Forwarded-Port'): + WOFileUtils.textappend(self, '/etc/nginx/proxy_params', + 'proxy_set_header X-Forwarded-Port $server_port;\n') try: data = dict(php="9000", debug="9001", php7="9070", debug7="9170", @@ -245,7 +258,7 @@ def post_pref(self, apt_packages, packages, upgrade=False): "$upstream_response_time " "$srcache_fetch_status " "[$time_local] '\n" - "'$http_host \"$request\" $status" + "'$host \"$request\" $status" " $body_bytes_sent '\n" "'\"$http_referer\" " "\"$http_user_agent\"';\n") @@ -884,7 +897,7 @@ def post_pref(self, apt_packages, packages, upgrade=False): "# Log format Settings\n" "log_format rt_cache_redis '$remote_addr " "$upstream_response_time $srcache_fetch_status " - "[$time_local] '\n '$http_host \"$request\" " + "[$time_local] '\n '$host \"$request\" " "$status $body_bytes_sent '\n'\"$http_referer\" " "\"$http_user_agent\"';\n") # set redis.conf parameter diff --git a/wo/cli/templates/nginx-core.mustache b/wo/cli/templates/nginx-core.mustache index c7b6686..2ff85ac 100644 --- a/wo/cli/templates/nginx-core.mustache +++ b/wo/cli/templates/nginx-core.mustache @@ -94,8 +94,8 @@ http { # Log format Settings log_format rt_cache '$remote_addr $upstream_response_time $upstream_cache_status [$time_local] ' - '$http_host "$request" $status $body_bytes_sent ' - '"$http_referer" "$http_user_agent" "$server_protocol"'; + '$host "$request" $status $body_bytes_sent ' + '"$http_referer" "$http_user_agent" "$server_protocol" "$http3"'; ## # Virtual Host Configs diff --git a/wo/cli/templates/wo-plus.mustache b/wo/cli/templates/wo-plus.mustache index 7dfbb9a..872efdb 100644 --- a/wo/cli/templates/wo-plus.mustache +++ b/wo/cli/templates/wo-plus.mustache @@ -48,8 +48,8 @@ error_log /var/log/nginx/error.log; # Log format Settings log_format rt_cache '$remote_addr $upstream_response_time $upstream_cache_status [$time_local] ' -'$http_host "$request" $status $body_bytes_sent ' -'"$http_referer" "$http_user_agent" "$request_body"'; +'$host "$request" $status $body_bytes_sent ' +'"$http_referer" "$http_user_agent" "$request_body" "$http3"'; ## # Gzip Settings diff --git a/wo/core/variables.py b/wo/core/variables.py index 7c7e86a..183f2cc 100644 --- a/wo/core/variables.py +++ b/wo/core/variables.py @@ -15,7 +15,7 @@ class WOVar(): """Intialization of core variables""" # WordOps version - wo_version = "3.21.1" + wo_version = "3.21.2" # WordOps packages versions wo_adminer = "4.8.1" wo_phpmyadmin = "5.2.0" From 5ed21b270097daab819983c92a7157463201c503 Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Fri, 14 Jun 2024 14:24:33 +0200 Subject: [PATCH 4/5] Add Ubuntu 24.04 to GitHub Actions --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 64c56f1..badf50a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5,6 +5,7 @@ on: branches: - updating-configuration - master + - ci pull_request: branches: - master @@ -19,7 +20,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-20.04, ubuntu-22.04, ubuntu-latest] + os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04] steps: - uses: actions/checkout@v4 From f04df97f3f5c204cc1d41dd76899de8aa5e732a8 Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Fri, 14 Jun 2024 14:29:40 +0200 Subject: [PATCH 5/5] Update issue templates --- .github/ISSUE_TEMPLATE/bug_report.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..c0e6056 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,21 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**System information:** +- [ ] `lsb_release -a` +- [ ] `wo info` +- [ ] `nginx -V` +- [ ] `wo -v` +- [ ] `wp cli info --allow-root` + +**Additional context** +Add any other context about the problem here.