XAMPP, altresì conosciuto come LAMPP, è il modo più semplice possibile per installare sul proprio sistema operativo un server web casalingo: è bene sottolineare che si sconsiglia l’utilizzo di XAMPP su grossi server di produzione a causa della semplicità (e della sicurezza relativamente scarsa) delle opzioni di default. Quindi, se siete alle prime armi, eseguite i vostri test con XAMPP sul vostro PC locale ed allenatevi a modificare manualmente i file di configurazione, prima di usare XAMPP sul vostro webserver esposto al mondo.
All’interno di XAMPP, oltre al server web Apache (con e senza supporto ad SSL), potrete trovare il dbms MySQL e la relativa interfaccia web phpmyadmin, nonché il server FTP ProFTPd.
XAMPP è un tool multipiattaforma che può essere usato sia su Windows che su Linux che su Mac, a patto – ovviamente – di avere i privilegi amministrativi sulla macchina in cui intendete installarlo. Di seguito troverete una guida che vi insegnerà ad installare XAMPP su Ubuntu 14.04 ed a creare un file .desktop per semplificare le operazioni future.
Detto ciò, procediamo!
Come installare XAMPP su Ubuntu 14.04
NB: con questo procedimento, le versioni precedenti di XAMPP – se presenti – saranno sovrascritte.
Scarichiamo, innanzitutto, l’ultima versione di XAMPP direttamente da Apachefriends. Andiamo ora a decomprimere la cartella direttamente in /opt: supponendo di aver scaricato l’installer di XAMPP nella directory ~/Scaricati, da terminale scriveremo
cd ~/Scaricati chmod +x xampp-*-installer.run sudo ./xampp-*-installer.run
Partirà una procedura guidata che vi permetterà di installare XAMPP nella directorry /opt/lampp.
Fatto ciò, per avviare XAMPP (di default verrà avviato soltanto Apache) basterà lasciare il check su “Launch Xampp” e selezionare “Finish”.
Altrimenti, se non desiderate avviare XAMPP subito, potrete farlo in seguito digitando da terminale
sudo /opt/lampp/manager-linux.run
Se avete un sistema a 32 bit, oppure
sudo /opt/lampp/manager-linux-x64.run
se avete un sistema a 64 bit. Vi si presenterà un gestionale di questo tipo:
Tramite la scheda “Welcome” sarete in grado di:
- aprire il webserver (cliccando su “Go To Application”, analogo a scrivere nel browser http://localhost/ );
- aprire la cartella di installazione di Xampp (cliccando “Open Application Folder”);
- visitare il sito “Apache Friends”;
- visualizzare un tutorial online sull’utilizzo di Xampp (“Get Started”);
Tramite la scheda “Manage Servers” (immagine in alto) sarete in grado di accendere, spegnere o configurare il server web, il server SQL o il server ProFTPD (in questo caso, solo accensione e spegnimento).
Dalla scheda “Application Log”, invece, potrete accedere ai log generati da XAMPP.
Come creare un lanciatore personalizzato per Unity
Se il semplice lanciatore relativo al gestore non vi basta ma volete un pratico launcher con tanto di quicklist per Unity che vi permetta di svolgere tramite click destro determinate operazioni, potrete costruirlo senza problemi seguendo il procedimento in basso.
In particolare, la quicklist aprire al volo le varie directory o i vari file di interesse. Per aggiungere il lanciatore procedete come segue:
- create un una cartella nascosta nella vostra home, con il comando
mkdir -p ~/.launchers
- installate gksudo, con il comando
sudo apt-get install gksu
- aprite l’editor di testo per creare il vostro lanciatore, con il comando
gedit ~/.launchers/xampp.desktop
- incollate al suo interno il seguente testo (se avete un sistema operativo a 32 bit):
[Desktop Entry] Name=Pannello di controllo XAMPP Comment=Apri Pannello gestionale XAMPP Keywords=xampp; Exec=gksudo /opt/lampp/manager-linux.run Icon=redhat-preferences Terminal=false Type=Application StartupNotify=true OnlyShowIn=GNOME;Unity; Categories=GNOME;GTK; Actions=Installazione;Apache;MySql;HTTPD;Conf_mysql;Conf_php;Conf_proftp;Conf_phpmyadmin;Security X-Unity-IconBackgroundColor=#af4853 [Desktop Action Installazione] Name=Apri cartella installazione XAMPP Exec=gksudo xdg-open /opt/lampp/bin OnlyShowIn=Unity; [Desktop Action Apache] Name=Apri cartella progetti web Exec=gksudo xdg-open /opt/lampp/htdocs OnlyShowIn=Unity; [Desktop Action MySql] Name=Apri cartella MySQL Exec=gksudo xdg-open /opt/lampp/bin/mysql OnlyShowIn=Unity; [Desktop Action HTTPD] Name=Apri file di configurazione di Apache Exec=gksudo xdg-open /opt/lampp/etc/httpd.conf OnlyShowIn=Unity; [Desktop Action Conf_mysql] Name=Apri file di configurazione di MySql Exec=gksudo xdg-open /opt/lampp/etc/my.cnf OnlyShowIn=Unity; [Desktop Action Conf_php] Name=Apri file di configurazione di Php Exec=gksudo xdg-open /opt/lampp/etc/php.ini OnlyShowIn=Unity; [Desktop Action Conf_proftp] Name=Apri file di configurazione di ProFTP Exec=gksudo xdg-open /opt/lampp/etc/proftpd.conf OnlyShowIn=Unity; [Desktop Action Conf_phpmyadmin] Name=Apri file di configurazione di PhpMyAdmin Exec=gksudo xdg-open /opt/lampp/phpmyadmin/config.inc.php OnlyShowIn=Unity; [Desktop Action Security] Name=Configura i parametri di sicurezza per XAMPP Exec=xterm -e sudo /opt/lampp/lampp security OnlyShowIn=Unity;
o il seguente testo (se avete un sistema operativo a 64 bit):
[Desktop Entry] Name=Pannello di controllo XAMPP Comment=Apri Pannello gestionale XAMPP Keywords=xampp; Exec=gksudo /opt/lampp/manager-linux-x64.run Icon=redhat-preferences Terminal=false Type=Application StartupNotify=true OnlyShowIn=GNOME;Unity; Categories=GNOME;GTK; Actions=Installazione;Apache;MySql;HTTPD;Conf_mysql;Conf_php;Conf_proftp;Conf_phpmyadmin;Security X-Unity-IconBackgroundColor=#af4853 [Desktop Action Installazione] Name=Apri cartella installazione XAMPP Exec=gksudo xdg-open /opt/lampp/bin OnlyShowIn=Unity; [Desktop Action Apache] Name=Apri cartella progetti web Exec=gksudo xdg-open /opt/lampp/htdocs OnlyShowIn=Unity; [Desktop Action MySql] Name=Apri cartella MySQL Exec=gksudo xdg-open /opt/lampp/bin/mysql OnlyShowIn=Unity; [Desktop Action HTTPD] Name=Apri file di configurazione di Apache Exec=gksudo xdg-open /opt/lampp/etc/httpd.conf OnlyShowIn=Unity; [Desktop Action Conf_mysql] Name=Apri file di configurazione di MySql Exec=gksudo xdg-open /opt/lampp/etc/my.cnf OnlyShowIn=Unity; [Desktop Action Conf_php] Name=Apri file di configurazione di Php Exec=gksudo xdg-open /opt/lampp/etc/php.ini OnlyShowIn=Unity; [Desktop Action Conf_proftp] Name=Apri file di configurazione di ProFTP Exec=gksudo xdg-open /opt/lampp/etc/proftpd.conf OnlyShowIn=Unity; [Desktop Action Conf_phpmyadmin] Name=Apri file di configurazione di PhpMyAdmin Exec=gksudo xdg-open /opt/lampp/phpmyadmin/config.inc.php OnlyShowIn=Unity; [Desktop Action Security] Name=Configura i parametri di sicurezza per XAMPP Exec=xterm -e sudo /opt/lampp/lampp security OnlyShowIn=Unity;
- salvate il file e chiudete gedit;
- aprite il vostro gestore file nella directory appena creata, con il comando
nautilus ~/.launchers
- trascinate il file xampp.desktop sul launcher di Unity per aggiungerlo.
Il risultato sarà il seguente:
XAMPP e la sicurezza di default
Detto ciò, è il momento di parlare un po’ di sicurezza: come vi dicevo, XAMPP è un tool pensato per rendere semplice l’installazione di un webserver al fine di effettuare il deploy di applicazioni home-made, più che altro a fini di testing, per cui è – almeno di default – un po’ carente in ambito di sicurezza.
In particolare, in un’installazione di base di XAMPP succede questo:
- l’utente amministratore di MySQL (root) non ha una password;
- il demone MySQL è accessibile da remoto;
- ProFTPD utilizza la password “lampp” per l’utente “nobody”;
- PhpMyAdmin è accessibile da remoto;
- gli esempi sono accessibili da remoto;
- MySQL e Apache vengono eseguiti utilizzando i permessi dello stesso utente di sistema (nobody).
Per porre rimedio a questi problemi è consigliabile avviare XAMPP, digitare a terminale
sudo /opt/lampp/lampp security
e seguire attentamente le istruzioni, oppure fare click destro sull’icona del launcher creata in precedenza, e selezionare “Configura i parametri di sicurezza per XAMPP”.
Per completezza, vi segnalo i vari files e le varie directory di interesse:
- /opt/lampp/bin/: cartella di installazione di XAMPP;
- /opt/lampp/bin/mysql: cartella per il monitoraggio MySQL;
- /opt/lampp/htdocs/: Apache: cartella radice del server web;
- /opt/lampp/etc/httpd.conf: file di configurazione di apache;
- /opt/lampp/etc/my.cnf: file di configurazione di MySQL.
- /opt/lampp/etc/php.ini: file di configurazione di PHP.
- /opt/lampp/etc/proftpd.conf: file di configurazione ProFTP.
- /opt/lampp/phpmyadmin/config.inc.php: file di configurazione di phpMyAdmin
e i vari parametri da terminale per la gestione di XAMPP (che dovranno essere preceduti da sudo /opt/lampp/lampp
):
- start: avvia il servizio;
- stop : arresta il servizio;
- restart: arresta e riavvia il servizio;
- startapache: avvia solo apache;
- tartssl: avvia apache con il supporto SSL. Questo comando attiva il supporto SSL permanentemente, quindi al prossimo avvio di XAMPP, sarà attivo;
- startmysql: avvia solo il database;
- startftp: avvia il server ProFTP. Attraverso tale servizio sarà possibile caricare file nel server web (nome utente «nobody», password «lampp»). Tale comando attiva il supporto FTP in modo permanente, quindi al prossimo avvio di XAMPP, sarà attivo;
- stopftp: arresta il server ProFTP. Questo comando disattiva il supporto FTP permanentemente, quindi al prossimo avvio di XAMPP, tale servizio non sarà attivo;
- stopapache: arresta Apache;
- stopssl: disattiva il supporto SSL per Apache. Al prossimo avvio, il supporto per SSL non sarà attivo;
- stopmysql: arresta il servizio MySQL;
- security: avvia un semplice programma per il controllo e la configurazione dei parametri di sicurezza.
E’ tutto.