Archivi tag: Apache

Installare PHP5 su Apache Server

PHP5

Nello scorso articolo ci siamo occupati dell’installazione del Web Server Apache sul nostro sistema. Adesso vogliamo potenziarlo installando PHP5.

Prima di scaricare PHP serve una premessa. Esiste più di un modo per installare PHP sul nostro sistema, questo dipende molto dai nostri scopi. Per metterlo in accoppiata al server web Apache il modo più performante e sicuro di effettuare l’installazione è di inserirlo come modulo di Apache2.2.

Andiamo sul sito php.net e scarichiamo l’ultima versione. Attenzione a non scegliere la versione Installer ma la versione Zip Package che ci consente di installarlo come modulo. Al momento della mia installazione la versione di PHP è la 5.2.8.

Scaricato il file, scompattiamo il tutto nella cartella modules/php5 di Apache (in poche parole, nel mio sistema, la cartella di php risiede in “C:\Programmi\Apache2.2\modules\php5”). Ovviamente potete installarlo in qualsiasi altro percorso, ma attenzione a non installarlo in percorsi che contengono spazi!

Cerchiamo il file php.ini-recommended e facciamone una copia chiamandola php.ini (questo è il file di configurazione di php, lo modificheremo dopo).

Fatto questo dobbiamo configurare il nostro web server Apache per fargli riconoscere PHP. Andiamo quindi ad editare il solito file httpd.conf.

Subito dopo la direttiva DocumentRoot inseriamo la seguente riga:

PHPIniDir  "C:/Programmi/Apache2.2/modules/php5"

che indica ad Apache dove cercare il file php.ini

Cerchiamo la sezione dove vengono caricati i moduli (ovvero dove vi sono i “LoadModules) ed inseriamo alla fine

LoadModule php5_module "C:/Programmi/Apache2.2/modules/php5/php5apache2_2.dll"

che non è altro che la libreria di php5 per il web servere Apache 2.2.x

L’ultima direttiva va inserita all’interno del blocco <IfModule mime_module> dove vi sono le direttive AddType ed è

AddType application/x-httpd-php .php

che dice al server come trattare i file con estensione php.

Fatto questo, per testare se tutto è andato bene bisogna riavviare il server Apache tramite il tool Apache Service Monitor e creare all’interno della nostra DocumentRoot (ovvero la cartella htdocs) un file che chiameremo phpinfo.php con all’interno il seguente testo

<?php phpinfo(); ?>

questa non è altro che la chiamata alla funzione php phpinfo() che visualizza l’attuale configurazione contenuta nel file php.ini. Per visualizzarlo ci basta puntare con il nostro browser all’indirizzo http://localhost/phpinfo.php

Per ottimizzare PHP fatevi un giro sul file php.ini ed adattatelo alle vostre esigenze. Ad esempio, io per riuscire a fare un debug puntuale del mio codice ho cambiato la seguente direttiva

display_errors = On

in modo di visualizzare a video gli errori del mio codice.

Adesso che abbiamo PHP installato nel nostro sistema, non ci resta che iniziare a programmare il nostro sito web dinamico!

Installare Apache HTTP Server su Windows

Apache HTTP Server

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!