You are on page 1of 7

Installare Joomla!

su Linux (Ubuntu)∗
di Salvatore Schirone
versione 2009.05

Sommario In questo piccolo tutorial viene mostrato l’instalazione in locale di joomla! in ambinente Linux. Si farà riferimento esplicito alla distribuzione Ubuntu, versione 8.10, fornendo indicazioni generali valide per ogni distribuzione.

Per prima cosa, se non si dispone già di una versione server di Linux installata, ci servono i pacchetti per Apache, PHP e MySQL. Un metodo rapido per farlo è installare XAMPP, seguendo le indicazioni ricavabili dal sito: http://www. apachefriends.org/it/xampp-linux.html. Questa soluzione però, come viene indicato anche nel sito del produttore, è da adottare solo in ambiente di sviluppo e non per la produzione, cito testualmente: XAMPP è configurato per essere il più aperto possibile e consentire allo sviluppatore di fare quello che vuole. Negli ambienti di sviluppo questo è ottimo ma in un ambiente di produzione potrebbe essere fatale. Segue l’elenco delle falle di sicurezza e l’indicazione di un comando per risolverne “la maggior parte”!? Inoltre, malgrado la dichiarata “apertura”, molti utenti hanno comunque incontrato difficoltà ad installare joomla, soprattutto per via dei permessi da attribuire alle varie cartelle del CMS. A questo punto ci siamo convinti che la soluzione migliore da adottare sia installare un completo ambiente LAMP, utilizzando i repository della nostra distribuzione. Per semplificare la procedure facciamo riferimento alla distribuzione Ubuntu, indicando, quando le cose divergessero, procedure diverse. I software da installare sono sostanzialmente tre: il web-server Apache, l’interprete PHP e il database MySQL. Possiamo usare il nostro gestore di pacchetti, sia che si tratti di rpm, in distribuzioni Red Hat e derivate, sia che si tratti di deb, Debian e simili, tra cui, appunto Ubuntu. Usando ad esempio un frontend grafico
Questo tutorial è stato sviluppato sulle indicazioni di Daniele, nikname: jepessen sul forum Ubuntu-it: http://forum.ubuntu-it.org/index.php/topic,190663.0/all.html, che si ringrazia sentitamente insieme a Lorenzo e a tutti gli amici del forum lezionionline.net. Il presente tutorial è rilasciato sotto Licenza Creative Commons: http://creativecommons.org/licenses/by/3.0/

1

per averci suggerito sul forum www.come Synaptic. questa pratica soluzione. sezione PiacereLinux. Subito dopo ci viene chiesta la nuova password di root per l’accesso al database MySQL.net. 1 2 .1 Apriamo il gestore pacchetti synaptic: Sistema -> Amministrazione -> Gestore pacchetti Synaptic Dal menu Modifica->marca i pacchetti per attività Nella finestra che ci si presenta selezioniamo LAMP.cupe. facciamo una ricerca e lasciamo al gestore stesso l’individuazione delle librerie e le dipendenze dei vari pacchetti indispensabili al corretto funzionamento dei nostri programmi. Ubuntu ci offre una scorciatoria per installare facilmente tutto l’ambiente LAMP in un paio di click. una nuova schermata ci chiederà di riperterla per confermare Si ringrazia Lorenzo.lezionionline. nickname l. Vengono installati ben 16 pacchetti.

live Ubuntu live CD ubuntu .Tutto è stato installato e configurato correttamente.desktop Mythbuntu additional roles mythbuntu . Per fare in modo che anche l’interprete PHP e il server MySQL siano a posto dobbiamo riavviare il sistema.server PostgreSQL database print .kde4 .server Mail server openssh .dvd .graphics 2 D /3 D creation and editing suite ubuntustudio .live Xubuntu live CD 3 .video Video creation and editing suite xubuntu . Se invece amiamo l’immediatezza della shell.server taskshel è un manager per meta-pacchetti.master Mythbuntu master backend mythbuntu .desktop Gobuntu desktop kubuntu .list .live Kubuntu KDE 4 live CD kubuntu .server OpenSSH server postgresql .frontend Mythbuntu frontend mythbuntu .desktop Ubuntu desktop ubuntustudio .desktop Xubuntu desktop edubuntu .desktop Ubuntu Studio desktop ubuntu .plugins LADSPA and DSSI audio plugins mythbuntu .backend .html che ci assicurata che tutto è ok.slave Mythbuntu slave backend ubuntustudio .audio .desktop . Lanciato con la seguente con l’opzione --list-tasks visualizza esattamente i vari gruppi di pacchetti elencati con synaptic: sudo tasksel -.desktop Kubuntu desktop ubuntustudio .server Edubuntu server lamp .kde4 . possiamo eseguire da linea di comando: sudo tasksel install lamp . Ora davvero è tutto pronto per installare joomla. Infatti se puntiamo il nostro browser su http://localhost/ vediamo la pagina di default.server LAMP server mail .live Ubuntu live DVD xubuntu .live Gobuntu live CD kubuntu .live Kubuntu live CD mythbuntu .server Print server samba .tasks otteniamo il seguente output: u u i u u u i i u u u u u u u u u u u u u i u u u u u u u u u u dns .backend . cioè gruppi di pacchetti per specifiche attività.audio Audio creation and editing suite edubuntu .live Edubuntu live CD gobuntu .live Mythbuntu live CD ubuntu .server DNS server edubuntu .kde Edubuntu KDE desktop edubuntu .desktop .desktop Kubuntu KDE 4 desktop kubuntu .server Samba File server ubuntustudio . presente in /var/www/index.addon Edubuntu desktop gobuntu .

