Uploaded image for project: 'JBoss Web Server'
  1. JBoss Web Server
  2. JWS-136

Apache HTTP Server configuration inconsistencies on Solaris

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • JWS 3.0.1 CR2
    • JWS 3.0.1 DR1, JWS 3.0.1 ER1
    • httpd
    • None
    • Hide

      Browse RHEL and Solaris zips, look into configs.

      Show
      Browse RHEL and Solaris zips, look into configs.

      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?

              rhn-engineering-jclere Jean-Frederic Clere
              mbabacek1@redhat.com Karm Karm
              Weinan Li
              Karm Karm Karm Karm
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: