-
Bug
-
Resolution: Done
-
Critical
-
JWS 3.0.1 DR1, JWS 3.0.1 ER1
-
None
Guys, there are several trivial, major and even critical inconsistencies and shortcomings concerning Solaris Apache HTTP Server configuration. I would like to use this JIRA as an umbrella covering them all. The main point I am trying to make is that there is no reason for majority of the directives to differ at all. Differences in help text and auxiliary examples are especially screaming for a unification.
run, logs and cache directories
At the moment, the Solaris Apache HTTP Server stuffs shared memory files, pid file, logs and everything in weird, semi-random locations. I don't like it at all. For instance:
- authdigest_shm in logs instead of cache directory
- mod_proxy balancer's shared mem files (slotmem-shm-peacddc71_mycluster, etc...) in logs instead of cache directory
- PID file in logs directory instead of run directory
Everything slotmem* (shm) must go into cache, logs must go into logs and pid must appear in run. In the following text, note missing PidFile and DefaultRuntimeDir directives.
Notes regarding conf/httpd.conf
- RHEL contains PidFile directive, Solaris does not.
- RHEL listens by default on Listen 127.0.0.1:80, Solaris on all interfaces.
- RHEL contains Timeout 120, KeepAlive Off, MaxKeepAliveRequests 100 and KeepAliveTimeout 15 directives with adjoining help and comments. Solaris does not.
- RHEL contains ExtendedStatus On directive with help and comments, Solaris does not.
- RHEL ServerAdmin is ServerAdmin Administrator@localhost, Solaris is root@localhost.
- RHEL contains default ServerName, ServerName localhost:80, Solaris has it commented out: #ServerName www.example.com:80. It causes warnings on vanilla startup after postinstall.
- RHEL contains and Solaris does not: UseCanonicalName Off with adjoining help and comments.
- Solaris contains and RHEL does not:
<Directory "/opt/del/jws-3.0/var/www"> AllowOverride None # Allow open access: Require all granted </Directory>
- Solaris contains:
<IfModule dir_module> DirectoryIndex index.html </IfModule>
while RHEL has: DirectoryIndex index.html index.html.var
- RHEL contains AccessFileName .htaccess and Solaris does not.
- RHEL
<Files ~ "^\.ht"> Require all denied </Files>
and Solaris
<Files ".ht*"> Require all denied </Files>
- RHEL has HostnameLookups Off, Solaris does not.
- RHEL
<IfModule reqtimeout_module> RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500 </IfModule>
Solaris does not have anything like it.
- Solaris: EnableSendfile on, RHEL: #EnableSendfile off
- RHEL Logging:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent
Solaris Logging:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common
- RHEL ServerSignature On, Solaris does not have the directive set.
- RHEL
Alias /icons/ "/home/mbabacek/JWS/rhel64/jws-3.0/httpd/www/icons/" <Directory "/home/mbabacek/JWS/rhel64/jws-3.0/httpd/www/icons"> Options Indexes MultiViews AllowOverride None Require all granted </Directory>
Solaris nothing regarding icons, no AddIconByEncoding, no AddIcon, no DefaultIcon.
- RHEL
<IfModule mod_dav_fs.c> # Location of the WebDAV lock database. DAVLockDB /var/lib/dav24/lockdb </IfModule>
. Solaris nothing, no WebDav section.
- RHEL IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable, Solaris does not have any such directive.
- RHEL has ReadmeName README.html, HeaderName HEADER.html and IndexIgnore .??* ~ *# HEADER README* RCS CVS *,v *,t, Solaris nothing like that.
- RHEL Language settings and internationalization, Solaris none.
- RHEL internationalizes error responses, Solaris nothing.
- RHEL BrowserMatch directive, Solaris nothing.
- RHEL offers examples on SetHandler server-status and SetHandler server-info, Solaris nothing like that.
- RHEL describes proxy and caching examples for mod_proxy and mod_disk_cache, Solaris does not offer anything like that in any of its config files.
- RHEL presents VirtualHosts examples, Solaris does nothing like that.
conf.modules.d/00-base.conf
RHEL contains DefaultRuntimeDir /home/mbabacek/JWS/rhel64/jws-3.0/httpd/run Solaris does not.
conf.modules.d/00-mpm.conf
RHEL contains default MPM directives, Solaris does not.
<IfModule prefork.c> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxRequestWorkers 256 MaxConnectionsPerChild 4000 </IfModule> <IfModule worker.c> StartServers 2 MaxRequestWorkers 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxConnectionsPerChild 0 </IfModule>
conf.modules.d/00-proxy.conf
RHEL loads LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so. Solaris does not. See
JWS-135.conf.modules.d/01-cgi.conf
Solaris contains a superfluous directive:
<IfModule mpm_winnt_module> LoadModule cgi_module modules/mod_cgi.so </IfModule>
UserDir
Solaris contains conf.modules.d/userdir.conf whereas RHEL contains conf.d/userdir.conf. Content is the same though.
conf.d/ssl.conf
- RHEL contains Listen localhost:443, Solaris Listen 443 https
- Different help comment and auxiliary examples.
- RHEL has AddType application/x-x509-ca-cert .crt,AddType application/x-pkcs7-crl .crl. Solaris does no such thing.
- RHEL sets SSLPassPhraseDialog exec:/home/mbabacek/JWS/rhel64/jws-3.0/httpd/sbin/httpd-ssl-pass-dialog, whereas Solaris SSLPassPhraseDialog builtin.
- Note that postinstall didn't change the privileged directory on Soalris: RHEL SSLSessionCache shmcb:/home/mbabacek/JWS/rhel64/jws-3.0/httpd/run/sslcache(512000), Solaris SSLSessionCache shmcb:/run/httpd/sslcache(512000).
- RHEL contains:
# Semaphore: # Configure the path to the mutual exclusion semaphore the # SSL engine uses internally for inter-process synchronization. Mutex default
. Solaris has nothing like that.
conf.d/welcome.conf
RHEL
<LocationMatch "^/+$"> Options -Indexes ErrorDocument 403 /.noindex.html </LocationMatch> <Directory /home/mbabacek/JWS/rhel64/jws-3.0/httpd/www/error> AllowOverride None Require all granted </Directory> Alias /.noindex.html /home/mbabacek/JWS/rhel64/jws-3.0/httpd/www/error/noindex.html
and Solaris just
<LocationMatch "^/+$"> Options -Indexes ErrorDocument 403 /error/noindex.html </LocationMatch>
Note that both installations had their postinstall scripts executed. The RHEL one in /home/mbabacek/JWS/rhel64/jws-3.0/httpd and the Solaris one in /opt/del/jws-3.0/etc.
WDYT?