Configurare il layout di Apache

Molte opzioni di compilazione di Apache si riferiscono al path da utilizzare per varie directory (dir di base, documenti, log, configurazioni, binari ecc.).
E' possibile specificarle singolarmente oppure usare dei layout predefiniti, che presentano dei template di base, sulla posizione delle directory, che si adattano a diversi sistemi.

Nel file config.layout all'interno del tar.gz ufficiale si trovano alcuni template predefiniti.
Fra questi segnaliamo quello di default, che mette tutto nella directory /usr/local/apache e in sue sottodirectory:
<Layout Apache>
    prefix:        /usr/local/apache
    exec_prefix:   $prefix
    bindir:        $exec_prefix/bin
    sbindir:       $exec_prefix/bin
    libexecdir:    $exec_prefix/libexec
    mandir:        $prefix/man
    sysconfdir:    $prefix/conf
    datadir:       $prefix
    iconsdir:      $datadir/icons
    htdocsdir:     $datadir/htdocs
    manualdir:     $htdocsdir/manual
    cgidir:        $datadir/cgi-bin
    includedir:    $prefix/include
    localstatedir: $prefix
    runtimedir:    $localstatedir/logs
    logfiledir:    $localstatedir/logs
    proxycachedir: $localstatedir/proxy
</Layout>


Un'altro template spesso usato è quello utilizzato da distribuzioni Linux derivate da RedHat e basate su RPM:
<Layout RedHat>
    prefix:        /usr
    exec_prefix:   $prefix
    bindir:        $prefix/bin
    sbindir:       $prefix/sbin
    libexecdir:    $prefix/lib/apache
    mandir:        $prefix/man
    sysconfdir:    /etc/httpd/conf
    datadir:       /var/www
    iconsdir:      $datadir/icons
    htdocsdir:     $datadir/html
    manualdir:     $datadir/manual
    cgidir:        $datadir/cgi-bin
    includedir:    $prefix/include/apache
    localstatedir: /var
    runtimedir:    $localstatedir/run
    logfiledir:    $localstatedir/log/httpd
    proxycachedir: $localstatedir/cache/httpd
</Layout>


Per utilizzare uno specifico layout si usa la direttiva --with-layout, per esempio:
./configure --with-layout=Solaris
Nella versione 1.3.27 sono predefiniti i seguenti layout: Apache, GNU, BinaryDistribution, Mac OS X Server, Darwin, RedHat, opt, beos, SuSE, BSDI, Solaris, FreeBSD, OpenBSD, Cygwin.

E' possibile utilizzare un layout di base e approntare modifiche su specifici path. Per esempio:
./configure --with-layout=RedHat --data-dir=/home/httpd/html

Fra le direttive che agiscono sulla posizione dei vari file le più significative sono:
--prefix=PATH - Indica la directory di base di installazione e il valore di default della server root.
--target=NOME - Modifica il nome di base dell'eseguibile httpd, dei file di lock e scoreboard, delle directory in cui sono contenuti i vari file. Come --prefix, è utile per far convivere 2 diverse versioni di Apache sulla stessa macchina.

Tramite l'opzione --show-layout è inoltre possibile visualizzare, senza compilare nulla, i vari path di installazione e compilazione:
./configure --with-layout=GNU --target=althttpd --show-layout
Configuring for Apache, Version 1.3.27
+ using installation path layout: GNU (config.layout)

Installation paths:
               prefix: /usr/local
          exec_prefix: /usr/local
               bindir: /usr/local/bin
              sbindir: /usr/local/sbin
           libexecdir: /usr/local/libexec
               mandir: /usr/local/man
           sysconfdir: /usr/local/etc/althttpd
              datadir: /usr/local/share/althttpd
             iconsdir: /usr/local/share/althttpd/icons
            htdocsdir: /usr/local/share/althttpd/htdocs
            manualdir: /usr/local/share/althttpd/htdocs/manual
               cgidir: /usr/local/share/althttpd/cgi-bin
           includedir: /usr/local/include/althttpd
        localstatedir: /usr/local/var/althttpd
           runtimedir: /usr/local/var/althttpd/run
           logfiledir: /usr/local/var/althttpd/log
        proxycachedir: /usr/local/var/althttpd/proxy

Compilation paths:
           HTTPD_ROOT: /usr/local
      SHARED_CORE_DIR: /usr/local/libexec
       DEFAULT_PIDLOG: var/althttpd/run/althttpd.pid
   DEFAULT_SCOREBOARD: var/althttpd/run/althttpd.scoreboard
     DEFAULT_LOCKFILE: var/althttpd/run/althttpd.lock
     DEFAULT_ERRORLOG: var/althttpd/log/error_log
    TYPES_CONFIG_FILE: etc/althttpd/mime.types
   SERVER_CONFIG_FILE: etc/althttpd/althttpd.conf
   ACCESS_CONFIG_FILE: etc/althttpd/access.conf
RESOURCE_CONFIG_FILE: etc/althttpd/srm.conf

Privacy Policy