XAMPP: Linux, Apache, MySQL e PHP facili

Debian-swirl.png Versioni Compatibili

Debian 7 "wheezy"
Debian 8 "jessie"
Debian 9 "stretch"

Cos'è XAMPP

XAMPP (un tempo denominato LAMPP) è un insieme di programmi utili per la creazione di un server web. Integra diversi strumenti tra i quali Apache, MariaDB, PHP, Perl, permettendo 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 chiunque conosca l'IP della macchina.
  • L'amministratore root di MySQL/MariaDB non ha password e qualsiasi utente locale può accedervi con diritti amministrativi.
  • PhpMyAdmin non ha password.
  • Il demone MySQL/MariaDB è accessibile in rete.
  • ProFTPD, utilizza l'utente "daemon", la password "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.


  ATTENZIONE
Per impostazione predefinita sia la procedura di installazione che il successivo utilizzo di XAMPP richiedono privilegi di amministrazione


Installazione

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

Quanto seguirà, verrà eseguito all'interno della directory ove si è scaricato il pacchetto. Per tale motivo verrà utilizzato il percorso relativo e non assoluto.

Accedere alla directory contenente il file salvato (esempio cartella Scaricati).

$ cd Scaricati

Cambiare i permessi di esecuzione.

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

Nel caso che nella medesima directory siano presenti più versioni del programma, specificare per intero il nome, includendo anche la versione. Esempio

$ chmod 755 xampp-linux-5.6.21-0-installer.run

Per impostazione predefinita i pacchetti utilizzano l'interfaccia QT. È possibile personalizzare le modalità di installazione a seconda delle proprie esigenze. Per visualizzare le opzioni disponibili:

$ ./xampp-linux-*-installer.run --help


  Nota
In questa guida si utilizzerà l'interfaccia GTK e la traduzione italiana dove presente.


Accedere come utente root e avviare l'installazione grafica con procedura guidata. In caso di problemi consultare queste FAQ

# ./xampp-linux-*-installer.run --mode gtk --installer-language it

Seguire le indicazioni a video. Terminata la procedura di installazione, scegliendo di avviare immediatamente XAMPP, si aprirà automaticamente il browser predefinito dell'utente root e si avvierà anche il manager-linux.run, strumento grafico per gestire facilmente server e servizi.


Nota Il database MySQL risulterà disattivato e sarà necessario avviarlo.


Utilizzo

Avvio e gestione

Nella directory principale in /opt/lampp/ sono presenti:

  • manager-linux.run (o manager-linux-x64.run) gestore con interfaccia grafica. Per avviarlo:
    # /opt/lampp/manager-linux.run
  • xampp e lampp sono gli script per gestire i servizi da terminale e funzionano in egual modo. Per un elenco completo richiamare lo script con l'opzione --help, esempio
    # /opt/lampp/xampp --help

Comandi principali:

Comando Descrizione
start Avvia tutti i servizi.
stop Ferma tutti i servizi.
reload Rilettura dei file di configurazione.
restart Ferma e riavvia tutti i servizi.
security Controllo ed eventuale messa in sicurezza dei moduli.
enablessl Abilita il supporto SSL per Apache.
disablessl Disabilita il supporto SSL per Apache.
backup Backup della propria configurazione XAMPP, log e dati.
Singoli servizi alcuni esempi
startapache Avvia solo il web server Apache
startmysql Avvia solo MySQL
startftp Avvia il server ProFTPD.
Esempio: avviare Apache:
# /opt/lampp/xampp startapache


  • ctlscript.sh altro script. 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:
# /opt/lampp/ctlscript.sh restart apache


Pagina iniziale e menù

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

In alto a destra è presente un menu orizzontale:

Applications
Contiene l'elenco degli eventuali moduli Bitnami installati. Ogni modulo (CMS, forum, Blog, ecc...) è raggiungibile direttamente da questa pagina.
FAQs
Pagina contenente le risposte alle domande più comuni sull'installazione e utilizzo di XAMPP.
HOW-TO Guides
Serie di tutorial riguardanti specifici argomenti quali backup e restore di un database, configurazione di un virtual host e molto altro.
PHPinfo
Permette di visualizzare la versione e la configurazione del parser PHP e ottenere informazioni su Apache2, MySQL, ecc.
phpMyAdmin
Interfaccia web per gestire i database MySQL/MariaDB.


