Internet può essere inteso come una rete di computer connessi tra di loro. Alcuni di questi cercano dei servizi mentre altri li offrono.
Quando navighiamo per la rete con il nostro browser preferito andiamo alla ricerca di quei particolari server che offrono servizi. Ad esempio, Google non è altro che un server che offre un servizio di ricerca.
La maggior parte degli utenti conosce solo metà di Internet, quella di chi cerca servizi, ma perché non mettersi per una volta dall’altra parte, essere noi dei server! Quello che faremo in questo articolo sarà proprio installare il Web Server Apache sul nostro computer per scoprire l’affascinante mondo di chi offre un servizio su Internet.
Avere un server web installato sulla propria macchina porta parecchi vantaggi per uno sviluppatore web, primo fra tutti poter testare i propri prodotti in locale, off-line e, soprattutto, impostando manualmente tutti i parametri di sicurezza e tutte le opzioni di debug.
Per prima cosa ci serve ovviamente il Server Web Apache, che si può scaricare gratuitamente dal sito httpd.apache.org. Per l’installazione descritta in questo articolo sto usando il “Win32 Binary without crypto (no mod_ssl) (MSI Installer)” versione 2.2.10, ovvero la versione per windows senza il protocollo SSL.
Appena effettuato il download, facciamo doppio click sull’eseguibile per fare partire l’installazione.
Dopo aver accettato la licenza vi viene chiesto il nome del dominio, il nome del server, l’email dell’amministratore e il tipo di installazione (Servizio di Windows su porta 80 o Solo per l’utente corrente su porta 8080).
Se avete comprato un dominio (ovvero quello che volgarmente può essere chiamato un indirizzo internet) e quindi dovete agganciarvi a DNS esterni allora dovete inserire quello, altrimenti potete pure mettere un nome di fantasia. Discorso analogo per il nome del server. Nel mio caso, uso il nome di fantasia “marcoduff.com” per il nome del dominio e “local.marcoduff.com” per il nome della macchina. Inserite la vostra email e selezionate l’installazione come servizio di windows sulla porta 80 (porta di default per tutti i web server). In questo modo, il nostro web server apache partirà in automatico ad ogni avvio di windows (per disabilitare in futuro questa opzione, basta togliere il check di avvio nei servizi di windows dal Pannello di Controllo -> Strumenti di Amministrazione -> Servizi). Andando avanti, selezioniamo l’installazione Personalizzata e cambiamo il percorso di installazione da quello di default
C:/Programmi/Apache Software Foundation/Apache2.2/
a
C:/Programmi/Apache2.2/
tutto questo per non avere problemi in futuro (sempre meglio non avere spazi nei percorsi!)! Nel giro di pochissimi secondi avremo il nostro Web Server installato!
La prima cosa che dovreste notare è una nuova icona nel System Tray di windows che non è altro che l’Apache Service Monitor. Se tutto è andato a buon fine, aprendolo, vedrete il server Apache con un simbolo verde accanto a simboleggiare che il server è in funzione. Questo tool ci permette di arrestare e riavviare in modo semplice il server, operazione che dovremo fare quando passeremo alla configurazione.
Per vedere il nostro server in funzione basta dirigersi all’indirizzo http://localhost/ (o http://localhost:8080/ se non lo abbiamo installato come servizio di windows) per vedere la pagina “It works!”.
Ma cosa è e dove si trova questa pagina “It works!”? Andiamo ad indagare dentro la cartella di installazione di Apache. La cartella htdocs rappresenta l’accesso a tutti i file del nostro server (in gergo tecnico quella è la nostra Document Root), infatti li troveremo il file index.html che contiene proprio il nostro testo “It works!”. Provate a modificare quel file e a vedere i risultati in http://localhost/.
Personalmente preferisco tenere la DocumentRoot in un posto diverso e facilmente accessibile a tutti gli utenti di Windows. In particolare, quello che voglio fare è spostare la DocumentRoot in D:\htdocs. Per fare questo dobbiamo cambiare due voci nel file di configurazione del server.
Il file di configurazione del server si chiama httpd.conf ed è situato nella cartella conf. Aprendo il file notiamo subito che questo è estremamente leggibile grazie ai tantissimi commenti inseriti (i commenti iniziano con il carattere #). Scorrendo in basso troviamo tutte le opzioni inserite durante l’installazione (nome del dominio, nome del server, email dell’amministratore, porta di ascolto del server) e le due righe che ci interessano:
DocumentRoot "C:/Programmi/Apache2.2/htdocs"
e
<Directory "C:/Programmi/Apache2.2/htdocs">
La prima indica dove si trova la DocumentRoot, la seconda indica le opzioni da adottare per la cartella specificata. Ci basta cambiare il percorso di tutte e due in “D:/htdocs” e abbiamo cambiato la DocumentRoot!
Fate attenzione agli slash di divisione delle cartelle che sono come negli ambienti Unix, quindi usate questo ‘/’ simbolo e non questo ‘\’!!!
Ovviamente prima di visualizzare le modifiche bisogna riavviare il server tramite il tool Apache Service Monitor.
Solo a livello di test proviamo a riavviare il server senza spostare la cartella htdocs nella nuova posizione. Appena proviamo a riavviare ci risulta, ovviamente, un errore visualizzato anche nel Monitor da un pallino rosso accanto al server!
Che cosa sarà successo??? Da buoni sistemisti, andiamo a visionare il file di log degli errori che è situato in logs/error.log (possiamo cambiare la posizione dei file di log modificando, nemmeno a dirlo, la voce ErrorLog nel file di configurazione del server). Ci dovrebbe risultare una riga simile a questa:
Syntax error on line 177 of C:/Programmi/Apache2.2/conf/httpd.conf:
DocumentRoot must be a directory
Dove ovviamente ci dice che la DocumentRoot deve essere una cartella esistente nel nostro sistema. Spostiamo correttamente la cartella htdocs in D:, proviamo a riavviare il server e tutto andrà per il verso giusto!
Ma adesso che avete il vostro Web Server e dopo che lo avrete riempito con il vostro sito o con i vostri contenuti come fate a farlo vedere agli altri???
Nulla di più semplice! Vi basta conoscere l’indirizzo IP del vostro computer (Start -> Esegui… -> cmd -> ipcongif) e leggere la riga (ad esempio)
Indirizzo IP. . . . . . . . . . . . . : 123.123.123.123
E dire ai vostri amici (o a voi stessi) su internet di visionarlo all’indirizzo http://123.123.123.123/ nulla di più semplice!
Buon divertimento con il Vostro primo pezzo di Internet!