XAMPP: Linux, Apache, MySQL e PHP facili: differenze tra le versioni

m
Riga 1: Riga 1:
{{stub}}
{{stub}}


=Cos'XAMPP=
=Cos'è XAMPP=


Per poter creare un webserver sulla nostra macchina linux, abbiamo bisogno innanzitutto di '''Apache''' (il web server vero e proprio); poi bisogna aggiungere altre applicazioni che ci permettano di creare siti con contenuto dinamico, magari scritti in '''PHP''' (per esempio un bel CMS open source), quindi bisogna installare PHP e impostare Apache affinch� supporti questo linguaggio. Molto spesso, per�, Apache e PHP da soli non bastano, perch� la gestione dei contenuti del sito rischia di diventare laboriosa col passare del tempo: ed ecco che dobbiamo ricorrere ad un database, solitamente '''MySQL''' o PostgreSQL, che memorizzi i nostri dati e li restituisca quando servono ad Apache e PHP per visualizzarli nella pagina web del nostro sito. Installiamo, allora, anche un database e configuriamolo opportunamente. Magari ci farebbe comodo avere anche qualche bella libreria grafica (per esempio '''GDlib''') che ridimensioni ad hoc e visualizzi le nostre immagini: installiamo anche questa. Bene, a questo punto abbiamo un bel serverino web, abbastanza minimale, ma funzionale.... L'unico problema che potrebbe sorgere che non siamo dei Guru (o semplicemente non abbiamo tanta voglia di perdere tempo) e quindi corriamo il rischio di non riuscire a configurare tutto bene e con la dovuta sicurezza.
Per poter creare un webserver sulla nostra macchina linux, abbiamo bisogno innanzitutto di '''Apache''' (il web server vero e proprio); poi bisogna aggiungere altre applicazioni che ci permettano di creare siti con contenuto dinamico, magari scritti in '''PHP''' (per esempio un bel CMS open source), quindi bisogna installare PHP e impostare Apache affinché supporti questo linguaggio. Molto spesso, però, Apache e PHP da soli non bastano, perché la gestione dei contenuti del sito rischia di diventare laboriosa col passare del tempo: ed ecco che dobbiamo ricorrere ad un database, solitamente '''MySQL''' o PostgreSQL, che memorizzi i nostri dati e li restituisca quando servono ad Apache e PHP per visualizzarli nella pagina web del nostro sito. Installiamo, allora, anche un database e configuriamolo opportunamente. Magari ci farebbe comodo avere anche qualche bella libreria grafica (per esempio '''GDlib''') che ridimensioni ad hoc e visualizzi le nostre immagini: installiamo anche questa. Bene, a questo punto abbiamo un bel serverino web, abbastanza minimale, ma funzionale.... L'unico problema che potrebbe sorgere è che non siamo dei Guru (o semplicemente non abbiamo tanta voglia di perdere tempo) e quindi corriamo il rischio di non riuscire a configurare tutto bene e con la dovuta sicurezza.


