Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Installare un server Apache su NT

Le procedure relative all'installazione di server Apache su Piattaforme Windows: installazione, alberatura e configurazione.
Le procedure relative all'installazione di server Apache su Piattaforme Windows: installazione, alberatura e configurazione.
Link copiato negli appunti

L'installazione di Apache non si presenta difficoltosa: dopo aver scaricato
dal sito www.apache.org la versione
di Apache per win32 (che occupa poco meno di 3 Mb compressa), basterà
lanciare l'eseguibile e attendere la nota schermata di installazione. La
versione attualmente più aggiornata è la 1.3.9 (quella utilizzata
per la stesura di questo articolo), che viene presentata come una beta
ma che, per imparare ad utilizzare Apache, è più che stabile;
ovviamente, se dovete fare un uso serio ed intensivo di questo webserver,
cercate una versione stabile.

Durante il processo di installazione, non dovremo fare molto, ma solo
limitarci a rispondere al tipo di installazione che si vuole effettuare:
tipica, minima e personalizzata. L'installazione tipica va generalmente bene, ma se volete vedere cosa in effetti verrà installato sul vostro sistema scegliete l'installazione personalizzata. Qui infatti vi sarà
proposto cosa installare:

  • Application files: ovvero i file necessari per far funzionare il nostro server;
  • Web Server Source Code: il sorgente di Apache;
  • Web Server Manual: il manuale (caldamente consigliato: vi toglierà alcuni dei principali dubbi);
  • Web Server Additional modules: i moduli che Apache caricherà in fase di avvio. Molto utili, soprattutto se dovrete far girare, ad esempio, dei CGI sotto Apache;
  • Server icons: serve qualche spiegazione?

Per non sbagliare, scegliete pure tutto (in totale
sono poco più di 15 Mb), in modo da non avere intoppi dovuti alla
mancanza di qualcosa necessario ad Apache: in teoria, questa 'configurazione'
dovrebbe essere simile all'installazione standard.

Attendiamo che l'installazione termini e potremo utilizzare Apache,
ricordando però prima l'alberatura dell'installazione: tutti i file
necessari sono contenuti in C:ProgrammiApache GroupApache, compreso
l'eseguibile e tutta la documentazione.

A questo punto, Apache sarà installato sul vostro sistema, ma non siamo ancora arrivati alla fine.
Se, infatti, provate a lanciare l'eseguibile da finestra DOS (giusto per avere il tempo necessario alla lettura del messaggio d'errore), vedrete:

C:ProgrammiApache GroupApacheApache

APACHE.EXE: cannot determine local host name.

Use the ServerName directive to set it manually

Cosa significa? Semplicemente che non avete ancora deciso un nome per
il vostro host, che dovrete settare come più vi piace nel file C:ProgrammiApache
GroupApacheconfhttpd.conf
, che è il file principale di Apache.

Addentriamoci quindi nella configurazione del server, iniziando proprio dall'editing di questo file (associate l'estensione .conf a wordpad o al Blocco Note, in modo da non dover ogni volta specificare con quale applicazione aprire il file).

La prima cosa da fare è sicuramente
decidere un nome per il nostro host: qui utilizzeremo host.com, ma voi
potrete utilizzare quello che preferite, stando attenti che il nome da
voi scelto non esista già. Quindi cerchiamo in httpd.conf la riga
che inizia con ServerName, decommentiamola (per i 'non addetti ai lavori'
decommentare una riga significa togliere il simbolo '#': questo è
utilizzato quando si vuole che una riga non sia letta dall'applicazione
che ne fa uso) e aggiungiamo il nome del nostro host, in modo che risulti:

ServerName host.com

A questo punto, torniamo alla nostra finestra DOS (in seguito potremo
abbandonarla, ma per ora sarà utile a leggere i messaggi del server)
e lanciamo apache: il risultato sarà simile a questo:

C:ProgrammiApache GroupApache>Apache

Apache/1.3.9 (Win32) running..

