LAMP: Linux, Apache, MySQL e PHP: differenze tra le versioni
m (→Apache 2.0) |
m (→Test: typo) |
||
Riga 5: | Riga 5: | ||
=Il server http= | =Il server http= | ||
==Apache== | ==Apache== | ||
[http://httpd.apache.org/ Apache] | [http://httpd.apache.org/ Apache] è il frutto del lavoro della [http://www.apache.org/ Apache Software Foundation]. Tra le caratteristiche che ne fanno il server HTTP più diffuso evidenziamo che: | ||
* | * è software libero; | ||
* gira sulle | * gira sulle più svariate piattaforme (*nix, Windows, ec...); | ||
* | * è sviluppato in accordo con le più recenti specifiche per i servizi http. | ||
Secondo [http://news.netcraft.com/archives/web_server_survey.html Netcraft] Apache, con una percentuale del 68% (febbraio 2005), | Secondo [http://news.netcraft.com/archives/web_server_survey.html Netcraft] Apache, con una percentuale del 68% (febbraio 2005), è il server http più usato in assoluto. | ||
Apache deve il suo nome all' omonima | Apache deve il suo nome all' omonima tribù di indiani nordamericani, famosa per le straordinarie doti di resistenza e strategia. Visto però che il software è stato inizialmente sviluppato come una serie di patches ad un altro server http, nell' uso comune Apache significa anche "A Patchy Server". | ||
La pronuncia corretta di Apache suona grossomodo come "APACI". | La pronuncia corretta di Apache suona grossomodo come "APACI". | ||
Il progetto Apache | Il progetto Apache è suddiviso principalmente in due rami distinti (ne esiste un terzo, ma è nella fase di sviluppo alpha al momento): la versione 1.3 (la versione "vecchia" molto robusta e testata) e la versione 2.0 (dal design innovativo rispetto alla precedente). | ||
===Apache 1.3=== | ===Apache 1.3=== | ||
====Installazione==== | ====Installazione==== | ||
L' installazione nuda e cruda di Apache 1.3 in Debian | L' installazione nuda e cruda di Apache 1.3 in Debian è di una semplicità disarmante. Tutto quello che avremo bisogno di fare consiste nel dare il comando: | ||
<pre># apt-get install apache</pre> | <pre># apt-get install apache</pre> | ||
al termine del download ci viene chiesto se vogliamo abilitare suExec: a meno di utilizzi professionali, possiamo tranquillamente rispondere "No". | al termine del download ci viene chiesto se vogliamo abilitare suExec: a meno di utilizzi professionali, possiamo tranquillamente rispondere "No". | ||
====Verifica==== | ====Verifica==== | ||
A questo punto il nostro server web | A questo punto il nostro server web è già attivo, ma possiamo anche verificarlo tramite il comando '''ps''': | ||
<pre># ps aux |grep apache | <pre># ps aux |grep apache | ||
root 7378 0.0 0.4 4592 2228 pts/1 S 12:01 0:00 /usr/sbin/apache | root 7378 0.0 0.4 4592 2228 pts/1 S 12:01 0:00 /usr/sbin/apache | ||
Riga 31: | Riga 31: | ||
www-data 7382 0.0 0.4 4592 2204 pts/1 S 12:01 0:00 /usr/sbin/apache | www-data 7382 0.0 0.4 4592 2204 pts/1 S 12:01 0:00 /usr/sbin/apache | ||
www-data 7383 0.0 0.4 4592 2204 pts/1 S 12:01 0:00 /usr/sbin/apache</pre> | www-data 7383 0.0 0.4 4592 2204 pts/1 S 12:01 0:00 /usr/sbin/apache</pre> | ||
Notiamo subito uno dei meccanismi principali di Apache: esistono svariati processi in esecuzione. Per la precisione abbiamo 1 processo | Notiamo subito uno dei meccanismi principali di Apache: esistono svariati processi in esecuzione. Per la precisione abbiamo 1 processo proprietà dell' utente root e ben 5 processi di proprietà dell' utente www-data.<br> | ||
Il primo processo (padre) viene lanciato da root e ed il suo unico compito consiste nel genere e controllare i restanti processi (figli). Sono questi ultimi a rispondere alle richieste http ed a fornire le pagine. In questo modo Apache gira con privilegi minimi (quelli dell' utente www-data) ed in caso di una sua eventuale compromissione gli effetti sul sistema sono in qualche misura limitati. | Il primo processo (padre) viene lanciato da root e ed il suo unico compito consiste nel genere e controllare i restanti processi (figli). Sono questi ultimi a rispondere alle richieste http ed a fornire le pagine. In questo modo Apache gira con privilegi minimi (quelli dell' utente www-data) ed in caso di una sua eventuale compromissione gli effetti sul sistema sono in qualche misura limitati. | ||
====Configurazione==== | ====Configurazione==== | ||
La configurazione di Apache | La configurazione di Apache è un compito estremamente delicato e può richiedere conoscenze anche notevoli in svariati ambiti quali networking, programmazione e amministrazione di sistema. Dato che questa guida si propone fondamentalmente di illustrare i passi necessari ad installare e configurare un sistema per uso non professionale, ci limiteremo agli aspetti macroscopici della configurazione. | ||
I files di configurazione di Apache risiedono nella directory '''/etc/apache''' al cui interno troviamo svariati files. Quello di cui ci occuperemo qui | I files di configurazione di Apache risiedono nella directory '''/etc/apache''' al cui interno troviamo svariati files. Quello di cui ci occuperemo qui è il file di controllo principale e cioè '''httpd.conf'''. Apriamo il file con il nostro editor di fiducia (dobbiamo essere root per modificare questo file) e vediamo quali sono le direttive principali su cui agiremo. | ||
'''server-pool size''' | '''server-pool size''' | ||
Alla riga 130 del file di configurazione originale troviamo il primo blocco da prendere in esame: si tratta della direttiva che dice ad Apache il numero minimo e massimo di processi "figlio" da mantenere in memoria. Ogni processo "figlio" risponde ad un numero prefissato di richieste, | Alla riga 130 del file di configurazione originale troviamo il primo blocco da prendere in esame: si tratta della direttiva che dice ad Apache il numero minimo e massimo di processi "figlio" da mantenere in memoria. Ogni processo "figlio" risponde ad un numero prefissato di richieste, dopodichè viene ucciso (mondo crudele) e ne viene generato uno nuovo. Esaminiamo la direttiva: | ||
<pre>MinSpareServers 5 | <pre>MinSpareServers 5 | ||
MaxSpareServers 10</pre> | MaxSpareServers 10</pre> | ||
Come default Apache genera 5 processi, ma se il carico aumenta | Come default Apache genera 5 processi, ma se il carico aumenta può arrivare fino a 10 figli simultanei. Per un sistema domestico è sicuramente eccessivo ed io consiglio di porre queste limitazioni: | ||
<pre>MinSpareServers 1 | <pre>MinSpareServers 1 | ||
MaxSpareServers 2</pre> | MaxSpareServers 2</pre> | ||
'''Number of servers to start initially''' | '''Number of servers to start initially''' | ||
Questo blocco (riga 153) dice ad Apache quanti sono i figli da generare al momento dell' avvio del server. Il default | Questo blocco (riga 153) dice ad Apache quanti sono i figli da generare al momento dell' avvio del server. Il default è: | ||
<pre>StartServers 5</pre> | <pre>StartServers 5</pre> | ||
che noi cambieremo in: | che noi cambieremo in: | ||
Riga 54: | Riga 54: | ||
'''Listen''' | '''Listen''' | ||
Questo blocco (riga 192) indica ad Apache su quale porta TCP restare in attesa di richeste http. E' anche possibile specificare una particolare accoppiata di indirizzo IP + porta TCP. Possiamo tranquillamente lasciare commentata la direttiva ed il nostro server | Questo blocco (riga 192) indica ad Apache su quale porta TCP restare in attesa di richeste http. E' anche possibile specificare una particolare accoppiata di indirizzo IP + porta TCP. Possiamo tranquillamente lasciare commentata la direttiva ed il nostro server sarà in ascolto sulla porta 80 per tutti gli indirizzi configurati sul sistema. | ||
'''BindAddress''' | '''BindAddress''' | ||
Riga 60: | Riga 60: | ||
'''ServerName''' | '''ServerName''' | ||
Con questa direttiva (alla linea 276) diciamo ad Apache quale | Con questa direttiva (alla linea 276) diciamo ad Apache quale è il suo nome. Questo è particolarmente utile nel caso abbiamo a disposizione un [[FQDN]] (a questo proposito puoi consultare la guida [[Server Web Casalingo]]). | ||
'''DocumentRoot''' | '''DocumentRoot''' | ||
Con questa direttiva (riga 284) indichiamo ad Apache quale directory del nostro sistema deve corrispondere alla radice del Web Server. Il default va | Con questa direttiva (riga 284) indichiamo ad Apache quale directory del nostro sistema deve corrispondere alla radice del Web Server. Il default va più che bene: ricordatevi quindi che tutti i vostri files che volete pubblicare sul server http dovranno risiedere in '''/var/www''' o in una sua sotto-directory. | ||
{{Warningbox| | {{Warningbox|è fondamentale per il funzionamento di Apache che i files che devono essere visibili via Web siano leggibili da parte dell' utente '''www-data''' e che le sotto-directory di /var/www siano raggiunbili dallo stesso utente}} | ||
Questo | Questo è il minimo indispensabile che ci occorre sapere per poter utilizzare proficuamente Apache: salviamo il file e procediamo a riavviare Apache. Per fare questo possiamo procedere in due modi distinti: | ||
* metodo standard <pre><nowiki># apachectl graceful | * metodo standard <pre><nowiki># apachectl graceful | ||
/usr/sbin/apachectl graceful: httpd gracefully restarted</nowiki></pre> | /usr/sbin/apachectl graceful: httpd gracefully restarted</nowiki></pre> | ||
* metodo debian init.d <pre><nowiki># /etc/init.d/apache restart | * metodo debian init.d <pre><nowiki># /etc/init.d/apache restart | ||
Restarting apache.</nowiki></pre> | Restarting apache.</nowiki></pre> | ||
Senza dubbio '''apachectl''' | Senza dubbio '''apachectl''' è il metodo da preferire. Oltre a riavviare Apache possiamo controllare altri aspetti del server web. Tra questi quello che inizialmente può risultare più comodo consiste nel controllo della sintassi del file di configurazione.<br> | ||
Facciamo un esempio: | Facciamo un esempio: | ||
<pre># apachectl configtest | <pre># apachectl configtest | ||
Syntax error on line 49 of /etc/apache/httpd.conf: | Syntax error on line 49 of /etc/apache/httpd.conf: | ||
ServerType takes one argument, 'inetd' or 'standalone'</pre> | ServerType takes one argument, 'inetd' or 'standalone'</pre> | ||
lo script mi avvisa che alla riga 49 di httpd.conf c' | lo script mi avvisa che alla riga 49 di httpd.conf c'è un errore di sintassi: la direttiva ServerType supporta un solo argomento, mentre nel file ne sono specificati almeno 2. Se controllo òa riga incriminata scopro che: | ||
<pre>ServerType is either inetd, or standalone. Inetd mode is only supported on</pre> | <pre>ServerType is either inetd, or standalone. Inetd mode is only supported on</pre> | ||
Noto subito che manca il commendo (#) a inizio riga, provvedo a reinserirlo e quindi controllo nuovamente la configurazione: | Noto subito che manca il commendo (#) a inizio riga, provvedo a reinserirlo e quindi controllo nuovamente la configurazione: | ||
Riga 82: | Riga 82: | ||
Syntax OK</pre> | Syntax OK</pre> | ||
Se non abbiamo fatto pasticci, una volta riavviato il server Apache, | Se non abbiamo fatto pasticci, una volta riavviato il server Apache, basterà puntare il nostro browser all' indirizzo '''http://127.0.0.1''' per vedere la pagina di default installata dal manutentore del pacchetto Debian: | ||
<pre>Placeholder page | <pre>Placeholder page | ||
If you are just browsing the web | If you are just browsing the web | ||
The owner of this web site has not put up any web pages yet. Please come back later. | The owner of this web site has not put up any web pages yet. Please come back later. | ||
Move along, nothing to see here... :-)</pre> | Move along, nothing to see here... :-)</pre> | ||
{{box|Nota Bene: Directory home degli utenti|Per default Apache permette anche a ciascun utente del sistema di avere una propria home. Poniamo l' esempio dell' utente '''pippo''': all' interno di /home/pippo l' utente | {{box|Nota Bene: Directory home degli utenti|Per default Apache permette anche a ciascun utente del sistema di avere una propria home. Poniamo l' esempio dell' utente '''pippo''': all' interno di /home/pippo l' utente dovrà semplicemente creare la directory '''public_html''' per poter accedere ai files in essa contenuti attraverso l' indirizzo '''http://127.0.0.1/~pippo/'''}} | ||
Ora non ci resta che inserire i nostri files in /var/www o nella nostra public_html per poter cominciare ad usare Apache! | Ora non ci resta che inserire i nostri files in /var/www o nella nostra public_html per poter cominciare ad usare Apache! | ||
Riga 96: | Riga 96: | ||
=Il processore PHP= | =Il processore PHP= | ||
==Installazione== | ==Installazione== | ||
Anche installare PHP non | Anche installare PHP non è un compito per nulla complesso. | ||
Vediamo subito come procedere a abilitare PHP per il nostro server Apache in maniera minimale: | Vediamo subito come procedere a abilitare PHP per il nostro server Apache in maniera minimale: | ||
<pre># apt-get install libapache-mod-php4</pre> | <pre># apt-get install libapache-mod-php4</pre> | ||
Apt | Apt scaricherà il modulo per Apache, le eventuali dipendenze e aggiornerà anche il file di configurazione dei moduli (/etc/apache/modules.conf). | ||
Tutto quello che dovremo fare manualmente | Tutto quello che dovremo fare manualmente è di riavviare Apache, altrimenti non ci fornirà gli script Php elaborati, ma ci permetterà unicamente di scaricarli. Come abbiamo già visto nella sezione relativa all' installazione di Apache il comando è: | ||
<pre># apachectl graceful | <pre># apachectl graceful | ||
/usr/sbin/apachectl graceful: httpd gracefully restarted</pre> | /usr/sbin/apachectl graceful: httpd gracefully restarted</pre> | ||
Ora, anche se a livello minimale, Apache | Ora, anche se a livello minimale, Apache è in grado fornire al nostro browser l' output degli script elaborati dal motore PHP. Non ci resta altro da fare che testarne il funzionamento. | ||
==Test== | ==Test== | ||
Il modo | Il modo più semplice per testare la nostra installazione di PHP consiste nel preparare uno script e tentare di visualizzarlo nel nostro browser. | ||
Possiamo procedere in due modi fondamentalmente: creare uno script nella '''DocumentRoot''' del server web, e | Possiamo procedere in due modi fondamentalmente: creare uno script nella '''DocumentRoot''' del server web, e cioè '''/var/www''' (se non l' avete modificata in ahttpd.conf) oppure nella nostra '''public_html. | ||
Nel caso vogliate creare o spostare files all' interno della DocumentRoot di Apache | Nel caso vogliate creare o spostare files all' interno della DocumentRoot di Apache è indispensabile tenere sempre a mente che quella directory e le directory in essa contenute sono visibili anche da altri computer (nella eventuale lan o su internet): prestate estrema attenzione ai permessi di scrittura di questi files! | ||
Un consiglio personale consiste nell' agire sempre come utente '''www-data''' quando operate nella DocumentRoot: vi risparmierete patemi in fatto di permessi e sicurezza. Per loggarci come utente www-data | Un consiglio personale consiste nell' agire sempre come utente '''www-data''' quando operate nella DocumentRoot: vi risparmierete patemi in fatto di permessi e sicurezza. Per loggarci come utente www-data è sufficiente operare in questo modo: | ||
<pre>$ whoami | <pre>$ whoami | ||
keltik | keltik | ||
Riga 122: | Riga 122: | ||
# whoami | # whoami | ||
root | root | ||
su - www-data | # su - www-data | ||
$ whoami | $ whoami | ||
www-data</pre> | www-data</pre> | ||
Siamo | Siamo così passati dal nostro utente normale ll' utente root e da questo siamo diventati l' utente www-data (il passaggio tramite l' utente root ci evita di dover fornire la password per www-data). Avendo usato il comando '''su - ''' abbiamo effettuato un login vero e proprio, ereditando tutte le variabili locali per www-data. | ||
Ora possiamo operare in | Ora possiamo operare in tranquillità nella DocumentRoot (che è anche la $HOME dell' utente www-data). | ||
Se invece scegliamo di usare la nostra public_html, non dovremo fare altro che creare il file al suo interno usando il nostro utente normale. | Se invece scegliamo di usare la nostra public_html, non dovremo fare altro che creare il file al suo interno usando il nostro utente normale. | ||
Usiamo il nostro editor preferito e creiamo il file prova.php che | Usiamo il nostro editor preferito e creiamo il file prova.php che conterrà questo codice: | ||
<pre><?php phpinfo(); ?></pre> | <pre><?php phpinfo(); ?></pre> | ||
{{box|Nota Bene| | {{box|Nota Bene|Aldilà di quale sia il vostro editor preferito, consiglio caldamente di imparare quantomeno i rudimenti di '''vi''': questo editor testuale infatti è presente nella quasi totalità dei sistemi operativi *nix, è molto pratico anche durante sessioni telnet o ssh e - con un minimo di allenamento - dispone di tutta la potenza necessaria ad un editor di codice}} | ||
Se tutto | Se tutto è andato bene, puntando il browser all' indiritto http://127.0.0.1/prova.php (nel caso di aver usato la DocumentRoot) oppure http://127.0.0.1/~utente/prova.php vedremo una pagina html che riporta molte informazioni utili sul nostro nuovo ambiente di sviluppo (versione del software, moduli di apache, moduli di php, variabili di ambiente, ecc...). | ||
=Il Database Server= | =Il Database Server= |
Versione delle 22:43, 21 giu 2005
Attenzione: questo articolo è ancora incompleto e in fase di scrittura da parte del suo autore.
Sentitevi liberi di contribuire, proponendo modifiche alla guida tramite l'apposita pagina di discussione, in modo da non interferire con il lavoro portato avanti sulla voce. Per altre informazioni si rimanda al template. |
Introduzione
Il server http
Apache
Apache è il frutto del lavoro della Apache Software Foundation. Tra le caratteristiche che ne fanno il server HTTP più diffuso evidenziamo che:
- è software libero;
- gira sulle più svariate piattaforme (*nix, Windows, ec...);
- è sviluppato in accordo con le più recenti specifiche per i servizi http.
Secondo Netcraft Apache, con una percentuale del 68% (febbraio 2005), è il server http più usato in assoluto.
Apache deve il suo nome all' omonima tribù di indiani nordamericani, famosa per le straordinarie doti di resistenza e strategia. Visto però che il software è stato inizialmente sviluppato come una serie di patches ad un altro server http, nell' uso comune Apache significa anche "A Patchy Server".
La pronuncia corretta di Apache suona grossomodo come "APACI".
Il progetto Apache è suddiviso principalmente in due rami distinti (ne esiste un terzo, ma è nella fase di sviluppo alpha al momento): la versione 1.3 (la versione "vecchia" molto robusta e testata) e la versione 2.0 (dal design innovativo rispetto alla precedente).
Apache 1.3
Installazione
L' installazione nuda e cruda di Apache 1.3 in Debian è di una semplicità disarmante. Tutto quello che avremo bisogno di fare consiste nel dare il comando:
# apt-get install apache
al termine del download ci viene chiesto se vogliamo abilitare suExec: a meno di utilizzi professionali, possiamo tranquillamente rispondere "No".
Verifica
A questo punto il nostro server web è già attivo, ma possiamo anche verificarlo tramite il comando ps:
# ps aux |grep apache root 7378 0.0 0.4 4592 2228 pts/1 S 12:01 0:00 /usr/sbin/apache www-data 7379 0.0 0.4 4592 2364 pts/1 S 12:01 0:00 /usr/sbin/apache www-data 7380 0.0 0.4 4592 2364 pts/1 S 12:01 0:00 /usr/sbin/apache www-data 7381 0.0 0.4 4592 2204 pts/1 S 12:01 0:00 /usr/sbin/apache www-data 7382 0.0 0.4 4592 2204 pts/1 S 12:01 0:00 /usr/sbin/apache www-data 7383 0.0 0.4 4592 2204 pts/1 S 12:01 0:00 /usr/sbin/apache
Notiamo subito uno dei meccanismi principali di Apache: esistono svariati processi in esecuzione. Per la precisione abbiamo 1 processo proprietà dell' utente root e ben 5 processi di proprietà dell' utente www-data.
Il primo processo (padre) viene lanciato da root e ed il suo unico compito consiste nel genere e controllare i restanti processi (figli). Sono questi ultimi a rispondere alle richieste http ed a fornire le pagine. In questo modo Apache gira con privilegi minimi (quelli dell' utente www-data) ed in caso di una sua eventuale compromissione gli effetti sul sistema sono in qualche misura limitati.
Configurazione
La configurazione di Apache è un compito estremamente delicato e può richiedere conoscenze anche notevoli in svariati ambiti quali networking, programmazione e amministrazione di sistema. Dato che questa guida si propone fondamentalmente di illustrare i passi necessari ad installare e configurare un sistema per uso non professionale, ci limiteremo agli aspetti macroscopici della configurazione.
I files di configurazione di Apache risiedono nella directory /etc/apache al cui interno troviamo svariati files. Quello di cui ci occuperemo qui è il file di controllo principale e cioè httpd.conf. Apriamo il file con il nostro editor di fiducia (dobbiamo essere root per modificare questo file) e vediamo quali sono le direttive principali su cui agiremo.
server-pool size Alla riga 130 del file di configurazione originale troviamo il primo blocco da prendere in esame: si tratta della direttiva che dice ad Apache il numero minimo e massimo di processi "figlio" da mantenere in memoria. Ogni processo "figlio" risponde ad un numero prefissato di richieste, dopodichè viene ucciso (mondo crudele) e ne viene generato uno nuovo. Esaminiamo la direttiva:
MinSpareServers 5 MaxSpareServers 10
Come default Apache genera 5 processi, ma se il carico aumenta può arrivare fino a 10 figli simultanei. Per un sistema domestico è sicuramente eccessivo ed io consiglio di porre queste limitazioni:
MinSpareServers 1 MaxSpareServers 2
Number of servers to start initially Questo blocco (riga 153) dice ad Apache quanti sono i figli da generare al momento dell' avvio del server. Il default è:
StartServers 5
che noi cambieremo in:
StartServers 1
Listen Questo blocco (riga 192) indica ad Apache su quale porta TCP restare in attesa di richeste http. E' anche possibile specificare una particolare accoppiata di indirizzo IP + porta TCP. Possiamo tranquillamente lasciare commentata la direttiva ed il nostro server sarà in ascolto sulla porta 80 per tutti gli indirizzi configurati sul sistema.
BindAddress Alla riga 199 abbiamo la direttiva che specifica a quale specifico indirizzo IP associare Apache. Come per il punto precedente, lasciamo pure il valore di default.
ServerName Con questa direttiva (alla linea 276) diciamo ad Apache quale è il suo nome. Questo è particolarmente utile nel caso abbiamo a disposizione un FQDN (a questo proposito puoi consultare la guida Server Web Casalingo).
DocumentRoot Con questa direttiva (riga 284) indichiamo ad Apache quale directory del nostro sistema deve corrispondere alla radice del Web Server. Il default va più che bene: ricordatevi quindi che tutti i vostri files che volete pubblicare sul server http dovranno risiedere in /var/www o in una sua sotto-directory.
Questo è il minimo indispensabile che ci occorre sapere per poter utilizzare proficuamente Apache: salviamo il file e procediamo a riavviare Apache. Per fare questo possiamo procedere in due modi distinti:
- metodo standard
# apachectl graceful
/usr/sbin/apachectl graceful: httpd gracefully restarted
- metodo debian init.d
# /etc/init.d/apache restart
Restarting apache.
Senza dubbio apachectl è il metodo da preferire. Oltre a riavviare Apache possiamo controllare altri aspetti del server web. Tra questi quello che inizialmente può risultare più comodo consiste nel controllo della sintassi del file di configurazione.
Facciamo un esempio:
# apachectl configtest Syntax error on line 49 of /etc/apache/httpd.conf: ServerType takes one argument, 'inetd' or 'standalone'
lo script mi avvisa che alla riga 49 di httpd.conf c'è un errore di sintassi: la direttiva ServerType supporta un solo argomento, mentre nel file ne sono specificati almeno 2. Se controllo òa riga incriminata scopro che:
ServerType is either inetd, or standalone. Inetd mode is only supported on
Noto subito che manca il commendo (#) a inizio riga, provvedo a reinserirlo e quindi controllo nuovamente la configurazione:
# apachectl configtest Syntax OK
Se non abbiamo fatto pasticci, una volta riavviato il server Apache, basterà puntare il nostro browser all' indirizzo http://127.0.0.1 per vedere la pagina di default installata dal manutentore del pacchetto Debian:
Placeholder page If you are just browsing the web The owner of this web site has not put up any web pages yet. Please come back later. Move along, nothing to see here... :-)
Nota Bene: Directory home degli utenti Per default Apache permette anche a ciascun utente del sistema di avere una propria home. Poniamo l' esempio dell' utente pippo: all' interno di /home/pippo l' utente dovrà semplicemente creare la directory public_html per poter accedere ai files in essa contenuti attraverso l' indirizzo http://127.0.0.1/~pippo/ |
Ora non ci resta che inserire i nostri files in /var/www o nella nostra public_html per poter cominciare ad usare Apache!
Apache 2.0
todo
Il processore PHP
Installazione
Anche installare PHP non è un compito per nulla complesso.
Vediamo subito come procedere a abilitare PHP per il nostro server Apache in maniera minimale:
# apt-get install libapache-mod-php4
Apt scaricherà il modulo per Apache, le eventuali dipendenze e aggiornerà anche il file di configurazione dei moduli (/etc/apache/modules.conf).
Tutto quello che dovremo fare manualmente è di riavviare Apache, altrimenti non ci fornirà gli script Php elaborati, ma ci permetterà unicamente di scaricarli. Come abbiamo già visto nella sezione relativa all' installazione di Apache il comando è:
# apachectl graceful /usr/sbin/apachectl graceful: httpd gracefully restarted
Ora, anche se a livello minimale, Apache è in grado fornire al nostro browser l' output degli script elaborati dal motore PHP. Non ci resta altro da fare che testarne il funzionamento.
Test
Il modo più semplice per testare la nostra installazione di PHP consiste nel preparare uno script e tentare di visualizzarlo nel nostro browser.
Possiamo procedere in due modi fondamentalmente: creare uno script nella DocumentRoot del server web, e cioè /var/www (se non l' avete modificata in ahttpd.conf) oppure nella nostra public_html.
Nel caso vogliate creare o spostare files all' interno della DocumentRoot di Apache è indispensabile tenere sempre a mente che quella directory e le directory in essa contenute sono visibili anche da altri computer (nella eventuale lan o su internet): prestate estrema attenzione ai permessi di scrittura di questi files!
Un consiglio personale consiste nell' agire sempre come utente www-data quando operate nella DocumentRoot: vi risparmierete patemi in fatto di permessi e sicurezza. Per loggarci come utente www-data è sufficiente operare in questo modo:
$ whoami keltik $ su Password: # whoami root # su - www-data $ whoami www-data
Siamo così passati dal nostro utente normale ll' utente root e da questo siamo diventati l' utente www-data (il passaggio tramite l' utente root ci evita di dover fornire la password per www-data). Avendo usato il comando su - abbiamo effettuato un login vero e proprio, ereditando tutte le variabili locali per www-data.
Ora possiamo operare in tranquillità nella DocumentRoot (che è anche la $HOME dell' utente www-data).
Se invece scegliamo di usare la nostra public_html, non dovremo fare altro che creare il file al suo interno usando il nostro utente normale.
Usiamo il nostro editor preferito e creiamo il file prova.php che conterrà questo codice:
<?php phpinfo(); ?>
Se tutto è andato bene, puntando il browser all' indiritto http://127.0.0.1/prova.php (nel caso di aver usato la DocumentRoot) oppure http://127.0.0.1/~utente/prova.php vedremo una pagina html che riporta molte informazioni utili sul nostro nuovo ambiente di sviluppo (versione del software, moduli di apache, moduli di php, variabili di ambiente, ecc...).
Il Database Server
MySQL
PhpMyAdmin
Conclusioni
Autore: Keltik 07:20, Giu 20, 2005 (EDT)