XAMPP: Linux, Apache, MySQL e PHP facili

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian

Cos'è XAMPP

XAMPP (un tempo denominato LAMPP) è un insieme di programmi utili per la creazione di un server web. Integra, infatti, Apache, MySQL, PHP, Perl e molti altri strumenti, permettendo così di creare in modo facile e veloce, un serverino web che possa contenere il proprio sito.

XAMPP è concepito per ambienti di sviluppo e non di produzione. Per tale motivo potrebbe rilevarsi fatale. Dalla versione 1.7.1 è stato introdotto un nuovo concetto di sicurezza: tutte le pagina relative a XAMPP e phpMyAdmin sono accessibili solo in locale.
Resta il fatto che al termine dell'installazione:

  • Le pagine di XAMPP non sono protette da password e sono accessibili da chiuque conosca l'IP della macchina.
  • L'amministratore root di MySQL non ha password e qualsiasi utente locale può accedervi con diritti amministrativi.
  • PhpMyAdmin non ha password.
  • Il demone MySQL è accessibile via rete.
  • ProFTPD, a seconda della versione installata, utilizza l'utente "nobody" o "daemon", la password "lampp" o "xampp" e chiunque può accedervi.

Per questi motivi è necessario procedere con la messa in sicurezza come spiegato più avanti in questa stessa guida.

La configurazione manuale dei vari strumenti (Apache, MySQL, PHP, ecc...) non verrà trattata in questa guida, per approfondimenti leggere le guide presenti nella sezione Networking, in particolare Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5.


Warning.png ATTENZIONE
Per impostazione predefinita sia la procedura di installazione che il successivo utilizzo di XAMPP richiedono privilegi di amministratore


Vecchie versioni

Fino a qualche tempo fa XAMPP per Linux veniva rilasciato come archivio tar.gz solo per architetture a 32 bit. L'ultima versione è del 2012 xampp-linux-1.8.1.tar.gz.

Alcuni componenti della versione 1.8.1

  • Apache 2.4.3
  • MySQL 5.5.27
  • PHP 5.4.7
  • Perl 5.14.2
  • ProFTPD 1.3.4a
  • phpMyAdmin 3.5.2.2
  • OpenSSL 1.0.1c

Installazione archivio tar.gz

Dopo aver scaricato il pacchetto, spostarsi nella directory dove lo si è salvato (esempio cartella Scaricati).

$ cd Scaricati

Accedere come utente root ed estrarre l'archivio nella cartella /opt.

# tar xvfz xampp-linux-1.8.1.tar.gz -C /opt

Il pacchetto verrà installato nella direcotry /opt/lampp.

Se sul sistema è già installata una vecchia versione di XAMPP, questo operazione sovrascriverà i vecchi file.

Info.png Nota bene
XAMPP specifica 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 impedirne la corretta installazione.


Avvio e gestione

Per avviare XAMPP digitare nel terminale il seguente comando:

# /opt/lampp/lampp start

L'output sarà:

Starting XAMPP for Linux 1.8.1...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for Linux started.

A questo punto il server web è avviato.

  • Aprire il browser all'indirizzo http://localhost
  • Per gestire i servizi è necessario utilizzare determinati comandi.
Comando Descrizione
start Avvia tutti i servizi.
stop Ferma tutti i servizi.
restart Ferma e riavvia tutti i servizi.
startapache Avvia solo il web server Apache
startssl Avvia il web server Apache con il supporto SSL.

Questo comando attiva il supporto SSL permanentemente. Se si riavvia XAMPP dopo questo comando, Apache partirà sempre con il supporto SSL.

startmysql Avvia solo MySQL
startftp Avvia il server ProFTPD.

I parametri standard di connessione via FTP sono: user "nobody" e password "lampp". Questo comando attiva ProFTPD permanentemente. Se si riavvia XAMPP dopo questo comando, si avvierà sempre anche ProFTPD.

stopapache Ferma il web server Apache.
stopssl Ferma il web server Apache con il supporto SSL.

Questo comando disattiva il supporto SSL permanentemente. Se si riavvia XAMPP dopo questo comando, Apache partirà sempre senza il supporto SSL.

stopmysql Ferma MySQL.
stopftp Ferma il server ProFTPD.

Questo comando disattiva ProFTPD permanentemente. Se si riavvia XAMPP dopo questo comando, ProFTPD non si avvierà più automaticamente.

