Configuration file on DirectAdmin
When installing OpenLiteSpeed on DirectAdmin, Custom Build 2 converts the virtual server configuration from Apache and generates OLS configuration files in /usr/local/lsws/conf
.
When using OLS and a new virtual host is added to Apache in DirectAdmin, the corresponding OLS virtual server configurations are created and added at the same time.
You may see “Include detected file in configuration file. Switch to Read Only mode.” Why read only?
DirectAdmin Configuration File
DA developers split what is usually a single OpenLiteSpeed configuration file into multiple include files. The OLS WebAdmin console can read such include files but it is not capable of editing them at the time of this writing. If you have changes to make to the configuration, you must manually edit the files in a text editor instead of the WebAdmin Console.
What follows is a reference to configuration files created by DirectAdmin and stored in /usr/local/lsws/conf
, as shown:
# ll
total 224
-rw-r--r-- 1 lsadm lsadm 67 Aug 22 21:04 directadmin-vhosts.conf
-rw-r--r-- 1 root root 67 Aug 22 21:04 directadmin-vhosts.conf0
-rw-r--r-- 1 lsadm lsadm 67 Aug 22 21:04 httpd-accesscontrol.conf
-rw-r--r-- 1 root root 67 Aug 22 21:04 httpd-accesscontrol.conf0
-rw-r--r-- 1 lsadm lsadm 177 Aug 22 21:04 httpd-accessdenydir.conf
-rw-r--r-- 1 root root 177 Aug 22 21:04 httpd-accessdenydir.conf0
-rw-r--r-- 1 lsadm lsadm 2006 Aug 22 21:04 httpd-alias.conf
-rw-r--r-- 1 root root 2006 Aug 22 21:04 httpd-alias.conf0
-rw-r--r-- 1 lsadm lsadm 497 Aug 22 21:04 httpd-cgirlimit.conf
-rw-r--r-- 1 root root 497 Aug 22 21:04 httpd-cgirlimit.conf0
-rw-r--r-- 1 lsadm lsadm 2839 Aug 22 21:04 httpd_config.conf
-rw-r--r-- 1 root root 2839 Aug 22 21:04 httpd_config.conf0
-rwxr-xr-x 1 lsadm lsadm 7652 Aug 21 20:07 httpd_config.conf.in
-rw-r--r-- 1 lsadm lsadm 685 Aug 22 21:04 httpd-defaults.conf
-rw-r--r-- 1 root root 685 Aug 22 21:04 httpd-defaults.conf0
-rw-r--r-- 1 lsadm lsadm 212 Aug 22 21:04 httpd-expires.conf
-rw-r--r-- 1 root root 212 Aug 22 21:04 httpd-expires.conf0
-rw-r--r-- 1 lsadm lsadm 779 Aug 22 21:04 httpd-extprocessor.conf
-rw-r--r-- 1 lsadm lsadm 1595 Aug 30 15:33 httpd-extprocessors.conf
-rw-r--r-- 1 root root 1595 Aug 30 14:55 httpd-extprocessors.conf0
-rw-r--r-- 1 lsadm lsadm 228 Aug 22 21:04 httpd-fileaccesscontrol.conf
-rw-r--r-- 1 root root 228 Aug 22 21:04 httpd-fileaccesscontrol.conf0
-rw-r--r-- 1 lsadm lsadm 527 Aug 22 21:04 httpd-logs.conf
-rw-r--r-- 1 root root 527 Aug 22 21:04 httpd-logs.conf0
-rw-r--r-- 1 lsadm lsadm 401 Aug 22 21:04 httpd-lscache.conf
-rw-r--r-- 1 root root 401 Aug 22 21:04 httpd-lscache.conf0
-rw-r--r-- 1 lsadm lsadm 312 Aug 22 21:04 httpd-lsrecaptcha.conf
-rw-r--r-- 1 lsadm lsadm 695 Aug 22 21:04 httpd-modsecurity.conf
-rw-r--r-- 1 lsadm lsadm 0 Aug 22 21:04 httpd-modsecurity-enable.conf
-rw-r--r-- 1 root root 0 Aug 22 21:04 httpd-modsecurity-enable.conf0
-rw-r--r-- 1 lsadm lsadm 556 Aug 22 21:04 httpd-nodedefaults.conf
-rw-r--r-- 1 root root 556 Aug 22 21:04 httpd-nodedefaults.conf0
-rw-r--r-- 1 lsadm lsadm 416 Aug 22 21:04 httpd-perclientconnlimit.conf
-rw-r--r-- 1 root root 416 Aug 22 21:04 httpd-perclientconnlimit.conf0
-rw-r--r-- 1 lsadm lsadm 555 Aug 22 21:04 httpd-phplimits.conf
-rw-r--r-- 1 root root 555 Aug 30 14:55 httpd-phplimits.conf0
-rw-r--r-- 1 lsadm lsadm 557 Aug 22 21:04 httpd-railsdefaults.conf
-rw-r--r-- 1 root root 557 Aug 22 21:04 httpd-railsdefaults.conf0
-rw-r--r-- 1 lsadm lsadm 75 Aug 30 15:33 httpd-scripthandler.conf
-rw-r--r-- 1 root root 75 Aug 30 14:55 httpd-scripthandler.conf0
-rw-r--r-- 1 lsadm lsadm 1242 Aug 22 21:04 httpd-tuning.conf
-rw-r--r-- 1 root root 1242 Aug 22 21:04 httpd-tuning.conf0
-rw-r--r-- 1 lsadm lsadm 1644 Aug 22 21:04 httpd-vhosts.conf
-rw-r--r-- 1 root root 1644 Aug 22 21:04 httpd-vhosts.conf0
-rw-r--r-- 1 lsadm lsadm 349 Aug 22 21:04 httpd-webapps-php.conf
-rw-r--r-- 1 root root 349 Aug 22 21:04 httpd-webapps-php.conf0
-rw-r--r-- 1 lsadm lsadm 556 Aug 22 21:04 httpd-wsgidefaults.conf
-rw-r--r-- 1 root root 556 Aug 22 21:04 httpd-wsgidefaults.conf0
-rw-r--r-- 1 lsadm lsadm 1099 Aug 22 21:04 ips.conf
-rw-r--r-- 1 root root 1099 Aug 22 21:04 ips.conf0
-rw-r--r-- 1 lsadm lsadm 601 Aug 22 21:04 listeners.conf
-rw-r--r-- 1 root root 601 Aug 22 21:04 listeners.conf0
-rwxr-xr-x 1 lsadm lsadm 4965 Aug 21 20:07 mime.properties
-rwxr-xr-x 1 root root 4965 Aug 22 21:04 mime.properties0
-rwxr-xr-x 1 lsadm lsadm 2277 Aug 21 20:07 switch_config.sh
drwxr-xr-x 2 lsadm lsadm 40 Aug 21 20:07 templates
drwxr-xr-x 3 lsadm lsadm 21 Aug 21 20:07 vhosts
DirectAdmin Configuration File – The Main OLS Configuration File: httpd_config.conf
#######################################################################################
# Main configuration #
#######################################################################################
include /usr/local/lsws/conf/httpd-defaults.conf
include /usr/local/lsws/conf/httpd-logs.conf
#######################################################################################
# For user configurations not maintained by DirectAdmin. Empty by default. #
#######################################################################################
include /usr/local/lsws/conf/httpd-includes.conf
#######################################################################################
# Supplemental configuration #
#######################################################################################
include /usr/local/lsws/conf/httpd-expires.conf
include /usr/local/lsws/conf/httpd-tuning.conf
include /usr/local/lsws/conf/httpd-accessdenydir.conf
include /usr/local/lsws/conf/httpd-fileaccesscontrol.conf
include /usr/local/lsws/conf/httpd-perclientconnlimit.conf
include /usr/local/lsws/conf/httpd-cgirlimit.conf
include /usr/local/lsws/conf/httpd-accesscontrol.conf
include /usr/local/lsws/conf/httpd-railsdefaults.conf
include /usr/local/lsws/conf/httpd-wsgidefaults.conf
include /usr/local/lsws/conf/httpd-nodedefaults.conf
include /usr/local/lsws/conf/httpd-lscache.conf
#Will be supported in 1.5.x
#include /usr/local/lsws/conf/httpd-lsrecaptcha.conf
#######################################################################################
# Files gennerated by CustomBuild #
#######################################################################################
include /usr/local/lsws/conf/httpd-modsecurity-enable.conf
include /usr/local/lsws/conf/httpd-extprocessors.conf
include /usr/local/lsws/conf/httpd-scripthandler.conf
#######################################################################################
# Do not change anything in files below, because they are rewritten by DirectAdmin #
#######################################################################################
# Include of default and SSL listeners #
include /usr/local/lsws/conf/listeners.conf
# Shared IP pages
include /usr/local/lsws/conf/ips.conf
# Virtual hosts
include /usr/local/lsws/conf/httpd-vhosts.conf
# All the DirectAdmin vhosts
include /usr/local/lsws/conf/directadmin-vhosts.conf
#######################################################################################
# End of included files that are rewritten by DirectAdmin #
#######################################################################################
~
httpd-defaults.conf
httpdWorkers 2
user apache
group apache
priority 0
autoRestart 1
chrootPath /
enableChroot 0
inMemBufSize 60M
swappingDir /tmp/lshttpd/swap
autoFix503 1
gracefulRestartTimeout 300
mime conf/mime.properties
showVersionNumber 0
adminEmails root@localhost
indexFiles index.html, index.php
disableWebAdmin 0
enableLVE 0
httpd-logs.conf
errorlog /var/log/httpd/error_log {
logLevel ERROR
rollingSize 0
enableStderrLog 1
}
accesslog /var/log/httpd/access_log {
logReferer 1
logUserAgent 1
logFormat %a %l %u %t "%r" %>s %O "%{Referer}i" "%{User-Agent}i"
logHeaders 5
rollingSize 0
}
accesslog /var/log/httpd/homedir.log {
useServer 0
logFormat %O %I
rollingSize 0
}
httpd-includes.conf
DirectAdmin Configuration File The file does not exist by default. You can create it when you need it.
httpd-expires.conf
xpires {
enableExpires 1
expiresByType image/*=A604800,text/css=A604800,application/x-javascript=A604800,application/javascript=A604800,font/*=A604800,application/x-font-ttf=A604800
}
httpd-tuning.conf
tuning{
maxConnections 10000
maxSSLConnections 5000
connTimeout 300
maxKeepAliveReq 10000
smartKeepAlive 0
keepAliveTimeout 5
sndBufSize 0
rcvBufSize 0
gzipStaticCompressLevel 6
gzipMaxFileSize 10M
eventDispatcher best
maxCachedFileSize 4096
totalInMemCacheSize 20M
maxMMapFileSize 256K
totalMMapCacheSize 40M
useSendfile 1
fileETag 28
SSLCryptoDevice null
maxReqURLLen 8192
maxReqHeaderSize 16380
maxReqBodySize 2047M
maxDynRespHeaderSize 8192
maxDynRespSize 2047M
enableGzipCompress 1
enableBrCompress 1
enableDynGzipCompress 1
gzipCompressLevel 6
compressibleTypes text/*, application/x-javascript, application/xml, application/javascript, image/svg+xml,application/rss+xml
gzipAutoUpdateStatic 1
gzipMinFileSize 300
}
httpd-accessdenydir.conf
accessDenyDir{
dir /
dir /etc/*
dir /dev/*
dir conf/*
dir admin/conf/*
}
httpd-fileaccesscontrol.conf
fileAccessControl{
followSymbolLink 1
checkSymbolLink 0
requiredPermissionMask 000
restrictedPermissionMask 000
}
httpd-perclientconnlimit.conf
perClientConnLimit{
staticReqPerSec 0
dynReqPerSec 0
outBandwidth 0
inBandwidth 0
softLimit 10000
hardLimit 10000
gracePeriod 15
banPeriod 300
}
httpd-cgirlimit.conf
CGIRLimit{
maxCGIInstances 20
minUID 11
minGID 10
priority 0
CPUSoftLimit 10
CPUHardLimit 50
memSoftLimit 1460M
memHardLimit 1470M
procSoftLimit 400
procHardLimit 450
}
httpd-accesscontrol.conf
accessControl{
allow ALL
deny
}
httpd-railsdefaults.conf
railsDefaults{
binPath
railsEnv 1
maxConns 5
env LSAPI_MAX_IDLE=60
initTimeout 60
retryTimeout 0
pcKeepAliveTimeout 60
respBuffer 0
backlog 50
runOnStartUp 1
extMaxIdleTime 300
priority 3
memSoftLimit 2047M
memHardLimit 2047M
procSoftLimit 500
procHardLimit 600
}
httpd-wsgidefaults.conf
wsgiDefaults{
binPath
railsEnv 1
maxConns 5
env LSAPI_MAX_IDLE=60
initTimeout 60
retryTimeout 0
pcKeepAliveTimeout 60
respBuffer 0
backlog 50
runOnStartUp 1
extMaxIdleTime 300
priority 3
memSoftLimit 2047M
memHardLimit 2047M
procSoftLimit 500
procHardLimit 600
}
httpd-nodedefaults.conf
nodeDefaults{
binPath
railsEnv 1
maxConns 5
env LSAPI_MAX_IDLE=60
initTimeout 60
retryTimeout 0
pcKeepAliveTimeout 60
respBuffer 0
backlog 50
runOnStartUp 1
extMaxIdleTime 300
priority 3
memSoftLimit 2047M
memHardLimit 2047M
procSoftLimit 500
procHardLimit 600
}
httpd-lscache.conf
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
}
httpd-lsrecaptcha.conf
lsrecaptcha {
enabled 0
# siteKey Your_SITE_KEY
# secretKey Your_SECRET_KEY
type 2
maxTries 3
allowedRobotHits 3
botWhiteList {
# google.com
}
regConnLimit 15000
sslConnLimit 10000
}
httpd-modsecurity.conf
# Default recommended configuration
SecRuleEngine On
SecRequestBodyAccess On
SecDefaultAction "phase:2,deny,log,status:406"
SecRequestBodyLimitAction ProcessPartial
SecResponseBodyLimitAction ProcessPartial
SecRequestBodyLimit 13107200
SecRequestBodyNoFilesLimit 131072
SecPcreMatchLimit 250000
SecPcreMatchLimitRecursion 250000
SecCollectionTimeout 600
SecDebugLog /var/log/httpd/modsec_debug.log
SecDebugLogLevel 0
SecAuditEngine RelevantOnly
SecAuditLog /var/log/httpd/modsec_audit.log
SecUploadDir /tmp
SecTmpDir /tmp
SecDataDir /tmp
SecTmpSaveUploadedFiles on
# ModSecurity Core Rules Set and Local configuration
Include /etc/modsecurity.d/*.conf.main
Include /etc/modsecurity.d/*.conf
httpd-modsecurity-enable.conf
This file is empty by default. You can modify it as needed.
httpd-extprocessors.conf
extProcessor lsphpwebapps {
type lsapi
address uds://tmp/lshttpd/lsphpwebapps.sock
autoStart 2
path /usr/local/bin/lsphp
runOnStartUp 3
extUser webapps
extGroup webapps
include /usr/local/lsws/conf/httpd-phplimits.conf
}
extProcessor lsphp73 {
type lsapi
address uds://tmp/lshttpd/lsphp73.sock
autoStart 1
path /usr/local/bin/lsphp
include /usr/local/lsws/conf/httpd-phplimits.conf
}
extProcessor lsphp72 {
type lsapi
address uds://tmp/lshttpd/lsphp72.sock
autoStart 1
path /usr/local/php72/bin/lsphp
include /usr/local/lsws/conf/httpd-phplimits.conf
}
extProcessor lsphp71 {
type lsapi
address uds://tmp/lshttpd/lsphp71.sock
autoStart 1
path /usr/local/php71/bin/lsphp
include /usr/local/lsws/conf/httpd-phplimits.conf
}
extProcessor lsphp56 {
type lsapi
address uds://tmp/lshttpd/lsphp56.sock
autoStart 1
path /usr/local/php56/bin/lsphp
include /usr/local/lsws/conf/httpd-phplimits.conf
}
httpd-extprocessor.conf
extProcessor lsphp{
type lsapi
address uds://tmp/lshttpd/lsphp.sock
maxConns 100
env PHP_LSAPI_CHILDREN=50
initTimeout 60
retryTimeout 0
persistConn 1
pcKeepAliveTimeout
respBuffer 0
autoStart 1
path /usr/local/bin/lsphp
backlog 100
instances 1
priority 0
memSoftLimit 2047M
memHardLimit 2047M
procSoftLimit 400
procHardLimit 500
}
httpd-scripthandler.conf
scriptHandler{
add lsapi:lsphp73 php
add lsapi:lsphpwebapps lsphpwebapps
}
listeners.conf
Auto generated openlitespeed listeners config file by DirectAdmin version 1.58.1
# Modifying this file is not recommended as any changes you make will be
# overwritten when you add/remove ip's through DirectAdmin.
listener 999-99-99-99-99 {
address x.x.x.x:80
secure 0
}
listener 999-99-99-99-443 {
address x.x.x.x:443
secure 1
keyFile /usr/local/lsws/ssl.key/server.key
certFile /usr/local/lsws/ssl.crt/server.crt
certChain 1
sslProtocol 30
}
~
ips.conf
Auto generated openlitespeed ips config file by DirectAdmin version 1.58.1
# Modifying this file is not recommended as any changes you make will be
# overwritten when you add/remove ip's through DirectAdmin.
virtualHost 999.99.99.99 {
listeners 999-99-99-99-80, 999-99-99-99-443
user apache
group apache
vhRoot /var/www/html
allowSymbolLink 1
enableScript 1
restrained 1
setUIDMode 2
docRoot /var/www/html
vhDomain x.x.x.54
adminEmails root@localhost
enableGzip 1
enableIpGeo 1
rewrite {
enable 1
autoLoadHtaccess 1
RewriteFile .htaccess
}
vhssl {
keyFile /usr/local/lsws/ssl.key/server.key
certFile /usr/local/lsws/ssl.crt/server.crt
certChain 1
sslProtocol 30
}
# include aliases
include /usr/local/lsws/conf/httpd-alias.conf
}
httpd-vhosts.conf
virtualHost hostname {
user webapps
group webapps
vhRoot /var/www
allowSymbolLink 1
enableScript 1
restrained 1
setUIDMode 2
docRoot /var/www/html
vhDomain example.com
# order: Exact macth first; Then wildMatch; Then the default, which is *
# having "vhAliases *" is not dangerous, and would just serve the vhost as "default vhost"
vhAliases *
listeners x-x-xx-x-80, x-x-x-x-443
adminEmails root@localhost
enableGzip 1
enableIpGeo 1
phpIniOverride {
php_admin_value session.save_path '/var/www/tmp'
php_admin_value upload_tmp_dir '/var/www/tmp'
}
rewrite {
enable 1
autoLoadHtaccess 1
}
vhssl {
keyFile /usr/local/lsws/ssl.key/server.key
certFile /usr/local/lsws/ssl.crt/server.crt.combined
certChain 1
sslProtocol 30
}
# logs
errorlog /var/log/httpd/error_log {
logLevel ERROR
useServer 1
}
accesslog /var/log/httpd/access_log {
logReferer 1
logUserAgent 1
logFormat %a %l %u %t "%r" %>s %O "%{Referer}i" "%{User-Agent}i"
logHeaders 5
rollingSize 0
}
accesslog /var/log/httpd/homedir.log {
useServer 0
logFormat %O %I
rollingSize 0
}
# include aliases
include /usr/local/lsws/conf/httpd-alias.conf
}
directadmin-vhosts.conf
include /usr/local/directadmin/data/users/admin/openlitespeed.conf
/usr/local/directadmin/data/users/admin/openlitespeed.conf
These are the files converted from Apache.
# Auto generated openlitespeed config file by DirectAdmin version 1.58.1
# Modifying this file is not recommended as any changes you make will be
# overwritten when the user makes any changes to their website
# For global config changes that affect all Users, see this guide:
# http://help.directadmin.com/item.php?id=2
# For local config changes that only affect one User, see this guide:
# http://help.directadmin.com/item.php?id=3
virtualHost example.com-80 {
user admin
group admin
vhRoot /home/admin
allowSymbolLink 1
enableScript 1
restrained 1
setUIDMode 2
# listeners listener1, listener2, listener3
listeners x-x-x-x-80
#VirtualHost config settings
docRoot /home/admin/domains/example.com/public_html
vhDomain example.com
vhAliases www.example.com
adminEmails [email protected]
enableGzip 1
enableIpGeo 1
errorlog /var/log/httpd/domains/example.com.error.log {
useServer 0
logLevel NOTICE
rollingSize 0
}
accesslog /var/log/httpd/domains/example.com.log {
useServer 0
logFormat %a %l %u %t "%r" %>s %O "%{Referer}i" "%{User-Agent}i"
logHeaders 5
rollingSize 0
}
accesslog /var/log/httpd/domains/example.com.bytes {
useServer 0
logFormat %O %I
rollingSize 0
}
scripthandler {
add lsapi:lsphp73 inc
add lsapi:lsphp73 php
add lsapi:lsphp73 phtml
add lsapi:lsphp73 php73
}
phpIniOverride {
php_admin_flag engine ON
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f [email protected]"
php_admin_value open_basedir "/home/admin/:/tmp:/var/tmp:/usr/local/lib/php/:/usr/local/php73/lib/php/"
php_admin_value mail.log /home/admin/.php/php-mail.log
}
rewrite {
enable 1
autoLoadHtaccess 1
}
# include aliases
include /usr/local/lsws/conf/httpd-alias.conf
}
virtualHost example.com-443 {
user admin
group admin
vhRoot /home/admin
allowSymbolLink 1
enableScript 1
restrained 1
setUIDMode 2
# listeners listener1, listener2, listener3
listeners x-x-x-x-443
#VirtualHost config settings
docRoot /home/admin/domains/example.com/private_html
vhDomain example.com
vhAliases www.example.com
adminEmails [email protected]
enableGzip 1
enableIpGeo 1
errorlog /var/log/httpd/domains/example.com.error.log {
useServer 0
logLevel NOTICE
rollingSize 0
}
accesslog /var/log/httpd/domains/example.com.log {
useServer 0
logFormat %a %l %u %t "%r" %>s %O "%{Referer}i" "%{User-Agent}i"
logHeaders 5
rollingSize 0
}
accesslog /var/log/httpd/domains/example.com.bytes {
useServer 0
logFormat %O %I
rollingSize 0
}
scripthandler {
add lsapi:lsphp73 inc
add lsapi:lsphp73 php
add lsapi:lsphp73 phtml
add lsapi:lsphp73 php73
}
phpIniOverride {
php_admin_flag engine ON
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f [email protected]"
php_admin_value open_basedir "/home/admin/:/tmp:/var/tmp:/usr/local/lib/php/:/usr/local/php73/lib/php/"
php_admin_value mail.log /home/admin/.php/php-mail.log
}
rewrite {
enable 1
autoLoadHtaccess 1
}
vhssl {
keyFile /usr/local/directadmin/data/users/admin/domains/example.com.key
certFile /usr/local/directadmin/data/users/admin/domains/example.com.cert.combined
certChain 1
sslProtocol 30
}
# include aliases
include /usr/local/lsws/conf/httpd-alias.conf
}