Se tutto fila liscio, potrete aprire il vostro browser preferito e scrivere
localhost e vi vedrete comparire la schermata di Apache che vi informerà
che tutto è andato bene e vi fornirà il link alla documentazione,
che avrete in locale senza dover scaricare niente dalla rete (sempre che
l'abbiate installata). In seguito, se volete, potrete scrivere un semplice
file batch per automatizzare l'avvio di Apache al boot o quando preferite.

Prima di vedere come configurare Apache, vediamo in breve l'alberatura
dell'installazione.

Come già accennato, la directory principale è C:ProgrammiApache
GroupApache
: vediamo com'è suddivisa e quali sono i file principali
di ogni directory (per comodità, le directory saranno contrassegnate
tra [ ] ):

[Apache]

  |

  |___ [bin] --> troverete due eseguibili.

  |

  |___ [cgi-bin] --> la directory dove inserire i vostri script
CGI.

  |

  |___ [conf] --> in questa directory sono presenti i file di
configurazione di Apache.

  |

  |___ [htdocs] --> tutta la documentazione che vi serve e il
file index.html, la pagina principale del server.

  |

  |___ [icons] --> immagini, icone e simili.

  |

  |___ [logs] --> i logs di Apache.

  |

  |___ [modules] --> moduli.

  |

  |___ [proxy]

  |

  |___ [src] --> il codice sorgente di Apache.

  |

  |___ Apache.exe --> l'eseguibile.

  |

  |___ Licence --> la licenza: può essere interessante leggerla.

  |

  |___ Readme --> il readme di Apache.

  |

  |___ Readme-NT --> un Readme dedicato agli utilizzatori di NT.

  |

  |___ [users] --> questa directory non c'è, ma la dovrete
creare se avete degli utenti che vogliano avere delle directory proprie.

La directory conf sarà vista fra poco, quando parleremo della
configurazione, assieme alla directory modules.

La directory logs contiene due importanti file:

  • access.log, che segnala, come si può capire, gli accessi;
  • error.log, che segnala gli errori.

Leggere quest'ultimo file è assai importante per diversi motivi
tra i quali: capire se Apache ha qualcosa che non va, debuggare i CGI o
almeno capire dove si presentano degli errori e così via.

Passiamo ora alla parte principale del nostro lavoro: la configurazione
vera e propria di Apache.

Il punto di partenza è il file httpd.conf, organizzato in varie
sezioni.

ServerType standalone - la modalità inetd è supportata
solamente su sistemi Unix, quindi dovrete lasciare il default, ovvero standalone;

ServerRoot "C:/Programmi/Apache Group/Apache"

- la directory principale
del server, dove questo tiene i file di log, di configurazione e simili;
lasciate quella di default, che deve corrispondere alla directory decisa
durante l'installazione;

PidFile logs/httpd.pid

- il file nel quale Apache terrà il suo
numero di identificazione; lasciate quello di default;

Timeout 300 - il tempo in secondi che trascorrerà prima del timeout
tra la chiamata e la risposta; cinque minuti dovrebbero essere una buona
scelta;

LoadModule ..... - ci troviamo qui di fronte ad una serie di righe (commentate),
ognuna delle quali identifica un modulo. Se volete che questo venga caricato
all'avvio di Apache, togliete il simbolo '#' davanti alla riga corrispondente.

Port 80 - la porta sulla quale Apache si metterà in ascolto:
la 80 va bene, ma se volete cambiarla attenti che la porta da voi selezionata
non risulti occupata da qualche altro processo;

ServerAdmin you@your.address - l'indirizzo e-mail dell'amministratore
del sistema;

ServerName host.com - il nome che volete dare al vostro host: come detto
in precedenza, per questi esempi verrà utilizzato host.com;

DocumentRoot "C:/Programmi/Apache Group/Apache/htdocs" - la directory
nella quale andranno i vostri file html; vanno bene anche links;

In seguito sono elencate alcune direttive: spiegarle ad una ad una
vorrebbe dire iniziare un discorso troppo ampio: lasciatele come sono e,
se volete saperne di più, consultate la documentazione di Apache)

UserDir "C:/Programmi/Apache Group/Apache/users/" - non essendoci le
home directory, con questa opzione facciamo in modo che le directory personali
degli utenti che utilizzeranno Apache siano sotto la cartella users; potete
cambiarla a vostro piacimento, ma attenzione a non disperdere troppi file
per il disco. Ovviamente, se questa directory non esiste, dovrete crearla.

