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>
2026-02-08 18:55:16 +01:00
|
|
|
# OpenLiteSpeed Main Configuration - WordOps {{release}}
|
|
|
|
|
# DO NOT MODIFY, ALL CHANGES WILL BE LOST AFTER AN WordOps (wo) UPDATE
|
|
|
|
|
|
|
|
|
|
serverName {{server_name}}
|
|
|
|
|
user nobody
|
|
|
|
|
group nogroup
|
|
|
|
|
priority 0
|
|
|
|
|
inMemBufSize 60M
|
|
|
|
|
swappingDir /tmp/lshttpd/swap
|
|
|
|
|
autoFix503 1
|
|
|
|
|
gracefulRestartTimeout 300
|
|
|
|
|
mime conf/mime.properties
|
|
|
|
|
showVersionNumber 0
|
|
|
|
|
adminEmails root@localhost
|
|
|
|
|
|
|
|
|
|
errorlog /usr/local/lsws/logs/error.log {
|
|
|
|
|
logLevel DEBUG
|
|
|
|
|
debugLevel 0
|
|
|
|
|
rollingSize 10M
|
|
|
|
|
enableStderrLog 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
accesslog /usr/local/lsws/logs/access.log {
|
|
|
|
|
rollingSize 10M
|
|
|
|
|
keepDays 30
|
|
|
|
|
compressArchive 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
indexFiles index.php, index.html, index.htm
|
|
|
|
|
|
|
|
|
|
expires {
|
|
|
|
|
enableExpires 1
|
|
|
|
|
expiresByType image/*=A604800,text/css=A604800,application/x-javascript=A604800,application/javascript=A604800,font/*=A604800,application/x-font-ttf=A604800
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
tuning {
|
|
|
|
|
maxConnections 10000
|
|
|
|
|
maxSSLConnections 10000
|
|
|
|
|
connTimeout 300
|
|
|
|
|
maxKeepAliveReq 10000
|
|
|
|
|
keepAliveTimeout 5
|
|
|
|
|
sndBufSize 0
|
|
|
|
|
rcvBufSize 0
|
|
|
|
|
maxReqURLLen 32768
|
|
|
|
|
maxReqHeaderSize 65536
|
|
|
|
|
maxReqBodySize 2047M
|
|
|
|
|
maxDynRespHeaderSize 32768
|
|
|
|
|
maxDynRespSize 2047M
|
|
|
|
|
maxCachedFileSize 4096
|
|
|
|
|
totalInMemCacheSize 20M
|
|
|
|
|
maxMMapFileSize 256K
|
|
|
|
|
totalMMapCacheSize 40M
|
|
|
|
|
useSendfile 1
|
|
|
|
|
fileETag 28
|
|
|
|
|
enableGzipCompress 1
|
|
|
|
|
enableBrCompress 1
|
|
|
|
|
enableDynGzipCompress 1
|
|
|
|
|
gzipCompressLevel 6
|
|
|
|
|
brStaticCompressLevel 6
|
|
|
|
|
gzipAutoUpdateStatic 1
|
|
|
|
|
gzipStaticCompressLevel 6
|
|
|
|
|
gzipMaxFileSize 10M
|
|
|
|
|
gzipMinFileSize 300
|
|
|
|
|
enableQuic 1
|
|
|
|
|
quicShmDir /dev/shm
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fileAccessControl {
|
|
|
|
|
followSymbolLink 1
|
|
|
|
|
checkSymbolLink 0
|
|
|
|
|
requiredPermissionMask 000
|
|
|
|
|
restrictedPermissionMask 000
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
perClientConnLimit {
|
|
|
|
|
staticReqPerSec 0
|
|
|
|
|
dynReqPerSec 0
|
|
|
|
|
outBandwidth 0
|
|
|
|
|
inBandwidth 0
|
|
|
|
|
softLimit 10000
|
|
|
|
|
hardLimit 10000
|
|
|
|
|
gracePeriod 15
|
|
|
|
|
banPeriod 300
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CGIRLimit {
|
|
|
|
|
maxCGIInstances 20
|
|
|
|
|
minUID 11
|
|
|
|
|
minGID 10
|
|
|
|
|
priority 0
|
|
|
|
|
CPUSoftLimit 10
|
|
|
|
|
CPUHardLimit 50
|
|
|
|
|
memSoftLimit 1460M
|
|
|
|
|
memHardLimit 1470M
|
|
|
|
|
procSoftLimit 400
|
|
|
|
|
procHardLimit 450
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
accessDenyDir {
|
|
|
|
|
dir /
|
|
|
|
|
dir /etc/*
|
|
|
|
|
dir /dev/*
|
|
|
|
|
dir conf/*
|
|
|
|
|
dir admin/conf/*
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
scripthandler {
|
|
|
|
|
add lsapi:lsphp{{default_php_short}} php
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
railsDefaults {
|
|
|
|
|
maxConns 1
|
|
|
|
|
env LSAPI_MAX_IDLE=60
|
|
|
|
|
initTimeout 60
|
|
|
|
|
retryTimeout 0
|
|
|
|
|
pcKeepAliveTimeout 60
|
|
|
|
|
respBuffer 0
|
|
|
|
|
backlog 50
|
|
|
|
|
runOnStartUp 3
|
|
|
|
|
extMaxIdleTime 300
|
|
|
|
|
priority 3
|
|
|
|
|
memSoftLimit 2047M
|
|
|
|
|
memHardLimit 2047M
|
|
|
|
|
procSoftLimit 500
|
|
|
|
|
procHardLimit 600
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
wsgiDefaults {
|
|
|
|
|
maxConns 5
|
|
|
|
|
env LSAPI_MAX_IDLE=60
|
|
|
|
|
initTimeout 60
|
|
|
|
|
retryTimeout 0
|
|
|
|
|
pcKeepAliveTimeout 60
|
|
|
|
|
respBuffer 0
|
|
|
|
|
backlog 50
|
|
|
|
|
runOnStartUp 3
|
|
|
|
|
extMaxIdleTime 300
|
|
|
|
|
priority 3
|
|
|
|
|
memSoftLimit 2047M
|
|
|
|
|
memHardLimit 2047M
|
|
|
|
|
procSoftLimit 500
|
|
|
|
|
procHardLimit 600
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
nodeDefaults {
|
|
|
|
|
maxConns 5
|
|
|
|
|
env LSAPI_MAX_IDLE=60
|
|
|
|
|
initTimeout 60
|
|
|
|
|
retryTimeout 0
|
|
|
|
|
pcKeepAliveTimeout 60
|
|
|
|
|
respBuffer 0
|
|
|
|
|
backlog 50
|
|
|
|
|
runOnStartUp 3
|
|
|
|
|
extMaxIdleTime 300
|
|
|
|
|
priority 3
|
|
|
|
|
memSoftLimit 2047M
|
|
|
|
|
memHardLimit 2047M
|
|
|
|
|
procSoftLimit 500
|
|
|
|
|
procHardLimit 600
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
module cache {
|
|
|
|
|
ls_enabled 1
|
|
|
|
|
checkPrivateCache 1
|
|
|
|
|
checkPublicCache 1
|
|
|
|
|
maxCacheObjSize 10000000
|
|
|
|
|
maxStaleAge 200
|
|
|
|
|
qsCache 1
|
|
|
|
|
reqCookieCache 1
|
|
|
|
|
respCookieCache 1
|
|
|
|
|
ignoreReqCacheCtrl 1
|
|
|
|
|
ignoreRespCacheCtrl 0
|
|
|
|
|
enableCache 0
|
|
|
|
|
expireInSeconds 3600
|
|
|
|
|
enablePrivateCache 0
|
|
|
|
|
privateExpireInSeconds 3600
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-09 13:08:03 +01:00
|
|
|
# Include LSPHP external app definitions
|
|
|
|
|
include /usr/local/lsws/conf/lsphp*.conf
|
|
|
|
|
|
|
|
|
|
# Backend virtual host (port 22222 admin panel)
|
|
|
|
|
virtualHost _backend {
|
|
|
|
|
vhRoot /var/www/22222/
|
|
|
|
|
configFile /usr/local/lsws/conf/vhosts/_backend/vhconf.conf
|
|
|
|
|
allowSymbolLink 1
|
|
|
|
|
enableScript 1
|
|
|
|
|
restrained 0
|
|
|
|
|
}
|
|
|
|
|
|
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>
2026-02-08 18:55:16 +01:00
|
|
|
# Listener for HTTP on port 80
|
|
|
|
|
listener Default {
|
|
|
|
|
address *:80
|
|
|
|
|
secure 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Listener for HTTPS on port 443
|
|
|
|
|
listener Secure {
|
|
|
|
|
address *:443
|
|
|
|
|
secure 1
|
2026-02-09 13:08:03 +01:00
|
|
|
keyFile /var/www/22222/cert/22222.key
|
|
|
|
|
certFile /var/www/22222/cert/22222.crt
|
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>
2026-02-08 18:55:16 +01:00
|
|
|
sslProtocol 24
|
|
|
|
|
enableQuic 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Listener for backend on port 22222
|
|
|
|
|
listener Backend {
|
|
|
|
|
address *:{{backend_port}}
|
|
|
|
|
secure 1
|
|
|
|
|
keyFile /var/www/22222/cert/22222.key
|
|
|
|
|
certFile /var/www/22222/cert/22222.crt
|
|
|
|
|
sslProtocol 24
|
2026-02-09 13:08:03 +01:00
|
|
|
map _backend *
|
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>
2026-02-08 18:55:16 +01:00
|
|
|
}
|
|
|
|
|
|
2026-02-09 13:08:03 +01:00
|
|
|
# WordOps managed vhost mappings below (do not edit this line)
|