Messa in sicurezza

Al primo avvio i vari moduli di XAMPP sono configurati in maniera alquanto “aperta” e vulnerabili. Per ovviare in parte a questo, eseguire da terminale il seguente comando:

# /opt/lampp/lampp security

Inizierà il controllo

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

digitare "y" e, quando richiesto, inserire la password (due volte per conferma).

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

Il nome utente è xampp. In locale non verranno richiesti i dati di login 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]

digitare "y" per impedire che il demone MySQL resti accessibile in 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 "y" 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 "y" e inserire per due volte la password prescelta.


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

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


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.


Strumenti

phpMyAdmin

Interfaccia web per gestire i database.

Al termine della procedura di installazione se si è scelto di avviare immediatamente XAMPP, il database MySQL risulterà disattivato e per tale motivo all'apertura di phpMyAdmin si visualizzerà il seguente errore.

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.


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... Anche questi vengono rilasciati come script eseguibili con estensione run.
Se si desidera utilizzarli, è necessario scaricare le versioni disponibili per XAMPP dai seguenti indirizzi XAMPP Add-ons o Bitnami for XAMPP

Installare un modulo

Una volta scaricato, è necessario cambiare i permessi di esecuzione, esattamente come visto all'inizio di questa guida. 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.

Come impostazione predefinita i pacchetti utilizzano l'interfaccia QT ed è possibile personalizzare le modalità di installazione. Per visualizzare le opzioni disponibili:

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

Da terminale per avviare l'installazione, digitare :

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

La procedura in alcuni punti può differenziarsi, dipende dal modulo.

Supponendo di installare il modulo per Drupal, bisognerà:

  1. Selezionare la lingua (manca la traduzione italiana).
  2. Nella finestra di benvenuto, proseguire.
  3. Selezionare il percorso di installazione, ossia la cartella dove è installato XAMPP: /opt/lamp.
  4. Creare l'account admin per Drupal (in questo caso sono richieste solo le password):
    • 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 con possibilità anche di configurare un account gmail o uno personale.
  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.

    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 Drupal Module" e cliccare su Finish. Nel primo caso, lasciandola si aprirà il browser predefinito dell'utente root. Nel secondo caso bisognerà aprire il browser (può essere quello dell'utente normale) all'indirizzo http://localhost/drupal/ .


  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, non verrà più posta la scelta del tipo di installazione (Installation Type) perchè sarà utilizzata automaticamente la configurazione selezionata 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 voce installtype. Nell'esempio di questa guida:

installtype=development

Volendo questa scelta può essere anche impostata personalizzando l'installazione del modulo.

Accedere alla pagina del modulo

La pagina web di un modulo è raggiungibile dal link http://localhost/nome_modulo/.

Per accedere al sito come admin i dati da inserire per il login sono:

user nick scelto (per Drupal è predefinito: Admin)
password quella assegnata al momento dell'installazione del modulo

Percorso dei Moduli

I moduli vengono installati nella directory /opt/lampp/apps/ ognuno con una propria cartella (joomla, magento, ecc...) contenente ulteriori sottocartelle e file.
Il contenuto vero e proprio di un'applicazione è posizionato nella cartella /opt/lampp/apps/nome_modulo/htdocs/.

Disinstallare un modulo

# /opt/lampp/apps/nome_modulo/uninstall --mode gtk

Seguire le indicazioni della procedura guidata.

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

  • da terminale eliminare manualmente la cartella del modulo e il suo contenuto
# rm -r /opt/lampp/apps/nome_modulo/


Disinstallazione XAMPP

Disinstallare XAMPP è molto semplice. L'unica accortezza da prendere è quella di fermare i servizi prima di procedere con la disinstallazione.
Da terminale eseguire:

# /opt/lampp/uninstall --mode gtk




Guida scritta da: Selky 20:55, 8 ott 2014 (CEST)
(guida originariamente scritta da soter)
  Debianized 20%
Estesa da:
Verificata da:

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