DirectoryIndex index.html - il nome del file da utilizzare come indice.
Index.html va bene, ma se volete aggiungerne altri (ad esempio index.htm)
potete farlo separando le entries con uno spazio;

AccessFileName .htaccess - il file htaccess è di grande importanza:
regola, per ogni directory, i permessi di accesso. Se volete ad esempio,
impostare delle restrizioni con nome utente e password ad una directory,
dovrete utilizzare questo file;

NOTA1: ovviamente, servirà una copia di questo file per
ogni directory che volete proteggere.

NOTA2: se vi chiedete perché; il nome di questo file inizi
con un punto, sappiate che, nei sistemi Unix, i file nascosti iniziano
sempre con il punto.

HostnameLookups Off - dice ad Apache se loggare i nomi dei client o
solamente i loro indirizzi IP; se impostato su ON usa i nomi, su OFF gli
indirizzi;

ErrorLog logs/error.log - il file dove Apache terrà il log degli
errori. Error.log può andare bene;

LogLevel warn - il livello di verbosity che Apache utilizzerà
nei file di log; può essere definito fra: debug, info, notice,
warn, error, crit, alert e emerg;

CustomLog logs/access.log common - il file dove Apache terrà
i log degli accessi;

ServerSignature On - indica se impostare la 'signature' nella pagine
generate dal server (errori, listing di pagine FTP e simili). Può
essere impostato su On, Off, EMail. Se impostato su EMail, in queste pagine
sarà presente anche un link del tipo mailto: seguito dall'indirizzo
dell'amministratore;

ScriptAlias /cgi-bin/ "C:/Programmi/Apache Group/Apache/cgi-bin/" -
questa riga è molto importante: in pratica indica che gli script
CGI chiamati con http://host.com/cgi-bin/nome_script.cgi saranno fisicamente
presenti in C:/Programmi/Apache Group/Apache/cgi-bin/nome_script.cgi.

Tramite queste impostazioni, potrete creare degli host virtuali all'interno
del vostro host principale. Vediamo come si impostano: l'esempio presentato
nel file httpd.conf di Apache si presenta come segue:

#<VirtualHost ip.address.of.host.some_domain.com>

#    ServerAdmin webmaster@host.some_domain.com

#    DocumentRoot /www/docs/host.some_domain.com

#    ServerName host.some_domain.com

#    ErrorLog logs/host.some_domain.com-error_log

#    CustomLog logs/host.some_domain.com-access_log
common

#</VirtualHost>

Immaginiamo di voler impostare l'host miosito.host.com all'interno del
nostro host.com; dovremo (oltre a decommentare le righe) inserire
qualcosa del tipo:

<VirtualHost xxx.xxx.xxx.xxx>
# L'ip di miosito.host.com

ServerAdmin webmaster@miosito.host.com 
# L'indirizzo e-mail dell'amministratore di miosito.host.com

DocumentRoot C:/Programmi/Apache Group/Apache/users/miosito.host.com/ 
# La directory principale di miosito.host.com

ServerName miosito.host.com 
# Il nome del server virtuale

ErrorLog logs/miosito.host.com-error_log 
# Dove verranno tenuti i log di miosito.host.com

CustomLog logs/miosito.host.com-access_log common 
# Dove verranno tenuti gli altri log di miosito.host.com

</VirtualHost>

Nel caso abbiate bisogno di ulteriori informazioni sui server virtuali,
andate a http://www.apache.org/docs/vhosts/.

E con questo abbiamo finito con httpd.conf, visto abbastanza velocemente
ma, per quello che riguarda i nostri scopi, abbastanza profondamente.

A questo punto dovreste avere il server funzionante, settato come voi
preferite e, soprattutto, performante, con il quale potrete fare i vostri
primi esperimenti.

L'ultimo consiglio è il classico: se qualcosa non
funziona o non va come voi speravate, utilizzate la documentazione: è
abbondante e, al 99% dei casi saprà risolvere ogni vostro problema.
Basta solamente un po' di pazienza.

Ti consigliamo anche