feat: convert WordOps from Nginx to OpenLiteSpeed + LSPHP + LSCache
Complete conversion of the WordOps stack from Nginx + PHP-FPM to OpenLiteSpeed + LSPHP + LSCache. This is a full rewrite across all 7 phases of the codebase: - Foundation: OLS paths, variables, services, removed pynginxconfig dep - Templates: 11 new OLS mustache templates, removed nginx-specific ones - Stack: stack_pref, stack, stack_services, stack_upgrade, stack_migrate - Site: site_functions, site, site_create, site_update - Plugins: debug, info, log, clean rewritten for OLS - SSL/ACME: acme.sh deploy uses lswsctrl, OLS vhssl blocks - Other: secure, backup, clone, install script Additional features: - Debian 13 (trixie) support - PHP 8.5 support - WP Fort Knox mu-plugin integration (wo secure --lockdown/--unlock) - --nginx CLI flag preserved for backward compatibility Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
104
wo/cli/templates/ols-backend.mustache
Normal file
104
wo/cli/templates/ols-backend.mustache
Normal file
@@ -0,0 +1,104 @@
|
||||
# WordOps Admin Backend Virtual Host - WordOps {{release}}
|
||||
# Port {{port}}
|
||||
|
||||
docRoot {{webroot}}22222/htdocs
|
||||
vhDomain _backend
|
||||
enableGzip 1
|
||||
enableBr 1
|
||||
|
||||
errorlog {{webroot}}22222/logs/ols.error_log {
|
||||
useServer 0
|
||||
logLevel ERROR
|
||||
rollingSize 10M
|
||||
}
|
||||
|
||||
accesslog {{webroot}}22222/logs/ols.access_log {
|
||||
useServer 0
|
||||
rollingSize 10M
|
||||
keepDays 30
|
||||
compressArchive 0
|
||||
}
|
||||
|
||||
index {
|
||||
useServer 0
|
||||
indexFiles index.php, index.html, index.htm
|
||||
autoIndex 1
|
||||
}
|
||||
|
||||
# PHP handler
|
||||
scripthandler {
|
||||
add lsapi:lsphp{{default_php_short}} php
|
||||
}
|
||||
|
||||
extprocessor lsphp{{default_php_short}} {
|
||||
type lsapi
|
||||
address uds://tmp/lshttpd/lsphp{{default_php_short}}.sock
|
||||
maxConns 10
|
||||
env PHP_LSAPI_CHILDREN=10
|
||||
env LSAPI_AVOID_FORK=200M
|
||||
initTimeout 60
|
||||
retryTimeout 0
|
||||
pcKeepAliveTimeout 60
|
||||
respBuffer 0
|
||||
autoStart 2
|
||||
path /usr/local/lsws/lsphp{{default_php_short}}/bin/lsphp
|
||||
backlog 100
|
||||
instances 1
|
||||
priority 0
|
||||
memSoftLimit 2047M
|
||||
memHardLimit 2047M
|
||||
procSoftLimit 1400
|
||||
procHardLimit 1500
|
||||
}
|
||||
|
||||
# Rewrite rules
|
||||
rewrite {
|
||||
enable 1
|
||||
autoLoadHtaccess 1
|
||||
rules <<<END_rules
|
||||
RewriteRule ^(.*)$ /index.php?$1 [QSA,L]
|
||||
END_rules
|
||||
}
|
||||
|
||||
# HTTP Auth realm for backend
|
||||
realm WordOpsBackend {
|
||||
userDB {
|
||||
location /usr/local/lsws/conf/htpasswd-wo
|
||||
}
|
||||
}
|
||||
|
||||
# Require auth for the whole backend
|
||||
context / {
|
||||
realm WordOpsBackend
|
||||
authName "Restricted Area"
|
||||
required valid-user
|
||||
allowBrowse 1
|
||||
addDefaultCharset off
|
||||
}
|
||||
|
||||
# Netdata proxy context
|
||||
context /netdata/ {
|
||||
type proxy
|
||||
handler netdata_backend
|
||||
addDefaultCharset off
|
||||
}
|
||||
|
||||
extprocessor netdata_backend {
|
||||
type proxy
|
||||
address 127.0.0.1:19999
|
||||
maxConns 100
|
||||
pcKeepAliveTimeout 60
|
||||
initTimeout 60
|
||||
retryTimeout 0
|
||||
respBuffer 0
|
||||
}
|
||||
|
||||
# SSL Configuration
|
||||
vhssl {
|
||||
keyFile /var/www/22222/cert/22222.key
|
||||
certFile /var/www/22222/cert/22222.crt
|
||||
sslProtocol 24
|
||||
}
|
||||
|
||||
# Include custom configs
|
||||
include {{webroot}}22222/conf/ols/*.conf
|
||||
Reference in New Issue
Block a user