Esempio: avviare Apache con il "supporto SSL":
# /opt/lampp/lampp startssl
  • Per l'elenco completo dei comandi digitare nel terminale:
    # /opt/lampp/lampp --help


Nuove versioni

Le ultime versioni per Linux, disponibili per architetture a 32 e 64 bit, vengono rilasciate come eseguibile run. Le caratteristiche tecniche sono consultabili direttamente alla pagina XAMPP download

Installazione eseguibile run

Dopo aver scaricato il pacchetto, spostarsi nella directory dove lo si è salvato (esempio cartella Scaricati).

$ cd Scaricati

Cambiare i permessi per poter eseguire il file.

$ chmod 755 xampp-linux-versione_applicazione-installer.run

Accedere come utente root e avviare l'installazione grafica con procedura guidata.

# ./xampp-linux-versione_applicazione-installer.run


È possibile personalizzare le modalità di installazione a seconda delle proprie esigenze. Per visualizzare le opzioni disponibili:

# ./xampp-linux-versione_applicazione-installer.run --help


Terminata la procedura di installazione si può scegliere di avviare immediatamente XAMPP. In questo caso si aprirà automaticamente il browser di default dell'utente root e si avvierà anche manager-linux.run il gestore ad interfaccia grafica dei servizi e non solo.

Xampp manager01.png


Avvio e gestione

Nella directory principale sono presenti due file:

  • manager-linux.run (o manager-linux-x64.run) gestore con interfaccia grafica. Per avviarlo:
# ./manager-linux.run
  • ctlscript.sh uno script per l'utilizzo da riga d comando.

Le opzioni di quest'ultimo sono:

Comando Descrizione
start avvia il servizio/i servizi
stop ferma il servizio/i servizi
restart riavvia o avvia il servizio/i servizi
status visualizza lo stato del servizio/dei servizi

Esempio per riavviare il web server Apache:

# ./ctlscript.sh restart apache

Pagina iniziale e menù

La schermata iniziale è raggiungibile dal link http://127.0.0.1/ o http://localhost/

Solo la prima volta è necessario selezionare la lingua da utilizzare. Effettuata la scelta, si aprirà la seguente pagina:

Pagina demo01.png

La struttura è molto intuitiva: nella colonna di sinistra sono presenti varie voci di menù, mentre nella colonna di destra i relativi contenuti.

Stato

Permette di verificare lo stato di attivazione dei servizi.

Nuova versione:: se al termine della procedura di installazione si è scelto di avviare immediatamente XAMPP, il database MySQL risulterà disattivato e sarà necessario avviarlo.

Xampp control 01.png

Sicurezza

Da questa pagina è possibile monitorare lo stato di sicurezza di XAMPP.
Al primo avvio di XAMPP i vari moduli sono configurati in maniera alquanto “aperta” e vulnerabili.

Xampp control 02.png

Messa in sicurezza

Come suggerito nella stessa pagina, procedere con la messa in sicurezza dei moduli.
Da terminale digitare il comando:

# /opt/lampp/lampp security
Info.png Nota
Le password, dove richieste, dovranno essere inserite per sicurezza due volte.
A volte l'output generato sarà differente tra la vecchia e la nuova versione esaminate in questa guida.


  • Password pagina XAMPP
XAMPP:  Quick security check...
XAMPP:  Your XAMPP pages are NOT secured by a password.
XAMPP: Do you want to set a password? [yes] yes

digitare "yes" e, quando richiesto, inserire la password (due volte) e attendere conferma.

XAMPP: Password protection active. Please use 'lampp' as user name!

Vecchia versione: il nome utente è lampp. Quest'ultimo e la password appena scelta saranno necessari per effettuare l'accesso alla pagina di configurazione di XAMPP.

XAMPP:  Password protection active. Please use 'xampp' as user name!

Nuova versione: il nome utente è xampp. In locale non verranno richiesti i dati di login per accedere alla pagina di configurazione di XAMPP.


  • Proteggere MySQL in rete
XAMPP: MySQL is accessable via network.
XAMPP: Normally that's not raccomended. Do you want to turn it off? [yes]

Vecchia versione: non viene richiesto.
Nuova versione: digitare "yes" per impedire che il demone MySQL resti accessibile via rete.


  • Password MySQL e phpMyAdmin per l'utente generico
XAMPP:  The MySQL/phpMyAdmin user pma has no password set!!!
XAMPP: Do you want to set a password? [yes]]

