1 Installazione Per utilizzare il codice presente in questo volume avrete bisogno dei seguenti software: Software per il server ❏ un web server PHP-compatibile; ❏ PHP4; ❏ per la maggior parte degli esempi presentati dal Capitolo 11 in avanti, un database relazionale. Software per il client ❏ un browser; ❏ un editor di testo, come Notepad, Emacs, vi, BBEdit e così via. A scopi di sviluppo, tutti questi programmi possono essere utilizzati sullo stesso computer. Se avete accesso a più computer collegati in rete, è possibile installare un software per il server su uno di questi computer (di solito un computer UNIX o Windows NT/2000) e utilizzare un altro computer collegato come client. A ogni modo, in genere, assumeremo che stiate utilizzando tutti i software su un singolo computer. Si tratta della configurazione utilizzata dalla maggior parte degli sviluppatori web. Se non avete un web server, niente paura: molti non ne dispongono. In questo primo capitolo spiegheremo come realizzare un web server su un normalissimo PC. Potrete utilizzare i vostri programmi PHP4 tanto su una macchina UNIX (noi useremo Linux, ma potreste anche usare FreeBSD o Solaris) che su un computer Windows (Windows 95, 98, NT o 2000), quindi spiegheremo come installare un comune web server su ciascuna di queste piattaforme. Non preoccupatevi, per supportare i software di un web server un computer non deve essere collegato a Internet, e neppure a una rete. Installando un web server su un computer, è sempre possibile accedervi attraverso un browser installato sulla stessa macchina, anche sprovvista di scheda di rete o di un modem. Naturalmente, per scaricare e installare il software è necessario disporre di un accesso a Internet, ma non è necessario esservi collegati quando si sta lavorando con il proprio web server. Una volta che abbiamo un web server, installeremo PHP4. Per dare istruzioni al web server su come eseguire i programmi PHP sono necessarie alcune configurazioni che qui seguiremo passo dopo passo. Per alcuni dei nostri esempi, oltre a un web server e a PHP4, avremo anche bisogno di un sistema per database. Uno degli utilizzi più efficaci degli strumenti di script per il web, come PHP4, è quello di presentare le informazioni contenute in un database a chi vi accede tramite il web. Tutti gli esempi presen- 1 Capitolo 1 tati dal Capitolo 11 in avanti, che utilizzano dei database, sono realizzati per lavorare con il popolare sistema database libero, MySQL. Nell’Appendice A troverete le informazioni per convertire i dati presentati da MySQL in modo che siano utilizzabili dai database ODBC, che potrebbero interessare gli utenti Windows che preferissero lavorare con uno strumento visivo come Microsoft Access. Alcune versioni della maggior parte del codice per database presentato in questo libro, convertito per l’uso con OBDC, saranno disponibili come parte del codice scaricato per il libro all’indirizzo http://www.wrox.com/. Comunque, sia su Windows che su Linux, l’installazione di MySQL è relativamente indolore e, installandolo, l’esecuzione degli esempi vi risulterà molto più facile. All’inizio del Capitolo 11 sono fornite ampie istruzioni al riguardo. In questo capitolo, spiegheremo inoltre come predisporre un elementare ambiente di sviluppo, di cui avrete bisogno per svolgere gli esempi proposti in questo volume. E se non funziona? I file README e INSTALL, contenuti nella maggior parte dei pacchetti PHP scaricabili, e il manuale di PHP, disponibile all’indirizzo http://www.php.net/manual/, forniscono informazioni dettagliate che potrebbero essere più aggiornate di quelle presentate qui, che arrivano alla versione PHP 4.0.2. Da che cosa cominciare? Si può scegliere fra tre principali percorsi di installazione e dovrebbe essere molto semplice stabilire quale dovete seguire. Dipende semplicemente dal sistema operativo che state usando: ❏ installazione di PHP4 con Microsoft Personal Web Server su Windows 95 o 98; ❏ installazione di PHP4 con Microsoft Internet Information Server su Windows NT4 o 2000; ❏ installazione di PHP4 con Apache Web Server su Linux (o altri sistemi UNIX). PHP4 può essere installato su un’ampia varietà di web server e di sistemi operativi, compresi Apache e Windows. In ogni caso, i tre sistemi che abbiamo suggerito sono i più semplici da far funzionare. Se pensate che nessuno di questi faccia al caso vostro, installate pure qualsiasi altra configurazione; dovreste essere comunque in grado di svolgere gli esempi presentati in questo libro. Per maggiori informazioni sull’installazione fate riferimento al manuale di PHP4. Nelle prossime pagine i tre percorsi sono esaminati separatamente. Ci si ritroverà di nuovo tutti insieme alla fine, per verificare se il sistema funziona correttamente. Microsoft ha recentemente messo in commercio l’ultima versione del suo sistema operativo Windows 95/98, Windows Me. Al momento di andare in stampa abbiamo potuto verificare che è possibile installare PWS su questo sistema operativo usando la procedura presentata di seguito per gli utenti di Windows 95. È possibile che l’edizione finale di Windows Me contenga PWS nel CD d’installazione, nella cartella degli add-on, come in Windows 98, ma non abbiamo potuto verificarlo al momento di scrivere queste righe. L’installazione di PHP4 su Windows 95 e 98 Prima di tutto installiamo Microsoft Personal Web Server (PWS). Va segnalato che PWS è adeguato solo per utilizzare la propria macchina per lo sviluppo; non è in grado di sostenere un vero e proprio sito web. Comunque, fornisce un ambiente di sviluppo adeguato ed economico per macchine pre-Windows 2000, senza richiedere un hardware particolarmente potente. Uno dei principali inconvenienti di PSW è che può essere scomodo da installare e da far funzionare correttamente. Provate a superare tali difficoltà seguendo i passi che vi indichiamo di seguito. 2 Installazione Procurarsi PWS La versione di PWS che dovete installare è la 4.0, reperibile tramite diverse fonti, come indicato qui di seguito. Visual InterDev La versione 6.0 di Microsoft Visual IntervDev contiene PWS. Può essere installato contemporaneamente a VID o successivamente come opzione di personalizzazione. Windows 98 Il CD di Windows 98 contiene un installatore per PWS. Pare che la maggior parte di coloro che hanno installato PWS dal CD di Windows 98 abbiano incontrato meno problemi di chi ha utilizzato altre fonti. FrontPage FrontPage, FrontPage 97 e FrontPage 98 contengono PWS 4.0, anche se con caratteristiche leggermente diverse. Le prime versioni di FrontPage disponevano di un programma, chiamato HTTPD, che veniva venduto come Front Page Server. Le funzionalità erano le stesse di PWS, ma si trattava di un insieme di codice completamente diverso. Per quanto ne sappiamo, non è possibile utilizzare PHP su questo server. FrontPage 97 conteneva PWS 1.0 e FrontPage 98 contiene PWS 4.0, l’attuale incarnazione di PWS. Download Microsoft offre la possibilità di scaricare PWS, ma con una strana nomenclatura. In realtà si tratta di un componente del pacchetto di opzioni di Windows NT per Windows 95. Se si utilizza Windows NT Option Pack su una macchina Windows 9x, esso riconoscerà che non si tratta di un sistema operativo NT e installerà PWS al posto di IIS. Installare Windows NT Option Pack su Windows 9x? è una tecnica particolare. Molti hanno avuto seri problemi a credere che una possibile tecnica per installare PWS fosse quella di installare NT Option Pack sulle loro macchine Windows 9x. Ma funziona ed è il metodo raccomandato per gli utenti di Windows 95. Vi mostreremo brevemente come fare. Che fonte usare Generalmente, avrete ben pochi problemi a installare PWS su Windows 98 dal CD di Windows 98. La seconda fonte meno problematica sembra essere il download di NT, sia per Windows 95 che per Windows 98. Un’altra strategia che presenta minime difficoltà è l’installazione da NT 4 Option Pack sulla workstation NT. Chi ha incontrato i maggiori problemi sembrano essere coloro che hanno eseguito l’installazione dai CD di Visual InterDev e FrontPage. Inoltre, se pensate di passare da Windows 95 a Windows 98, fatelo prima di cercare di installare PWS. Installazione da Windows NT Option Pack su Windows 95 Questa è la scelta migliore per Windows 95. Comunque, tenete presente che con PWS su Windows 95 ha incontrato dei problemi una percentuale maggiore di utenti rispetto a quella che ha installato PWS su Windows 98. Se state comunque valutando la possibilità di passare a Windows 98, vi ricordiamo ancora di farlo prima di installare PWS. 3 Capitolo 1 1. Chiudete tutte le applicazioni. 2. Scaricate Windows NT Option Pack per Windows 95 all’indirizzo http://microsoft.com/ntserver/nts/downloads/recommended/NT4OptPk/. Troverete il link in fondo alla pagina. 3. Selezionate l’opzione 1 tra le opzioni di download, quindi nella pagina successiva selezionate il vostro sistema operativo. Alla pagina dopo fate clic su download.exe per il sito a voi più vicino. 4. Salvate il programma sul disco. 5. Andate nella directory dove avete salvato download.exe ed eseguitelo; il wizard prima vi chiederà di accettare i termini della licenza, quindi presenterà questa schermata: 6. Scegliete l’opzione di solo download perché, se l’opzione di installazione si dovesse interrompere a metà, ciò potrebbe danneggiare la configurazione del vostro computer. 7. Fate clic su Next e scegliete x86: Windows 95 per il sistema operativo e rifate clic su Next. 8. Scegliete Typical Installation e cliccate su Next. 4 Installazione 9. Scegliete una collocazione sul vostro hard disk ove scaricare il pacchetto e fate clic su Next. 10. Scegliete una posizione da cui scaricare il pacchetto. 11. Accettate il certificato di verifica che appare e quindi il pacchetto sarà scaricato. 12. Infine, andate dove lo avete salvato ed eseguite il file setup.exe appena scaricato. Installazione dal CD di Windows 98 su Windows 98 Questa è la procedura più sicura per l’installazione di PWS, ma è possibile eseguirla solo usando Windows 98. I passaggi necessari sono i seguenti. 1. Assicuratevi che il CD di Windows 98 sia nel drive. Quando inserite il CD, appare una schermata. Fate clic sul pulsante denominato Browse this CD. 2. Nella finestra di esplorazione del vostro CD-ROM dovreste trovare una directory chiamata add-ons. Al suo interno, di norma, c’è una sola directory, denominata pws. Apritela. 3. Eseguite il programma setup.exe di questa cartella. Installazione di PWS Una volta scaricato o collocato il setup di PWS, apparirà una schermata simile a questa: Nella maggior parte dei casi, l’installazione standard funzionerà perfettamente. Se scegliete di eseguire un’installazione personalizzata, accertatevi che siano selezionati per lo meno i seguenti componenti: ❏ Common Program Files; ❏ Personal Web Server. 5 Capitolo 1 Vi sarà quindi richiesto di scegliere la vostra home directory predefinita per la pubblicazione web. Normalmente, quella da scegliere è C:\Inetpub\wwwroot, benché sia possibile sceglierne una qualsiasi altra. Più avanti in questo capitolo, quando si fa riferimento a C:\Inetpub\wwwroot dovrete ricordarvi di sostituire questo percorso con quello che avete effettivamente usato qui. Installazione di PHP4 insieme a PWS Ora che avete installato PWS e che il computer è stato riavviato, passiamo all’installazione di PHP4. Prima di tutto dovete scaricarlo. Normalmente dovreste rintracciare l’ultima versione di PHP4 presso il sito http://www.php.net/, ma sfortunatamente la versione distribuita tramite questo indirizzo è solo un’installazione di base e non dispone di tutti i componenti di cui abbiamo bisogno. Vi consigliamo invece l’indirizzo http://php4win.de/, da cui scaricare l’ultima versione, stabile e non destinata allo sviluppo. Vi ritroverete con un file ZIP, che dovrete salvare da qualche parte sul vostro hard disk. Create una cartella dove collocare il software PHP – una del tipo C:\php va benissimo – e decomprimete il file scaricato in questa directory. Questa directory contiene numerose subdirectory e alcuni file di testo. Vi sarà inoltre un file di programma chiamato php.exe, che per il momento non useremo, e un file libreria denominato 6 Installazione php4ts.dll. Per l’avvio dovete copiare questo file .dll nella directory C:\Windows\System. Quindi, aprite la subdirectory dlls e copiate tutti i file nella directory C:\Windows\System. Se Windows segnala che vi è già un file con questo o quel nome, tenete quello vecchio; non sovrascrivetelo con i file appena scaricati. Ora, tornando alla directory di PHP, c’è un file chiamato php.ini. Copiate questo file in C:\Windows e apritelo con Notepad. Scorrete il documento finché non trovate una riga come questa: extension_dir = C:\php\extensions ; directory in which the loadable extensions (modules) reside Ora, verificate che questo sia il percorso corretto alla directory extensions per l’installazione di PHP4 decompresso. Se non è questo, cambiatelo per raggiungere la collocazione giusta. (La directory extensions è quella che contiene un gran numero di file i cui nomi cominciano con php_ e finiscono con .dll). La sezione successiva indica a PHP quale estensione caricare. Dovete mettere il punto e virgola all’inizio di ogni riga riguardante le estensioni di cui non c’è bisogno; il punto e virgola fa sì che PHP ignori le indicazioni presenti in quella riga. Potete mettere un punto e virgola davanti a tutte le righe, eccetto che prima di extension=php_gd.dll, in modo da avere un testo come questo: ;extension=php_filepro.dll extension=php_gd.dll ;extension=php_dbm.dll ;extension=php_mssql.dll Ciò significa che avrete accesso alle funzionalità della libreria GD, che consentono di generare delle immagini usando i programmi PHP. Vedremo come nel Capitolo 16. Adesso dovete salvare il vostro file php.ini modificato. Sempre in Notepad, dovete creare un nuovo file e inserire il seguente testo: REGEDIT4 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] “.php”=”C:\\php\\sapi\\php4isapi.dll” Si noti che questo script è contenuto nel codice scaricato per questo libro da http://www.wrox.com/ e si chiama PWS-php4.reg. Se non decomprimete il file in C:\php, dovrete modificarlo in modo che vada dove si trova il file PHP4ISAPI.DLL. Se decomprimete il file in E:\Stuff\php4 la posizione sarà E:\Stuff\php4\sapi\php4isapi.dll. A causa del modo in cui il file verrà interpretato, dovrete raddoppiare le barre rovesce e inserire il percorso nel file dove dice C:\\php\\sapi\\php4isapi.dll. Per esempio: REGEDIT4 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] “.php”=”E:\\Stuff\\php4\\sapi\\php4isapi.dll” Salvate il file modificato in una collocazione appropriata, come PWS-php4.reg, chiudete Notepad, e fate un doppio clic su PWS-php4.reg per installare PWS con PHP4. Dovrebbe apparire una finestra di dialogo che vi chiede se volete apportare modifiche alla vostra registrazione. Dovete selezionare Yes. Se, facendo il doppio clic su PWS-php4.reg, si avvia soltanto Notepad, piuttosto che modificare il vostro sistema, assicuratevi che il file si chiami effettivamente PWS-php4.reg, e non PWS-php4.reg.txt, e riprovate. 7 Capitolo 1 L’ultimo tocco all’installazione A questo punto, dovete lanciare il Personal Web Manager, un programma grafico utilizzato per configurare PWS. Deve essere in una nuova cartella Personal Web Manager nel sottomenu Program del menu Start. Una volta lanciato, controllate che PWS sia stato avviato. Se non è così, fate clic sul pulsante di avvio. Apparirà una schermata come questa: Selezionate l’opzione Advanced dall’elenco di icone a sinistra. Nella schermata successiva controllate che l’elemento <Home> in cima all’elenco gerarchico sia selezionato. Fate clic su Edit Properties e assicuratevi che nella finestra di dialogo sia selezionata la casella Execute. 8 Installazione Ora PWS è configurato per eseguire i programmi PHP4. Per far sì che PWS carichi il componente PHP4 dovete riavviare il computer. La directory radice del vostro web server, a meno che non l’abbiate configurato diversamente, è C:\Inetpib\wwwroot. Ricordatelo, è importante. Potete passare al paragrafo “Collaudo dell’installazione” in questo stesso capitolo. Installazione di PHP4 su Windows NT e 2000 Sia su Windows NT che su Windows 2000 useremo l’Internet Information Server, il web server professionale di Microsoft. Una macchina NT o 2000 con IIS è realmente un ambiente adatto per installare un web server professionale, anche se dovrete sapere esattamente quello che state facendo se prevedete di predisporre un computer come server Internet: la sicurezza deve essere la vostra maggiore preoccupazione. Anche IIS su un computer da tavolo Windows NT o 2000 rappresenta un ottimo ambiente di sviluppo. Alcune versioni di Windows 2000 (specificatamente le tre versioni server: Server, Advanced Server e Datacenter) sono distribuite con IIS già installato. A meno che non abbiate deciso di non installare il web server al momento dell’installazione di uno di questi sistemi operativi, siete quindi già dotati di IIS. Ora vi mostreremo come installare IIS su Windows NT 4.0 o Windows 2000 Professional. Installazione da Windows NT 4.0 Option Pack su Windows NT 4.0 Per installare IIS 4.0 è necessario installare il Windows NT 4.0 Option Pack di Microsoft. Lo si può scaricare all’indirizzo http://www.microsoft.com/ntserver/nts/downloads/recommended/NT4OptPk/. 1. Selezionate Option 1 tra le opzioni di download, quindi nella pagina successiva selezionate il vostro sistema operativo. Alla pagina dopo fate clic su download.exe per il sito a voi più vicino. 9 Capitolo 1 2. Salvate il programma sul disco. Andate nella directory dove avete salvato download.exe ed eseguitelo; il wizard prima vi chiederà di accettare i termini della licenza, quindi presenterà questa schermata: 3. Scegliete l’opzione di solo download perché, se l’opzione di installazione si dovesse interrompere a metà, ciò potrebbe danneggiare la configurazione del vostro computer. Dopo l’inizializzazione sarà eseguito il wizard dell’Option Pack. 4. La prima schermata del wizard è uno splash screen che descrive gli elementi che possono essere installati. Fate clic su Next e vi sarà presentato il modulo di accettazione della licenza. Se accettate la licenza di Windows NT 4.0 Option Pack fate clic su Accept e poi su Next. A questo punto vi saranno proposti tre tipi di installazione: Minimum, Typical e Custom: 5. Dovete eseguire l’installazione Custom, quindi fate clic su Custom e vi saranno presentate le opzioni d’installazione: 10 Installazione 6. Dato che non volete installare le FrontPage 98 Server Extensions, deselezionate l’opzione FrontPage 98 Server Extensions. A questo punto, dovreste avere come minimo le seguenti opzioni selezionate: ❏ Internet Information Server (IIS); ❏ Microsoft Management Console; ❏ NT Option Pack Common Files. 7. Fate clic su Next per proseguire l’installazione e vi sarà mostrata la collocazione delle cartelle per la pubblicazione web e FTP e la collocazione della cartella per i file applicativi. Vanno bene quelle di default: ❏ la directory radice di WWW è C:\Inetpub\wwwroot; ❏ la directory radice di FTP è C:\Inetpub\ftproot; ❏ la directory d’installazione delle applicazioni è C:\Program Files. 11 Capitolo 1 8. Fare clic su Next e l’installazione sarà completata. Può richiedere qualche minuto, a seconda della velocità della vostra macchina, ma sarà visualizzata una barra di progressione in modo da controllare l’installazione e valutare in quanto tempo sarà conclusa. 9. Al termine, fate clic su Finish per uscire dall’installazione e il setup dell’Option Pack completerà le impostazioni. Vi sarà richiesto se volete riavviare la macchina per completare l’installazione, quindi scegliete Yes e il computer sarà riavviato. Installazione di Internet Information Server 5.0 su Windows 2000 Trovate IIS 5.0 nel CD d’installazione di Windows 2000, quindi per installare il server avrete bisogno di questo CD. Procuratevelo, ma non mettetelo ancora nell’apposito drive. 1. Andate nel pannello di controllo (Start | Setting | Control Panel) e selezionate l’icona Add/Remove Programs. Apparirà la seguente finestra di dialogo, con un elenco dei programmi installati: 2. Selezionate l’icona Add/Remove Windows Components sul lato sinistro della finestra di dialogo, per accedere alla schermata che consente di installare i nuovi componenti di Windows: 12 Installazione 3. Individuate la voce Internet Information Services (IIS) e barrate la casella che appare alla sua sinistra. A meno che non abbiate installato Windows 2000 Professional attraverso un’installazione personalizzata e abbiate specificamente richiesto IIS, è assai probabile che la casella di selezione non sia barrata (come mostrato sopra). Se avete installato Windows 2000 Server è possibile che sia già selezionata. a. Se la casella di selezione è vuota, inserite il segno di spunta e fate clic su Next per installare Internet Information Services 5.0. Vi sarà chiesto di inserire il CD d’installazione di Windows 2000 nel drive. Attendete qualche minuto per l’installazione e passate alla fase 4. b. Se la casella di selezione è barrata, non dovrete installare i componenti di IIS 5.0: sono già presenti sulla vostra macchina. Passate alla fase 4. 4. Fate clic sul pulsante Details, in modo da passare alla finestra di dialogo riportata qui di seguito. Qui ci sono alcune opzioni per l’installazione di varie funzionalità. Per esempio, se è selezionata l’opzione Word Wide Web Server la nostra installazione di IIS sarà in grado di gestire pagine web e applicazioni. L’opzione Internet Information Server Snap-In è altamente desiderabile, come vedrete più avanti nel capitolo; quindi, assicuratevi che anch’essa sia selezionata. Per questo tipo d’installazione, assicuratevi che tutte le caselle di questa finestra di dialogo siano selezionate; quindi scegliete OK per tornare alla finestra precedente. Installazione di PHP4 insieme a IIS Se avete seguito sin qui le istruzioni, vedrete che il Web Services di IIS si avvia automaticamente appena l’installazione è completata e, successivamente, ogniqualvolta avviate Windows; per cui non dovrete avere nessun altro programma di avvio né dovrete fare clic su una short-cut come per avviare Word o Excel. Ora è necessario scaricare PHP4. Normalmente ci si può procurare l’ultima versione di PHP4 all’indirizzo http://www.php.net/, ma purtroppo la versione di PHP da questo sito è solo un’installazione base e non supporta tutte le caratteristiche di cui abbiamo bisogno. Consigliamo invece di andare sul sito http://php4win.de da cui scaricare l’ultima versione, stabile e non destinata allo sviluppo. Vi ritroverete con un file ZIP, che dovrete salvare da qualche parte sul vostro hard disk. Create una cartella dove collocare il software PHP – una cartella tipo C:\php va benissimo – e decomprimete il file scaricato in questa directory. Questa directory contiene numerose subdirectory e alcuni file di testo. Vi sarà inoltre un file di programma chiamato php.exe, che per il momento non useremo, e un file libreria denominato php4ts.dll. Per co- 13 Capitolo 1 minciare, dovete copiare questo file .dll nella directory C:\WINNT\System32. Quindi, aprite la subdirectory dlls e copiate tutti i file nella directory C:\WINNT\System32. Se Windows segnala che vi è già un file con questo o quel nome, tenete quello vecchio; non sovrascrivetelo con i file appena scaricati. Ora, tornando alla directory di PHP, dovrebbe esserci un file chiamato php.ini. Copiate questo file in C:\WINNT e apritelo con Notepad. Fate scorrere il documento finché non trovate una riga come questa: extension_dir = C:\php\extensions ; directory in which the loadable extensions (modules) reside Ora, verificate che questo sia il percorso corretto alla directory extensions per l’installazione di PHP4 decompresso. Se non è questo, cambiatelo per raggiungere la collocazione giusta. (La directory extensions è quella che contiene un gran numero di file i cui nomi cominciano con php_ e finiscono con .dll). La sezione successiva dice a PHP quale estensione caricare. Dovete mettere il punto e virgola all’inizio di ogni riga riguardante le estensioni di cui non c’è bisogno; il punto e virgola fa sì che PHP ignori le indicazioni presenti in quella riga. Potete mettere un punto e virgola davanti a tutte le righe, eccetto che prima di extension=php_gd.dll, in modo da avere un testo come questo: ;extension=php_filepro.dll extension=php_gd.dll ;extension=php_dbm.dll ;extension=php_mssql.dll Ciò significa che avrete accesso alle funzionalità della libreria GD, che consente di generare delle immagini usando i programmi PHP. Vedremo come nel Capitolo 16. Adesso dovete salvare il vostro file php.ini modificato. A questo punto è necessario avviare l’Internet Services Manager. Con Windows NT dovreste trovarlo alla voce Windows NT 4.0 Option Pack nel menu Start. Con Windows 2000 sarà in Start | Programs | Administrative Tools. L’Internet Services Manager è presentato qui di seguito. Fate clic con il tasto di destra del mouse e aprite le Properties. È necessario fare due modifiche. Prima di tutto dobbiamo registrare il filtro di PHP4 ISAPI. Fate clic sull’etichetta ISAPI Filters, poi sul pulsante 14 Installazione Add e create un nuovo filtro chiamato PHP. La cartella dei file di PHP che abbiamo scaricato contiene un filtro PHP ISAPI nella directory sapi, chiamato php4isapi.dll. Inserite il percorso corretto per il vostro file php4isapi.dll (se avete seguito alla lettera le nostre istruzioni, sarà C:\php\sapi\php4isapi.dll). Quindi dobbiamo indicare a IIS a quali file applicare il filtro PHP4. Noi vogliamo che sia applicato a tutti i file che finiscono con .php in quanto programmi PHP. Andate all’etichetta della Home Directory e fate clic su Configuration. 15 Capitolo 1 Fate clic sul pulsante Add e indicate nuovamente il path per php4isapi.dll. Dite a IIS di applicarlo ai file .php e fate clic su OK. Ora dobbiamo riavviare completamente IIS. Il modo migliore per chiudere completamente IIS e poi riaprirlo è chiamare un prompt e inserire i seguenti comandi: > net stop iisadmin The following services are dependent on the IIS Admin Service service. Stopping the IIS Admin Service service will also stop these services. World Wide Web Publishing Service Simple Mail Transport Protocol (SMTP) FTP Publishing Service Do you want to continue this operation? (Y/N) [N]: y The World Wide Web Publishing Service service is stopping. The World Wide Web Publishing Service service was stopped successfully. The Simple Mail Transport Protocol (SMTP) service is stopping. The Simple Mail Transport Protocol (SMTP) service was stopped successfully. The FTP Publishing Service service is stopping. The FTP Publishing Service service was stopped successfully. The IIS Admin Service service is stopping... The IIS Admin Service service was stopped successfully. > net start w3svc The World Wide Web Publishing Service service is starting.... The World Wide Web Publishing Service service was started successfully. > Se il messaggio finale riporta che il World Wide Web Publishing Service è stato avviato con successo, PHP4 è installato. Ricordatevi la directory radice per il web: se avete installato IIS esattamente nel modo che vi abbiamo mostrato, deve essere C:\Inetpub\wwwroot. A questo punto potete passare al paragrafo “Collaudo dell’installazione”. 16 Installazione Installazione di PHP4 su Linux e altri ambienti UNIX Apache è il web server più popolare del mondo, quindi vale la pena installare PHP4 su UNIX con un sistema Apache. Prima di tutto dobbiamo verificare se abbiamo le librerie di supporto, quindi possiamo cominciare l’installazione del software per il server. La combinazione di Linux, Apache, MySQL e PHP è probabilmente l’ambiente di produzione più diffuso per l’installazione dei web server PHP. Comunemente ci si riferisce a questa combinazione di software open source con l’acronimo “LAMP” e, se la utilizzate, potrete beneficiare dell’esperienza di molte altre persone che usano la medesima impostazione. Gli sviluppatori di PHP lavorano a stretto contatto con quelli di Apache e MySQL per far sì che gli aggiornamenti nei tre sistemi siano pienamente supportati dagli altri componenti. La scelta del metodo d’installazione Come avviene per altri software open source, PHP e Apache offrono la possibilità di scaricare il codice sorgente (che, in entrambi i casi, è scritto nel linguaggio di programmazione C) e di compilare i propri programmi. Se la cosa vi preoccupa un po’ (in realtà, non è terrificante come potrebbe sembrare), potete procurarvi delle versioni pre-compilate in uno o due formati. I download binari sono versioni pre-compilate del software, di solito con gli script d’installazione per inserire gli elementi richiesti nel nostro file system. I pacchetti binari sono disponibili per i sistemi dotati di un sistema di gestione dei pacchetti, come il Red Hat Package Manager (RPM) per Linux, e sono i più facili da installare. Ecco una rapida rassegna dei tre metodi: Metodo d’installazione Vantaggi Svantaggi Sorgente È la soluzione più flessibile per le installazioni personalizzate. Nella distribuzione sono inclusi test ed esempi. Deve essere compilato. È l’opzione leggermente più complessa. Una volta realizzata è più difficile da rimuovere. Binario (compilato) Non è necessario scombinare tutto per compilare il server. Richiede meno tempo per essere installato. Meno flessibile dell’installazione da sorgente. Binario RPM È il metodo d’installazione più rapido e facile. Molto semplice per successive disinstallazioni o potenziamenti. Si deve usare una distribuzione di Linux con RPM come Red Hat. È il metodo d’installazione meno flessibile. In questo capitolo spiegheremo come procurarsi e come installare i componenti necessari per usare gli RPM. Molte popolari distribuzioni di Linux usano il Red Hat Package Manager; comprese Red Hat, SuSE, Mandrake, Definite, TurboLinux, Caldera e Yellow Dog. Qui spiegheremo come installare i pacchetti RPM passo dopo passo. Se utilizzate un altro sistema di gestione dei pacchetti, come i pacchetti deb di Debian, per le istruzioni d’installazione fate riferimento al manuale della distribuzione. 17 Capitolo 1 Come procurarsi gli RPM La cosa migliore è utilizzare il CD con cui avete installato Linux. Sia Red Hat 7 che SuSE 7 includono PHP4 (anche se non viene installato di default); quando leggerete queste righe ciò dovrebbe essere vero anche per le altre versioni di Linux in distribuzione. Se la vostra distribuzione non comprende PHP4, o non dispone di tutte le funzionalità necessarie per gli RPM, il primo posto dove cercare è il sito del venditore della vostra distribuzione. Dovrebbe avere un’area per il download o un sito FTP da cui potete ottenere gli ultimi RPM. Infine, www.rpmfind.net fornisce un completo servizio di ricerca degli RPM. Quando scaricate gli RPM accertatevi che siano compatibili con la vostra distribuzione di Linux e con l’hardware del vostro computer. Le diverse distribuzioni collocano importanti file in differenti ubicazioni e per questo gli RPM provenienti da diversi venditori non funzionano su altri sistemi. La maggior parte degli RPM sono compilati in modo da essere compatibili con diverse piattaforme hardware. La seguente tabella riporta le abbreviazioni più comuni utilizzate nei nomi degli RPM. Abbreviazione Compatibile con i386 PC basati su Intel e processori compatibili al 100% – Intel 80386, 486, Pentium, Pentium II, Pentium III, Celeron, AMD 5x86, serie K e Athlon, Cyrix 6x86. i586 PC basati su Intel Pentium e processori compatibili al 100% – Intel Pentium II, III, Celeron, AMD serie K e Athlon, Cyrix 6x86. PPC Computer costruiti su chip Motorola PowerPC (e compatibili), come i Power Mac, G3, G4 e iMac della Apple. Ma su hardware Macintosh potete usare gli RPM solo se avete installato Linux. alpha Server e workstation con processore Compaq Digital 64 bit Alpha. sparc Server e workstation con processori che usano l’architettura a 64 bit SPARC, come UltraSPARC di Sun Microsystems. m68k Computer costruiti su processori Motorola delle serie precedenti la 68000, come gli Amiga e i vecchi Apple Macintosh, per cui esistono varie porte di Linux. Se desiderate utilizzare le shell grafiche per l’installazione contenuti nella vostra distribuzione fate riferimento al manuale della distribuzione. Sono molto diversi tra loro, quindi non ce ne possiamo occupare in questa sede. In ogni caso, qualsiasi sistema RPM può essere controllato utilizzando le righe di comandi di rpm, per cui spiegheremo come installare i componenti richiesti utilizzando questa interfaccia. Di quali pacchetti abbiamo bisogno? I pacchetti RPM di cui abbiamo bisogno sono: ❏ zlib ❏ gd-devel ❏ libpng ❏ apache ❏ libjpeg ❏ gd ❏ mod_php4 18 Installazione Potete verificare quali di questi sono già installati nel vostro sistema chiamando un prompt e digitando il testo riportato di seguito, sostituendo di volta in volta il nome del pacchetto. > rpm -q zlib zlib-1.1.3-6-i386 > rpm -q libpng Package libpng is not installed Come potete vedere, se il pacchetto è installato appare una stringa di numeri apparentemente casuali. Se non è installato riceviamo un utile messaggio d’errore. La stringa di numeri in realtà ci dice quale versione del software abbiamo installato usando il pacchetto (in questo caso è la 1.1.3), di quale edizione del pacchetto si tratta (qui abbiamo la sesta edizione) e l’architettura per la quale è stato compilato l’RPM (Intel 386 compatibile, che va benissimo, visto che abbiamo installato questo pacchetto su un Pentium III). Prendete nota di quali pacchetti avete già e della loro versione (il numero della versione è più importante del numero di edizione). Solo alcuni dei nostri pacchetti richiedono una versione minima. Per supportare i formati grafici di cui abbiamo bisogno, la versione minima di gd e gd-level deve essere la 1.8. La versione di APACHE deve essere la 1.3.12, se riuscite a procurarvela; andrà bene anche la 1.3.6 o successiva. La versione di mod_php4, ovviamente, deve essere la quattro punto qualcosa. Al momento di andare in stampa la versione disponibile era la 4.0.2. A questo punto dovete rintracciare le versioni sufficientemente aggiornate dei pacchetti che non avete ancora o di cui avete una vecchia versione. Come abbiamo suggerito, provate prima tra i CD d’installazione, poi presso il sito del vostro distributore e quindi all’indirizzo www.rpmfind.net. Una volta recuperati tutti i pacchetti, li potete installare. Il comando per l’upgrading di un’installazione già esistente, o per l’installazione di un pacchetto che non è mai stato installato precedentemente, è esattamente lo stesso. Portatevi nella posizione in cui sono i file sul CD o la directory in cui avete scaricato gli RPM. Come root, scrivete: > rpm -Uh libpng-1.0.5-3-i386.rpm ############################ sostituendo il nome del file del pacchetto che avete scaricato per ogni pacchetto che dovete potenziare o installare. La linea dei # che appare in fondo allo schermo indica il progresso dell’installazione. Se installate i pacchetti nell’ordine in cui li abbiamo elencati, troverete tutti i file necessari installati nell’ordine richiesto. Configurazione e avvio di Apache con PHP4 La prima cosa da fare è collocare i vari file del vostro server Apache. Per un’installazione Apache la collocazione standard è /usr/local/apache. Tuttavia, come abbiamo segnalato precedentemente, alcune distribuzioni di Linux posizionano i file in differenti collocazioni, per cui può capitare che il vostro server Apache non sia in quella posizione. Trovare Apache Con rpm c’è un modo molto efficace per scoprire quali file ha creato un dato pacchetto nel vostro sistema. Basta digitare rpm –ql, seguito dal nome del pacchetto che vi interessa. Vediamo come funziona con Apache: > rpm -ql apache Questo comando genera un lungo elenco di file. Possiamo trovare quelli che stiamo cercando con una pic- 19 Capitolo 1 cola shell UNIX. Troviamo la collocazione in cui Apache registra i file dei siti web: > rpm -ql apache | grep /htdocs$ /usr/local/apache/htdocs Ovviamente, il percorso risultante può essere diverso. Per esempio, su un sistema Linux SuSE 7 appena installato il risultato è: > rpm -ql apache | grep /htdocs$ /usr/local/httpd/htdocs La directory htdocs è la directory radice del web server. Prendente nota di questa collocazione, perché ne avrete bisogno più avanti. Ora dovrete individuare il file di configurazione di Apache. Usate la seguente variante del comando precedente: > rpm -ql apache | grep /httpd.conf$ /usr/local/apache/conf/httpd.conf Ancora, sistemi diversi useranno percorsi diversi. Il nostro SuSE 7 userà questo: > rpm -ql apache | grep /httpd.conf$ /etc/httpd/httpd.conf Raccogliere le informazioni Ora dovrete sapere l’host name della vostra macchina. Normalmente esso appare al prompt, che può essere così: myhost:~# root@myhost:~ > o simile. In entrambi i casi l’host name è myhost. Oppure, per scoprire come si chiama il vostro computer, potete digitare il seguente comando: > echo $HOSTNAME myhost Configurazione di Apache Adesso, come utente root del sistema, dovete modificare il file httpd.conf. Usate un comando come > kedit /usr/local/apache/conf/httpd.conf oppure > gnp /usr/local/apache/conf/httpd.conf per avviare, rispettivamente, un editor di testo KDE o GNOME. In primo luogo, accertatevi che su questo server Apache sia previsto PHP4. Cercate delle righe che cominciano con il termine LoadModule. Tra queste, dopo aver installato Apache, con la maggior parte dei sistemi RPM, dovreste trovare una riga come la seguente: LoadModule php4_module /usr/local/apache/lib/libphp4.so Se non c’è, dovremo aggiungerla. Prima, vediamo dove l’RPM di PHP ha messo il nostro file libphp4.so: > rpm -ql php | grep /libphp4.so$ /usr/local/apache/lib/libphp4.so Tale informazione è necessaria per indicare ad Apache come eseguire gli script PHP. Dobbiamo aggiungere 20 Installazione nel file di configurazione di Apache, httpd.conf, l’istruzione per caricare PHP4. Inseriamo questa istruzione prima di tutte le altre righe LoadModule, usando il percorso ottenuto con il comando rpm: LoadModule php4_module /usr/local/apache/lib/libphp4.so Ora che Apache sa come caricare PHP4, dobbiamo attivarlo. Nel file c’è un’altra sezione composta da numerose righe che cominciano con AddModule. Dobbiamo aggiungere il seguente testo proprio sopra questa sezione: Addmodule mod_php4.c Finalmente, adesso che Apache sa che cosa fare con un programma PHP, dobbiamo dirgli come riconoscerlo. Ancora più avanti nel documento, troverete delle direttive che cominciano con AddType. Alla fine bisogna aggiungere la seguente riga: AddType application/x-httpd-php .php In questo modo si dice ad Apache che tutti i file che finiscono in .php sono programmi PHP. Infine, tornate indietro nel file e cercate una riga come questa: #ServerName www.foo.com e modificatela come segue, inserendo il vostro host name (che abbiamo visto precedentemente) al posto di myhost. ServerName myhost Salvate il file. Avvio o riavvio di Apache Provate a digitare questo comando (sempre come root) per avviare Apache. Usiamo uno speciale programma di controllo chiamato apachectl: > apachectl restart Se appare un messaggio d’errore command not found, dobbiamo trovare il programma apachectl, ancora usando un comando come il seguente: > rpm -ql apache | grep /apachectl$ /usr/local/apache/bin/apachectl Se non funziona, potete trovare un programma chiamato rcapache: > rpm -ql apache | grep / rcapache $ /usr/sbin/rcapache Per riavviare Apache usate il percorso completo di uno di questi programmi al posto di apachectl, con uno dei seguenti comandi: > /usr/local/apache/bin/apachectl restart > /usr/sbin/rcapache restart Se tutto procede come previsto, Apache è avviato e voi potete passare al collaudo dell’installazione. 21 Capitolo 1 Collaudo dell’installazione Ora che abbiamo installato PHP4 e il nostro web server, possiamo fare un collaudo. Rammentate che vi avevamo raccomandato di ricordarvi della vostra directory radice per il web? Ora ne avrete bisogno. La directory radice di un web server è la directory in cui il web server cerca i file. Per esempio, quando visitate un sito web e digitate l’URL http://www.wrox.com/mypage.html, il web server andrà a cercare nella sua directory radice un file denominato mypage.html. Se lo trova vi invierà il suo contenuto. In modo simile, se richiedete http://www.wrox.com/somewhere/mypage.html, il web server cerca nella sua directory radice una directory chiamata SOMEWHERE e poi al suo interno cercherà un file denominato mypage.html. Potete ottenere il file /usr/local/apache/htdocs/somewhere/mypage.html, se la vostra richiesta è stata evasa da un server Apache con una configurazione predefinita, oppure C:\Inetpub\wwwroot\somewhere\mypage.html, se è stata evasa da IIS o PWS. È necessario essere consapevoli di questo perché il web server applica la stessa logica ai programmi di PHP. Noi salviamo i nostri programmi PHP come file che finiscono con .php, nella struttura di directory sottostante la directory radice del web server, lo stesso posto delle pagine web. Così, per esempio, se abbiamo salvato un file chiamato myprogram.php nella directory radice del web server www.wrox.com, questo programma sarà eseguito quando richiamiamo http://www.wrox.com/myprogram.php nel nostro browser. Che cosa bisogna inserire nel browser per richiamare i programmi PHP o il web server appena installato? Come detto precedentemente, potete accedere a un web server da un browser installato sulla stessa macchina. Come? Beh, dal punto di vista del vostro computer, il nome che esso usa per riferirsi a se stesso è localhost. È il termine che un computer in rete utilizza per dire “me”. Così, se digitate http://localhost in un browser , il browser cerca di collegarsi con il computer su cui è installato. Di solito, non ci riesce perché la maggior parte dei computer non dispone del software per web server. Ma dato che avete appena installato un web server, collegandovi a http://localhost dovrebbe apparire una pagina tramite la quale il web server vi informa della sua presenza. Se il computer è collegato a una rete, probabilmente avrà anche un nome sulla rete locale. Potete usare questo nome per distinguere il vostro computer dal browser delle altre macchine collegate. Se non siete sicuri di quale sia il nome del computer, provate a usare i seguenti comandi al prompt sul web server: Su Windows: > echo %COMPUTERNAME% Su UNIX: > echo $HOSTNAME Provate a usare questo nome in un browser su una macchina collegata in rete e dovreste vedere la stessa pagina che appare quando vi collegate a localhost. Per esempio, se il nome della vostra macchina fosse mycomputer, dovreste digitare http://mycomputer nel browser e se tutto va bene vedrete le pagine fornite dal web server appena installato. Si noti che IIS fornisce di default una pagina diversa per gli utenti collegati dallo stesso computer del web server rispetto a quella per gli utenti collegati da computer in rete. Ora siamo pronti per scrivere il nostro primo programma PHP e collaudarlo. Prova – Funziona il nostro web server con PHP4? 1. Aprite un editor di testo; qualsiasi programma che crea testo semplice va bene. Notepad è l’ideale per Windows, su macchine UNIX potete usare vi o emacs, se siete abituati a queste interfaccia. In alternativa, la maggior parte delle distribuzioni di Linux dispongono di una serie di editor di testo gra- 22 Installazione fici di buona qualità. Provate Gnotepad+, fornito con GNOME (digitate gnp al prompt), oppure KEdit, fornito con KDE (kedit al prompt). 2. Digitate in un file di testo vuoto le seguenti righe, esattamente come sono riportate qui: <?php phpinfo(); ?> 3. Salvate il file come phpinfo.php nella directory radice del web server. Se l’editor che state impiegando vi dà la possibilità di scegliere il formato di salvataggio, assicuratevi che sia semplice testo. Se usate Notepad su Windows, dovete stare attenti alla seccante abitudine di aggiungere l’estensione .txt alla fine di ogni file che salvate. Il modo più semplice per evitare questa seccatura è quello di ricordarsi – quando salvate i file in Notepad – di selezionare All Files dal menu Save as type (sotto l’elenco dei file nella finestra di dialogo del salvataggio), prima di inserire il nome del file che volete salvare con l’estensione .php. 4. Controllate bene di aver salvato il file nel posto giusto e con il nome giusto. Deve essere nella directory radice del vostro web server (normalmente C:\Inetpub\wwwroot oppure /usr/local/apache/htdocs/) e deve chiamarsi effettivamente phpinfo.php. In Windows, potete deselezionare l’opzione Hide file extensions for known file types alla voce View della finestra di dialogo di Explorer Options, poiché a volte non consente di vedere il nome esatto dei file salvati in Explore (e altrove in Windows). 5. Siamo pronti per collegarci al nostro web server. Portate il browser sul web server e digitate http://localhost/phpinfo.php. Come abbiamo detto, in questo modo il browser si collega al web server e il web server cerca un programma denominato phpinfo.php nella directory di default. Se tutto va secondo i piani, presto dovrebbe apparire la seguente schermata: 23 Capitolo 1 Se è così, congratulazioni: PHP4 è in funzione sul vostro web server. Adesso siamo pronti per passare al resto del libro. Se non è andata così, non spaventatevi. ❏ Tornate indietro e controllate bene di aver seguito correttamente le istruzioni. È facile perdersi qualche passaggio importante. ❏ Cercate di circoscrivere il problema per scoprire che cosa l’ha determinato. È il vostro web server? PHP è impostato correttamente? C’è qualche problema con il file? ❏ Se incontrate difficoltà con le istruzioni che vi abbiamo fornito, potete inviare un e-mail allo staff di assistenza di Wrox all’indirizzo [email protected]. Purtroppo, a causa del gran numero di possibili configurazioni su cui può essere eseguito PHP4, non siamo necessariamente in grado di offrire il nostro aiuto se non avete installato la configurazione di base che affrontiamo nel libro. Piuttosto, dovreste… ❏ ... dare un’occhiata alle mailing list su PHP consultabili all’indirizzo http://2p2.wrox.com/ per vedere se qualcun altro ha incontrato lo stesso vostro problema, usando la vostra particolare configurazione. Altrimenti, sottoponete una domanda alla comunità degli sviluppatori. Ci sono buone possibilità di trovare qualcuno in grado di risolvere il vostro problema. ❏ Soprattutto, non arrendetevi. Certe volte PHP4 è un po’ complicato da impostare e avviare, ma vale la pena perseverare. Note Nota sull’installazione di PHP4 su Windows 98/Me Si noti che il download da http://php4win.de non contiene “php.ini” con Windows 98, ma “php.ini-dist” e “php.inioptimized”. Ridenominate uno di questi file come “php.ini” e poi modificatelo sulle base delle indicazioni del libro. Si noti altresì che per far funzionare file regedit bisogna digitare un a capo dopo l’ultima riga di codice. Se volete potete anche controllare che il registro sia stato modificato: andate nel menu start e fate clic su run, digitate “regedit” nella casella e premete Invio nella finestra risultante, risalite nella struttura dell’albero fino alla cartella HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters\Script Map. La cartella Script Map deve contenere un elemento chiamato “.php” con i valori “C:\php\sapi\php4isapi.dll” (o qualsiasi altro sia il percorso per questo .dll sul vostro sistema). Se contiene solo un elemento “Default”, il cui valore non è impostato, procedete nel modo seguente: nella finestra di destra, fate clic con il tasto destro del mouse e scegliete New | String Value, inserite il nome “.php” e premete Invio, fate un doppio clic su questa chiave e digitate nel campo Value Data il percorso a php4isapi.dll e premete OK; riavviate la macchina e tutto dovrebbe essere a posto. Sembra che alcuni utenti di Win98 e Win Me stiano avendo grosse difficoltà nel far funzionare il PHP4 utilizzando il PWS. Un messaggio “Error 500” sembra essere l’elemento comune a questi problemi. Una soluzione ovvia potrebbe essere quella di provare un diverso server, come Apache o BadBlue. Per ulteriori dettagli sull’installazione di Apache/PHP4, contattate: http://www.net-language.com/workshops/Default.asp?Workshop=21, oppure BadBlue: http://www.badblue.com. Nota su extension_dir Il percorso che dovete impostare con il parametro extension_dir provoca dei problemi se il nome di una directory è più lungo di 8 caratteri. Comunque, se usate dei nomi di directory superiori agli 8 caratteri, potete usare la notazione ~ o mettere tra virgolette il percorso. Per esempio: extension_dir=C:\Progra~1\Php4 extension_dir=”C:\Program files\Php4\extensions”. Setting di PHP4 per passare le variabili tra gli script Per passare delle variabili tra gli script PHP (come mostrato nell’esempio di text.html/php) dovete assicurarvi che nel vostro file “php.ini”: register_globals = On 24