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
Installazione e upgrade di Apache tramite package e sorgenti.
re: apache
Prova con
./configure --prefix=/usr/local/apache
senza specificare il target (basta che i due apache non sia in esecuzione contemporaneamente)
Evita di specificare
autoreply: più apache possono convivere?
problemino risolto: basta dare l'opzione di configurazione --target=host@domain (nel mio caso "localhost") poichè il target system chiede come parametro il nome di una macchina della rete. Scusate per il mio "newbie topic" :)) . ciao a tutti!
Rispondipiù apache possono convivere?
Vorrei installare una nuova versione di apache sul mio Fedora core 3 - ho provato con l'opzione --target=NOME, con questo esito:
checking target system type... Invalid configuration `httpd1': machine
`httpd1'not recognized
configure: error: /bin/sh build/config.sub httpd1 failed.
Ho ricevuto un'indicazione via mail : " il problema dovrebbe essere nel comando --taget=httpd1che non viene riconosciuto".
Come posso risolvere quindi il problema? Cambiando il nome del target il risultato è lo stesso.Grazie mille