Verrà chiesto se configurare o meno una password per l'utente generico pma (con poteri limitati all'accesso del database) per MySQL e phpMyAdmin.
Digitare "yes" e inserire per due volte la password prescelta.


  • Password MySQL e phpMyAdmin per l'utente root
XAMPP:  MySQL has no root passwort set!!!
XAMPP: Do you want to set a password? [yes]

Verrà chiesto se configurare o meno una password per l'utente root per MySQL (che naturalmente sarà la stessa di phpMyAdmin).
Digitare "yes" e inserire per due volte la password prescelta. Questa è fondamentale per l'utilizzo di XAMPP.


  • Password server FTP
XAMPP: The FTP password is still set to 'lampp'.
XAMPP: Do you want to change the password? [yes]

Vecchia versione: apparirà l'avviso che la password di default è 'lampp'.
Impostare una nuova password per l'accesso FTP al server.

XAMPP:  The FTP password for user 'daemon' is still set to 'xampp'.
XAMPP: Do you want to change the password? [yes]

Nuova versione: apparirà l'avviso che di default l'utente è daemon e l'attuale password xampp.
Impostare una nuova password per l'accesso FTP al server.

A questo punto verificare lo stato di sicurezza di XAMPP, aprendo il browser all'indirizzo http://localhost/, voce di menu Sicurezza.

Application

Contiene l'elenco dei moduli installati di Bitnami. Ogni modulo (CMS, forum, Blog, ecc...) è raggiungibile direttamente da questa pagina cliccando sulla voce "Access".

Dimostrazioni

Questo menu contiene una serie di esempi sul funzionamento di XAMPP. Due di queste demo presentano problemi.
La prima "Collezione CD" una volta effettuata la messa in sicurezza dei moduli non sarà più in grado di comunicare con MySQL info.
La seconda "Rubrica telefonica" nonostante sia ormai obsoleta viene ancora integrata info.

  • Instant Art (Grafica Istantanea): un esempio interessante per verificare la corretta configurazione dei moduli per la gestione delle immagini del futuro sito che si desidera sviluppare.
    Inserire del testo nel relativo campo e cliccare su OK: il risultato dovrebbe essere un'immagine riportante il testo inserito.
  • phpinfo(): permette di visualizzare la versione e la configurazione del parser PHP e ottenere informazioni su Apache2, MySQL, ecc.

Strumenti

  • phpMyAdmin: interfaccia web per gestire i database MySQL.
    A seconda delle versionidi XAMPP, possono verificarsi degli errori.
Vecchie versioni: Questo errore si verifica quando non si è proceduto con la messa in sicurezza di XAMPP.
Stato-phpmyadmin 01.png
Nuove versioni: Questo errore si verifica se al termine della procedura di installazione si è scelto di avviare immediatamente XAMPP, il database MySQL risulterà disattivato e per tale motivo all'apertura di phpMyAdmin si visualizzerà l'errore.
Phpmyadmin 01.png
L'indirizzo per accedere a phpMyAdmin è http://localhost/phpmyadmin/. Lo si può utilizzare o con l'utente “root” (con la password impostata in precedenza) o con l'utente generico “pma” (anche questo con la password impostata 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.


  • Webalizer: strumento per l'analisi e generazione di statistiche del webserver.


Informazioni utili

Cartelle e file importanti

Directory/File Descrizione
/opt/lampp/htdocs/ La document root di Apache.
/opt/lampp/etc/ Directory che raccoglie quasi tutti i file di configurazione di XAMPP.
/opt/lampp/etc/httpd.conf Il file di configurazione di Apache.
/opt/lampp/etc/my.cnf Il file di configurazione di MySQL.
/opt/lampp/etc/php.ini Il file di configurazione di PHP.
/opt/lampp/etc/proftpd.conf Il file di configurazione di ProFTPD.
/opt/lampp/phpmyadmin/config.inc.php Il file di configurazione di phpMyAdmin.

Avviare XAMPP all'avvio di Linux

Se si desidera far partire XAMPP all'avvio di linux basta usare questo comando:

# ln -s /opt/lampp/lampp /etc/init.d/lampp
# update-rc.d lampp start 80 2 3 4 5 . stop 30 0 1 6 .

Quando si disinstalla XAMPP, ricordarsi di cancellare anche il link simbolico appena creato.


Moduli Bitnami

