Three fixes:
1. Replace admpass.sh calls with direct htpasswd writes — the script
is interactive-only (no --password flag) and hangs forever in
automation. Write admin htpasswd directly with openssl passwd.
2. Fix httpd_config.conf template — OLS requires virtualHost {} blocks
with vhRoot/configFile, not bare include of vhconf.conf files.
Add proper _backend virtualHost block, map it to Backend listener,
use self-signed cert for Secure listener until real certs exist.
3. Fix addOLSListenerMap to only add maps to Default and Secure
listeners (not Backend which is reserved for the admin panel).
4. Fix default PHP detection to read from wo.conf config instead
of picking first installed version (which would prefer php74).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
218 lines
5.7 KiB
Plaintext
218 lines
5.7 KiB
Plaintext
# 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
|
|
}
|
|
|
|
# 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
|
|
}
|
|
|
|
# Listener for HTTP on port 80
|
|
listener Default {
|
|
address *:80
|
|
secure 0
|
|
}
|
|
|
|
# Listener for HTTPS on port 443
|
|
listener Secure {
|
|
address *:443
|
|
secure 1
|
|
keyFile /var/www/22222/cert/22222.key
|
|
certFile /var/www/22222/cert/22222.crt
|
|
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
|
|
map _backend *
|
|
}
|
|
|
|
# WordOps managed vhost mappings below (do not edit this line)
|