In questo tutorial non ce ne occupiamo. vuol dire che è tutto a posto e possiamo anche uscire con il comando \q oppure quit: mysql > quite Bye salvatore@salvatore . sia per mantenere uno standard generale. e soprattutto poi ricordarsela.gd php5 .mod .php con il seguente script: <? php phpinfo (). che è quella per l’utente principale di mysql (l’equivalente dell’amministratore linux). Quelli da noi installati sono i soli strattamente necessari.desktop :\ $ Possiamo verificare se ci sono database già inseriti con il comando: mysql > SHOW DATABASES . Digitarne una. Per farlo puntiamo il nostro browser su localhost: http :// localhost dovremmo visualizzare il testo: It works! Che ci assicura che Apache e in ascolto.mpm .cli Il pacchetto php5-mysql.mysql libapache2 .php5 php5 . ? > puntando il browser su “http://localhost/phpinfo. alla configurazione ed amministrazione di Joomla. “information_schema”.server mysql . Questi database sono utili da esplorare per imparare come sono organizzate le tabelle. Durante l’installazione di mysql verrà chiesto di introdurre una password. un file php. preferendo utilizzare. Possiamo verificare che tutto sia in ordine lanciando il comando: mysql -u < nomeutenteScelto > -p < passwordScelta > Se riceviamo il pronpt di mysql. per gestire in modo facile e visuale i nostri database.client php5 php5 . sia per conoscere più a fondo i concetti che stanno alla base dei programmi che spesso utilizziamo in modo automatico. possiamo provare ad eseguire il nostro primo script. Potremmo trovarne qualcuno installato di default. è quello che fa da connettore fra php e mysql. ad esempio.cgi php5 .prefork mysql .php” dovremmo ottenere tutte le informazioni sulla versione e configurazione del php e di tutte le librerie installate. non strettamente necessari all’installazione.get install apache2 apache2 . invece installare i singoli pacchetti. Potremmo decidere di installare anche phpmyadmin che è un frontend in php al database. Per verificare se anche php è ok. contiene molti altri programmi accessori e utility. Creiamo nella cartella del nostro server che in Ubuntu è /var/www. Dovremmo verificare anche che i nostro server Apache sia in esecuzione e che php sia utilizzabile. digitando (tutto su una linea sola!): sudo apt . 4 .Se volessimo. quanto più possibile la linea di comando. possiamo usare il metodo tradizionale. XAMPP. ad esempio phpinfo. ad esempio.

Quando si esegue il comando chmod 777 si danno permessi a tutti ed ovviamente anche a wwwdata.Stable .data : www . può cominciare l’installare di joomla. Questo si fa con il comando chown: sudo chown -R www . invece. Infatti in questo modo chiunque abbia un minimo di accesso al server. Per saperlo date il comando: cat / etc / group Vi troveremo un gruppo utenti che potrà chiamarsi apache o. occorre semplicemente cambiare il proprietario e il gruppo di appartenenza per tutti i file. Adesso. configura un utente speciale che ha i permessi nella cartella /var/www. Questo è SBAGLIATISSIMO!!! anche se funziona. Bisogna sapere che Apache ha una particolarità.7 _ita . A questo punto. Poi si crea in /var/www una cartella d’installazione che chiamiamo semplicemente joomla: sudo mkdir / var / www / joomla Copiamoci dentro il file d’installazione che abbiamo scaricato dal sito di joomla: sudo cp Joomla_1 . anche dall’esterno.data / var / www / joomla L’utente www-data a questo punto ha tutti i permessi giusti per accedere alla cartella del server e l’installazione di joomla può procedere senza intoppi. per altre distribuzione potrebbe chiamarsi “apache” o altro. la maggior parte di quelli che installano joomla su Ubuntu fanno un bel sudo chmod -R 777 / var / www / joomla e la fanno finita lì. potrebbe prendere il controllo totale del nostro server. 5 . tgz / var / www / joomla /. Nel caso di Utuntu questo utente è wwwdata.5.7 _ita . come nel caso di Ubunbtu www-data. Quindi si scarica il pacchetto. tgz Queste operazioni le abbiamo fatte come utente root perché in quanto utente semplice non abbiamo i permessi di scrittura nella cartella /var/www.5.Stable . lo scompattiamo: cd / var / www / joomla sudo tar xvzf Joomla_1 . per questo poi funziona.Fatto questo. Per un’installazione con i permessi corretti.