Le nuove versioni di XAMPP offrono la possibilità di utilizzare i moduli di Bitnami, applicazioni preconfigurate pensate per agevolare l'utente nell'installazione di CMS, Wiki, forum, ecc... Se si desidera utilizzarli, è necessario scaricare le versioni disponibiil per XAMPP dai seguenti indirizzi XAMPP Add-ons o Bitnami for XAMPP

Installare un modulo

Una volta scaricato, è necessario cambiare i permessi del modulo per renderlo eseguibile. L'installazione standard prevede una procedura guidata, al momento la lingua italiana non è supportata.
I servizi devono essere avviati altrimenti sarà impossibile portare a termine l'operazione.

Da terminale, ricordando che prima è necessario posizionarsi nella directory dove lo si è salvato, digitare:

# ./bitnami-nome_versione-module-linux-installer.run

Supponendo di installare il modulo per Drupal, bisognerà:

  1. Selezionare la lingua (manca la traduzione italiana).
  2. Nella finestra di benevenuto, proseguire.
  3. Selezionare il percorso di installazione, ossia la cartella dove è installato XAMPP: /opt/lamp.
  4. Creare l'account admin per Drupal:
    • login: inserire un nick name per effettuare il login.
    • You real name: può essere il medesimo del login.
    • Email: si può lasciare l'esempio.
    • Password: inserire la password assegnata al database root di XAMPP.
    • Enter the application password: inserire la password per Drupal (due volte).
  5. Site Name: inserire un nome da dare al sito.
  6. Configurazione email: facoltativa.
  7. Installation Type: diversi moduli offrono la possibilità di scegliere il tipo di installazione. Solo la prima volta che si installa un modulo viene richiesto.
    Xampp-drupal 07b.png
    Per evitare problemi con permessi, configurazioni e installazioni di plugin, estensioni, ecc..., selezionare Development Settings come in figura.
  8. La scelta di aprire il link di Bitnami Cloud è facoltativa.
  9. Procedere con l'installazione di Drupal.
  10. Terminata la procedura, scegliere se lasciare o meno la spunta a "Launch Bitnami Wordpress Module" e cliccare su Finish. Nel primo caso, lasciandola si aprirà il browser di default come utente root. Nel secondo caso bisognerà aprire il browser (può essere quello dell'utente normale) all'indirizzo http://localhost/drupal/ .


Info.png Nota
Le applicazioni non contengono la lingua italiana. Questa potrà essere integrata in seguito prelevandola direttamente dai siti dei rispettivi produttori e installata secondo le normali procedure previste.


N.B. Installando eventuali altri moduli, la procedura non chiederà più quale tipo di installazione utilizzare (Installation Type) perchè sarà quello scelto durante l'installazione del primo modulo.
Per verificare quale sia l'impostazione data, aprire il file properties.ini contenuto nella directory principale /opt/lampp e controllare la configurazione di installtype. Nell'esempio di questa guida:

installtype=development

Volendo questa scelta può essere anche impostata personalizzando l'installazione del modulo. Per consultare le opzioni disponibili digitare nel terminale

# ./bitnami-nome_versione-module-linux-installer.run --help

Disinstallare un modulo

# cd /opt/lampp/apps/nome_modulo
# ./uninstall

Seguire le indicazioni della procedura guidata.

Alcune applicazioni, esempio Drupal, dopo la disinstallazione risultano ancora presenti nella cartella "apps/". Al loro interno sarà presente la sottocartella "htdocs/" contenente ad esempio i moduli installati e le traduzioni. In questo caso è necessario procedere alla rimozione manuale.

  • da terminale spostarsi nella directory apps/
# cd /opt/lampp/apps/
  • eliminare manualmente la cartella del modulo e il suo contenuto
# rm -rf nome_modulo

Disinstallazione

Disinstallare XAMPP è molto semplice. L'unica accortezza da prendere è quella di fermare i servizi prima di procedere con l'eliminazione.

Vecchia versione:

# /opt/lampp/lampp stop

Una volta fermati i servizi, procedere con la rimozione di XAMPP.

# rm -rf /opt/lampp

Nuova versione: Fermare i servizi dal manager-linux.run o da terminale tramite lo script ctlscript.sh.
Poi procedere con la disinstallazione:

# cd /opt/lampp
# ./uninstall




Guida scritta da: soter 12:53, Giu 23, 2005 (EDT) Swirl-auth20.png Debianized 20%
Estesa da:
Selky 20:55, 8 ott 2014 (CEST)
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized