Apache web server
Apache è un webserver open source nato e sviluppatosi in ambiente Unix.
Attorno ad Apache lavorano con passione migliaia di persone sparse in tutto il mondo che contribuiscono allo sviluppo di questo ottimo webserver.
Apache è la piattaforma web server più diffusa per le ottime funzioni di trasporto delle informazioni, di internetwork e di collegamento che sviluppa, ed ha il vantaggio di offrire anche funzioni di controllo per la sicurezza come quelli che compie il proxy.
Il Web server Apache presenta un'architettura modulare, quindi ad ogni richiesta del client, vengono svolte funzioni specifiche da ogni modulo di cui è composto, come unità indipendenti. Ciascun modulo si occupa di una funzionalità, ed il controllo è gestito dal core.
I moduli che contiene sono:
* Core: programma principale composto da un ciclo sequenziale di chiamate ai moduli
* Translation: traduce la richiesta del client
* Acces Control: controlla eventuali richieste dannose
* MIME Type: verifica il tipo di contenuto
* Response: invia la risposta al client e attiva eventuali procedure
* Logging: tiene traccia di tutto ciò che è stato fatto
Il core suddivide la richiesta ai vari moduli in modo sequenziale, usando i parametri di uscita di un modulo come parametri di accesso per l'altro, creando così l'illusione di una comunicazione orizzontale fra i moduli (Pipeline software). Sopra il ciclo del core c'è un ulteriore ciclo di polling svolto da un Demone (informatica) che interroga continuamente le linee logiche da cui possono pervenire messaggi di richiesta.
Gli amministratori del server possono usare il file httpd.conf, che è colui che gestisce i comportamenti e le funzionalità di Apache dall'interno; su sistemi unix solitamente è messo sotto
/usr/local/apache/conf/
e per accedervi si potrà digitare dalla shell di comando
locate httpd.conf
mentre per quanto riguarda i sistemi Windows, solitamente è situato nella subdirectory conf della directory di installazione di Apache, tipicamente
C:\Programmi\Apache Group\Apache\conf
quindi in alternativa basterà un semplice
Start / Trova / File e Cartelle / httpd.conf
Questo file offre tutta la libertà che offre il server, quindi aggiungere moduli, estensioni, nuovi mime-type e altro ancora. Per esempio se si volesse aggiungere un modulo bisognerebbe usare questa sintassi:
LoadModule nome_modulo percorso_del_file
Il file .htaccess permette una ulteriore personalizzazione del webserver a livello di directory. È utilizzato in particolar modo nell'hosting condiviso, per modificare le impostazioni standard fornite dal server stesso.
In pratica, al suo avvio esso genera un processo principale, noto come httpd, a cui si accompagnano tutta una serie di processi subordinati ognuno destinato ad una particolare funzione e tutti "in ascolto" (listening), pronti ad entrare in gioco nel caso sia necessario il loro intervento.
I processi di Apache attendono gli input provenienti dai client attraverso una "porta", in genere la n°80; questo parametro può però essere modificato rimanendo nell'ambito delle prime 1024 porte.
Nel momento del riavvio vengono arrestati tutti i processi secondari, rimane invece in vita httpd che si occuperà di rigenerare gli altri processi seguendo le indicazioni del file di configurazione (httpd.conf).
Quando invece richiediamo ad Apache di arrestarsi, il processo principale si spegnerà e causerà la "morte" di tutti i processi secondari.
In Linux abbiamo la possibilità di avviare Apache e i suoi processi attraverso due comandi principali:
"/etc/rc.d/init.d/httpd" e apachectl
Entrambi devono essere corredati dalle eventuali opzioni o argomenti: "start, "restart" e "stop".
Così, nel caso di "/etc/rc.d/init.d/httpd" per avviare Apache digiteremo:
/etc/rc.d/init.d/httpd startPer riavviare Apache avremo poi:
/etc/rc.d/init.d/httpd restartInfine, per arrestare Apache utilizzeremo:
/etc/rc.d/init.d/httpd stopStesso discorso per quanto riguarda "apachectl":
apachectl startavvierà Apache. Il comando:
apachectl restartriavvierà il Web server e:
apachectl stopprovvederà ad arrestarlo.
Per quanto riguarda le medesime operazioni in ambiente Windows, non sarà necessario inoltrarci in descrizioni approfondite, ci limiteremo ad indicare le semplicissime procedure per l'avvio, il riavvio e l'arresto di Apache che il lettore potrà eseguire con pochi click del mouse:
Start / Programmi / Apache HTTP Server / Control Apache Server / Start
Start / Programmi / Apache HTTP Server / Control Apache Server / Restart
Start / Programmi / Apache HTTP Server / Control Apache Server / Stop