Questo succede quando il server non ci permette di scrivere nella cartella. la nostra installazione dovrebbe procedere tranquillamente. perchè tale database con relativo host username e password ci vengono forniti dall’hosting. ed è anche altamente consigliato avere un utente dedicato. ma questo non è il procedimento regolare da farsi quando installiamo su server remoto . sappiamo che Joomla ci permette di avere.L’unico inconveniente che potremmo incontrare nelle fasi di installazione. Stando all’interno della nostra directory di installazione. ed andare avanti 2.* TO ’ utentejoomla ’@ ’ localhost ’ IDENTIFIED BY ’ passwordjoomla ’. in ogni tabella del database joomladatabase. Potremmo indicare il nome nello step di installazione. dovremmo creare un database. Nella prova fatta su una installazione nuova. ciò non si è verificato. Dovrebbe essere nella schermata successiva tutto positivo: potrebbe spuntare solo un NO in ’display errors’. solo ci mostrerà gli errori se qualche script fallisce. come ben documentato. Scegliere Italiano. indentificato dalla password specificata”. Accedere quindi a MySQL come amministratore da terminale: mysql -u root -p Verrà richiesta la password specificata in fase d’installazione. Per utilizzare joomla. quindi se l’utente è per esempio gianni. La riportiamo per completezza: 1. e si va nella pagina d’installazione di joomla digitando http://localhost/joomla. che possiamo copiare per crearlo manualmente. Ma se vogliamo essere davvero pignoli. Fatto questo.php A questo punto. Il comando significa “Permetti tutto quanto. A questo punto si esce da mysql (comando \q ed invio). Questo non crea problemi. Gli apici vanno conservati. Quindi creiamo prima il nostro database.php sudo chown www-data configuration. bisogna scrivere ’gianni’@’localhost’. che abbia poteri di combinare pasticci solo in quel specifico database: CREATE DATABASE joomladatabase . Avanti 6 . Partirà in questo modo la canonica procedura d’installazione che ben conosciamo. riguarda il file configuration. occorre creare un database dedicato. un output del file in un frame. cosa che non ci dispiace. occorre creare l’utente che abbia accesso a questo database: GRANT ALL on joomladatabase . all’utente locale utentejoomla. tuttavia in caso analogo. digitiamo: sudo touch configuration.php sudo chmod +x configuration.php che ancora non esiste. che è una configurazione di PHP. Per superare anche questa difficoltà possiamo crearlo preventivamente.

“installation” (o rinominarla). e l’archivio di joomla ormai scompattato: sudo rm . Per i principianti può essere utile mettere i dati di esempio. Non si ha bisogno di attivare il layer FTP per questa installazione. in modo da avare dei contenuti di esempio che possiamo sempre modificare o cancellare. ovvero utentejoomla nel nostro caso. ancora avanti 4. Lasciare tutto il resto per com’è ed andare avanti.Stable . L’ultimo passo degno di un signor amministratore sarà quello di rimuovere la cartella di installazione.fr / var / www / joomladir / installation sudo rm / var / www / joomladir / Joomla_1 . tgz Ora tutto è a posto e possiamo incominciare a lavorare con joomla sul nostro amato Linux. Installazione dovrebbe essere completata. Impostare il database: tipo database è mysql. cliccando sul pulsa dedicato.7 _ita . Il nome utente è quello specificato con il comando grant. una bella password di amministrazione. Viene mostrata la licenza.5. e la password idem.3. Come nome sito digitare Quello che vogliamo mettere poi la mail. quindi non toccare niente ed andare avanti 6. 7 . nome database: joomladatabase 5. mentre il nome host è localhost (dato che il database gira sulla stessa macchina del web server). quindi passwordjoomla. 7.