Per alleviare il problema, su [http://www.apachefriends.org ApacheFriends] possiamo trovare il pacchetto che fa per noi: '''XAMPP'''.  
Per alleviare il problema, su [http://www.apachefriends.org ApacheFriends] possiamo trovare il pacchetto che fa per noi: '''XAMPP'''.  


''Ma cos'XAMPP?''<br>
''Ma cos'è XAMPP?''<br>
XAMPP (fino a poco tempo fa LAMPP) un insieme di programmi utili per la creazione di un web server: integra, infatti, Apache, MySQL, PHP, '''Perl''' e tanti altri programmi che ci permettono di creare, relativamente facilmente e velocemente, un serverino web che possa contenere il nostro sito.<br>
XAMPP (fino a poco tempo fa LAMPP) è un insieme di programmi utili per la creazione di un web server: integra, infatti, Apache, MySQL, PHP, '''Perl''' e tanti altri programmi che ci permettono di creare, relativamente facilmente e velocemente, un serverino web che possa contenere il nostro sito.<br>
''E la comodit� dov'?''<br>
''E la comodità dov'è?''<br>
La comodit� sta nel fatto che invece di scaricare e installare singolarmente tutti i programmi di cui abbiamo bisogno, con XAMPP basta scaricare un file compresso di circa 40 MB e decomprimerlo sul nostro pc. E se per qualche malaugurato motivo, in futuro, non ci va pi� di avere quella cinquantina di MB del nostro hard disk occupati da XAMPP, basta semplicemente cancellare la sua directory!
La comodità sta nel fatto che invece di scaricare e installare singolarmente tutti i programmi di cui abbiamo bisogno, con XAMPP basta scaricare un file compresso di circa 40 MB e decomprimerlo sul nostro pc. E se per qualche malaugurato motivo, in futuro, non ci va più di avere quella cinquantina di MB del nostro hard disk occupati da XAMPP, basta semplicemente cancellare la sua directory!
Oltre a questo, la comodit� di XAMPP sta anche nel fatto che molte sue funzioni possono essere intuitivamente configurate via web con un browser (alcune volte, per�, necessario mettere mano al nostro editor di testi preferito e girovagare nei files di configurazione).
Oltre a questo, la comodità di XAMPP sta anche nel fatto che molte sue funzioni possono essere intuitivamente configurate via web con un browser (alcune volte, però, è necessario mettere mano al nostro editor di testi preferito e girovagare nei files di configurazione).


Come gi� detto, il pacchetto contiene molti programmi utili, tutti pi� o meno configurabili facilmente. La lista dei programmi contenuti nella versione Linux di XAMPP la seguente:
Come già detto, il pacchetto contiene molti programmi utili, tutti più o meno configurabili facilmente. La lista dei programmi contenuti nella versione Linux di XAMPP è la seguente:


{{box|versione 1.4.14|Apache 2.0.54, MySQL 4.1.12, PHP 5.0.4 & 4.3.11 & PEAR + SQLite 2.8.9/2.8.14 + multibyte (mbstring) support, Perl 5.8.6, ProFTPD 1.2.10, phpMyAdmin 2.6.2-pl1, OpenSSL 0.9.7g, GD 2.0.1, Freetype2 2.1.7, libjpeg 6b, libpng 1.2.7, gdbm 1.8.0, zlib 1.1.4, expat 1.2, Sablotron 1.0, libxml 2.4.26, Ming 0.2a, Webalizer 2.01, pdf class 009e, ncurses 5.8, mod_perl 2.0.0-RC4, FreeTDS 0.62.4, gettext 0.11.5, IMAP C-Client 2002b, OpenLDAP (client) 2.2.13, mcrypt 2.5.7, mhash 0.8.18, eAccelerator 0.9.3, cURL 7.13.1, libxslt 1.1.8, phpSQLiteAdmin 0.2, libapreq 2.04-dev}}
{{box|versione 1.4.14|Apache 2.0.54, MySQL 4.1.12, PHP 5.0.4 & 4.3.11 & PEAR + SQLite 2.8.9/2.8.14 + multibyte (mbstring) support, Perl 5.8.6, ProFTPD 1.2.10, phpMyAdmin 2.6.2-pl1, OpenSSL 0.9.7g, GD 2.0.1, Freetype2 2.1.7, libjpeg 6b, libpng 1.2.7, gdbm 1.8.0, zlib 1.1.4, expat 1.2, Sablotron 1.0, libxml 2.4.26, Ming 0.2a, Webalizer 2.01, pdf class 009e, ncurses 5.8, mod_perl 2.0.0-RC4, FreeTDS 0.62.4, gettext 0.11.5, IMAP C-Client 2002b, OpenLDAP (client) 2.2.13, mcrypt 2.5.7, mhash 0.8.18, eAccelerator 0.9.3, cURL 7.13.1, libxslt 1.1.8, phpSQLiteAdmin 0.2, libapreq 2.04-dev}}


{{Warningbox| lo scopo di questa guida quello di spiegare come creare facilmente, tramite XAMPP, un piccolo webserver ad '''uso prettamente personale'''. Sul sito ufficiale di XAMPP menzionato pi� volte il fatto che questo pacchetto stato creato per essere utilizzato in ambienti di sviluppo, con tutti i problemi di sicurezza che ne derivano. Per rendere XAMPP pi� sicuro, necessario ricorrere ad una configurazione manuale dei vari servizi (come Apache, MySQL, PHP, ecc.): questi argomenti non verranno trattati in questa guida, per cui sarebbe opportuno leggere le guide presenti nella sezione ''Networking'', in particolare la guida [[LAMP: Linux, Apache, MySQL e PHP]].}}
{{Warningbox| lo scopo di questa guida è quello di spiegare come creare facilmente, tramite XAMPP, un piccolo webserver ad '''uso prettamente personale'''. Sul sito ufficiale di XAMPP è menzionato più volte il fatto che questo pacchetto è stato creato per essere utilizzato in ambienti di sviluppo, con tutti i problemi di sicurezza che ne derivano. Per rendere XAMPP più sicuro, è necessario ricorrere ad una configurazione manuale dei vari servizi (come Apache, MySQL, PHP, ecc.): questi argomenti non verranno trattati in questa guida, per cui sarebbe opportuno leggere le guide presenti nella sezione ''Networking'', in particolare la guida [[LAMP: Linux, Apache, MySQL e PHP]].}}


=Installazione=
=Installazione=
Riga 24: Riga 24:
A questo punto, installiamo il pacchetto semplicemente decomprimendolo in ''/opt'':
A questo punto, installiamo il pacchetto semplicemente decomprimendolo in ''/opt'':
<pre># tar xvfz xampp-linux-1.4.13.tar.gz -C /opt</pre>
<pre># tar xvfz xampp-linux-1.4.13.tar.gz -C /opt</pre>
in questo modo il pacchetto verr� installato in ''/opt/lampp''.
in questo modo il pacchetto verrà installato in ''/opt/lampp''.


{{Warningbox| sul sito ufficiale di XAMPP indicato che questo appena descritto il '''metodo pi� sicuro''' per installare correttamente il pacchetto. Inoltre si sconsiglia di usare programmi win32 di decompressione per estrarre i file in quanto questi potrebbero impedire la corretta installazione.}}
{{Warningbox| sul sito ufficiale di XAMPP è indicato che questo appena descritto è il '''metodo più sicuro''' per installare correttamente il pacchetto. Inoltre si sconsiglia di usare programmi win32 di decompressione per estrarre i file in quanto questi potrebbero impedire la corretta installazione.}}


Se abbiamo gi� una vecchia versione di XAMPP installata sul nostro sistema, questo comando sovrascriver� i vecchi files.
Se abbiamo già una vecchia versione di XAMPP installata sul nostro sistema, questo comando sovrascriverà i vecchi files.


Se finora non abbiamo ricevuto messaggi d'errore, vuol dire che abbiamo appena finito di installare XAMPP sulla nostra macchina.
Se finora non abbiamo ricevuto messaggi d'errore, vuol dire che abbiamo appena finito di installare XAMPP sulla nostra macchina.
Riga 34: Riga 34:
=Aggiornamento=
=Aggiornamento=
=Avvio di XAMPP=
=Avvio di XAMPP=
L'avvio di XAMPP semplice come la sua installazione. Infatti basta digitare da root shell:
L'avvio di XAMPP è semplice come la sua installazione. Infatti basta digitare da root shell:
<pre># /opt/lampp/lampp start</pre>
<pre># /opt/lampp/lampp start</pre>
e attendere un output simile a questo:
e attendere un output simile a questo:
Riga 41: Riga 41:
LAMPP: Starting MySQL...
LAMPP: Starting MySQL...
LAMPP started.</pre>
LAMPP started.</pre>
A questo punto il server web avviato.
A questo punto il server web è avviato.


Fino alla versione 0.9.4 il comando ''/opt/lampp/lampp start'' poteva semplicemente avviare o fermare XAMPP. Dalla versione 0.9.5 sono stati aggiunti numerosi '''comandi di controllo'''.
Fino alla versione 0.9.4 il comando ''/opt/lampp/lampp start'' poteva semplicemente avviare o fermare XAMPP. Dalla versione 0.9.5 sono stati aggiunti numerosi '''comandi di controllo'''.
Riga 177: Riga 177:
<pre># /opt/lampp/lampp startssl</pre>
<pre># /opt/lampp/lampp startssl</pre>


{{Warningbox| dalla versione 1.4.7, in XAMPP stata affiancata, alla versione 4.3.x di PHP, la versione 5. In caso di problemi di '''compatibilit� con la versione 5''', possibile selezionare quale versione caricare all'avvio dei servers, semplicemente digitando:
{{Warningbox| dalla versione 1.4.7, in XAMPP è stata affiancata, alla versione 4.3.x di PHP, la versione 5. In caso di problemi di '''compatibilità con la versione 5''', è possibile selezionare quale versione caricare all'avvio dei servers, semplicemente digitando:
<pre># /opt/lampp/lampp php4</pre>
<pre># /opt/lampp/lampp php4</pre>
per la versione 4.3.x, oppure digitando:
per la versione 4.3.x, oppure digitando:
<pre># /opt/lampp/lampp php5</pre>
<pre># /opt/lampp/lampp php5</pre>
per la versione 5.
per la versione 5.
Inoltre possibile verificare quale versione di PHP sia attiva, con il seguente comando:
Inoltre è possibile verificare quale versione di PHP sia attiva, con il seguente comando:
<pre># /opt/lampp/lampp phpstatus</pre>
<pre># /opt/lampp/lampp phpstatus</pre>
'''Appena installato, XAMPP si avvia di default con PHP 5 e Apache con supporto SSL'''}}
'''Appena installato, XAMPP si avvia di default con PHP 5 e Apache con supporto SSL'''}}
Riga 190: Riga 190:
=Configurazione=
=Configurazione=
==Primo avvio==
==Primo avvio==
Dopo aver installato il nostro XAMPP, non ci resta che configurarlo secondo le nostre esigenze. Per fare questo, apriamo il nostro '''browser''' preferito e inseriamo l'URL ''http://localhost''. Ci apparir� la schermata iniziale dove potremo scegliere la '''lingua del pannello di controllo''': clicchiamo, quindi, su ''Italiano''.
Dopo aver installato il nostro XAMPP, non ci resta che configurarlo secondo le nostre esigenze. Per fare questo, apriamo il nostro '''browser''' preferito e inseriamo l'URL ''http://localhost''. Ci apparirà la schermata iniziale dove potremo scegliere la '''lingua del pannello di controllo''': clicchiamo, quindi, su ''Italiano''.
La struttura del pannello di controllo molto intuitiva, con i vari men� sulla sinistra e la pagina di modifica centrale.
La struttura del pannello di controllo è molto intuitiva, con i vari menù sulla sinistra e la pagina di modifica centrale.


===Men� XAMPP===
===Menù XAMPP===
* Stato
* Stato
:Come indica il nome, qui potremo vedere lo '''stato di attivazione''' dei nostri servizi.
:Come indica il nome, qui potremo vedere lo '''stato di attivazione''' dei nostri servizi.
* Sicurezza
* Sicurezza
:Qui possibile monitorare a grandi linee lo '''stato di sicurezza''' di XAMPP.<br>
:Qui è possibile monitorare a grandi linee lo '''stato di sicurezza''' di XAMPP.<br>
:Al '''primo avvio di XAMPP''' vedremo che i nostri servizi sono configurati in maniera alquanto �aperta� (tutte le voci dovrebbero risultare ''insicure'', questo sempre dovuto al fatto che XAMPP stato pensato per un ambiente di sviluppo).<br>
:Al '''primo avvio di XAMPP''' vedremo che i nostri servizi sono configurati in maniera alquanto “aperta” (tutte le voci dovrebbero risultare ''insicure'', questo sempre dovuto al fatto che XAMPP è stato pensato per un ambiente di sviluppo).<br>
:A questo punto, come la stessa pagina ci suggerisce, eseguiamo un programma che effettua una serie di piccole verifiche di sicurezza. Digitiamo da root shell:
:A questo punto, come la stessa pagina ci suggerisce, eseguiamo un programma che effettua una serie di piccole verifiche di sicurezza. Digitiamo da root shell:
<pre># /opt/lampp/lampp security</pre>
<pre># /opt/lampp/lampp security</pre>
:l'output il seguente:
:l'output è il seguente:
<pre>XAMPP: Quick security check...
<pre>XAMPP: Quick security check...
XAMPP: Your XAMPP pages are NOT secured by a password.
XAMPP: Your XAMPP pages are NOT secured by a password.
Riga 207: Riga 207:
:digitiamo ''yes'' e, quando richiesto, inseriamo la password (2 volte):
:digitiamo ''yes'' e, quando richiesto, inseriamo la password (2 volte):
<pre>XAMPP: Password protection active. Please use 'lampp' as user name!</pre>
<pre>XAMPP: Password protection active. Please use 'lampp' as user name!</pre>
:Da adesso, per poter accedere via web alla pagina di configurazione di XAMPP dovremo autenticarci con l'username �lampp� e la nostra password.
:Da adesso, per poter accedere via web alla pagina di configurazione di XAMPP dovremo autenticarci con l'username “lampp” e la nostra password.
<pre>XAMPP: MySQL is accessable via network.
<pre>XAMPP: MySQL is accessable via network.
XAMPP: Normally that's not raccomended. Do you want to turn it off? [yes]</pre>
XAMPP: Normally that's not raccomended. Do you want to turn it off? [yes]</pre>
:digitiamo ''yes'' per impedire che MySQL ascolti sulla nostra connessione internet.<br>
:digitiamo ''yes'' per impedire che MySQL ascolti sulla nostra connessione internet.<br>
:Verr� riavviato MySQL.
:Verrà riavviato MySQL.
<pre>XAMPP: The MySQL/phpMyAdmin user pma has no password set!!!
<pre>XAMPP: The MySQL/phpMyAdmin user pma has no password set!!!
XAMPP: Do you want to set a password? [yes]</pre>
XAMPP: Do you want to set a password? [yes]</pre>
Riga 217: Riga 217:
<pre>XAMPP: MySQL has no root password set!!!
<pre>XAMPP: MySQL has no root password set!!!
XAMPP: Do you want to set password? [yes]</pre>
XAMPP: Do you want to set password? [yes]</pre>
:Ora dobbiamo inserire la password di root per MySQL (che naturalmente la stessa di phpMyAdmin).
:Ora dobbiamo inserire la password di root per MySQL (che naturalmente è la stessa di phpMyAdmin).
<pre>XAMPP: The FTP password is still set to 'lampp'.
<pre>XAMPP: The FTP password is still set to 'lampp'.
XAMPP: Do you want to change the password? [yes]</pre>
XAMPP: Do you want to change the password? [yes]</pre>
:Adesso impostiamo la password per l'accesso FTP al nostro server.
:Adesso impostiamo la password per l'accesso FTP al nostro server.
:Verr� riavviato il demone ProFTPD.
:Verrà riavviato il demone ProFTPD.


:A questo punto possiamo verificare se la sicurezza del nostro XAMPP aumentata. Torniamo con il browser su ''http://localhost'': se tutto stato fatto regolarmente, ci verranno chiesti username e password per accedere al pannello di controllo di XAMPP (ricordiamoci che l'username � �lampp�).<br>
:A questo punto possiamo verificare se la sicurezza del nostro XAMPP è aumentata. Torniamo con il browser su ''http://localhost'': se tutto è stato fatto regolarmente, ci verranno chiesti username e password per accedere al pannello di controllo di XAMPP (ricordiamoci che l'username è “lampp”).<br>
:Logghiamoci nel pannello di controllo e torniamo a dove eravamo rimasti, cio� la finestra di ''Sicurezza'': se tutte le voci saranno �sicure�, allora vuol dire che abbiamo reso pi� sicuro il nostro XAMPP.
:Logghiamoci nel pannello di controllo e torniamo a dove eravamo rimasti, cioè la finestra di ''Sicurezza'': se tutte le voci saranno “sicure”, allora vuol dire che abbiamo reso più sicuro il nostro XAMPP.


{{ Warningbox | ovviamente questa procedura serve solo a dare un '''livello minimo di sicurezza''' a XAMPP.}}
{{ Warningbox | ovviamente questa procedura serve solo a dare un '''livello minimo di sicurezza''' a XAMPP.}}


===Men� Demo===
===Menù Demo===
Nella sezione ''Demo'', possibile trovare una serie di script che dimostrano il funzionamento di XAMPP: tralasciando le altre voci, il modo pi� semplice e intuitivo per verificare se sono correttamente configurati i moduli per la '''gestione delle immagini''' del nostro futuro sito cliccare su ''Grafica Istantanea'' (nel campo di testo, digitiamo quello che vogliamo, poi clicchiamo su OK: il risultato dovrebbe essere un'immagine con la nostra scritta) e su Grafica Flash (stesso procedimento di prima, ma in questo caso verifichiamo il funzionamento di '''MING''', che serve per produrre documenti flash).<br>
Nella sezione ''Demo'', è possibile trovare una serie di script che dimostrano il funzionamento di XAMPP: tralasciando le altre voci, il modo più semplice e intuitivo per verificare se sono correttamente configurati i moduli per la '''gestione delle immagini''' del nostro futuro sito è cliccare su ''Grafica Istantanea'' (nel campo di testo, digitiamo quello che vogliamo, poi clicchiamo su OK: il risultato dovrebbe essere un'immagine con la nostra scritta) e su Grafica Flash (stesso procedimento di prima, ma in questo caso verifichiamo il funzionamento di '''MING''', che serve per produrre documenti flash).<br>


Cliccando sulla voce ''phpinfo()'' possiamo leggere le informazioni circa lo stato del nostro parser PHP (per esempio per verificare se in esecuzione PHP5 o PHP4). Potremo vedere anche le informazioni riguardanti gli altri componenti del nostro XAMPP, come p.e. Apache2, MySQL, ecc.
Cliccando sulla voce ''phpinfo()'' possiamo leggere le informazioni circa lo stato del nostro parser PHP (per esempio per verificare se è in esecuzione PHP5 o PHP4). Potremo vedere anche le informazioni riguardanti gli altri componenti del nostro XAMPP, come p.e. Apache2, MySQL, ecc.


===Men� Strumenti===
===Menù Strumenti===
Cliccando su ''phpMyAdmin'', abbiamo accesso all'interfaccia web che ci permette di '''gestire i nostri database''' MySQL (argomento che esula dagli scopi di questa guida).<br>
Cliccando su ''phpMyAdmin'', abbiamo accesso all'interfaccia web che ci permette di '''gestire i nostri database''' MySQL.<br>
In questa sede importante sapere che per accedere a phpMyAdmin possiamo usare l'utente �root� (con la password che abbiamo impostato in precedenza) o l'utente generico �pma� (anche questo ha associata la password che abbiamo impostato in precedenza): quest'ultimo ha limitazioni che gli permettono esclusivamente di leggere e usare il contenuto delle tabelle dei database, ma non di crearle n� modificarle.
In questa sede è importante sapere che per accedere a phpMyAdmin possiamo usare l'utente “root” (con la password che abbiamo impostato in precedenza) o l'utente generico “pma” (anche questo ha associata la password che abbiamo impostato in precedenza): quest'ultimo ha limitazioni che gli permettono esclusivamente di leggere e usare il contenuto delle tabelle dei database, ma non di crearle modificarle.


Cliccando su ''Webalizer'' possiamo accedere ad un tool che ci permette di monitorare vari parametri del nostro webserver.
Cliccando su ''Webalizer'' possiamo accedere ad un tool che ci permette di monitorare vari parametri del nostro webserver.
Riga 312: Riga 312:


=Disinstallazione=
=Disinstallazione=
Disinstallare XAMPP semplice come installarlo. L'unica accortezza da prendere quella di fermarlo prima:
Disinstallare XAMPP è semplice come installarlo. L'unica accortezza da prendere è quella di fermarlo prima:
<pre># /opt/lampp/lampp stop</pre>
<pre># /opt/lampp/lampp stop</pre>
e attendere un output simile a questo:
e attendere un output simile a questo:
56

contributi