Sei sulla pagina 1di 7

Installare Joomla!

su Linux (Ubuntu)
di Salvatore Schirone
versione 2009.05

Sommario In questo piccolo tutorial viene mostrato linstalazione 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 congurato 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 lelenco delle falle di sicurezza e lindicazione di un comando per risolverne la maggior parte!? Inoltre, malgrado la dichiarata apertura, molti utenti hanno comunque incontrato dicolt 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 semplicare 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, linterprete 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 graco
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/

come Synaptic, facciamo una ricerca e lasciamo al gestore stesso lindividuazione delle librerie e le dipendenze dei vari pacchetti indispensabili al corretto funzionamento dei nostri programmi. Ubuntu ci ore una scorciatoria per installare facilmente tutto lambiente LAMP in un paio di click.1 Apriamo il gestore pacchetti synaptic: Sistema -> Amministrazione -> Gestore pacchetti Synaptic Dal menu Modifica->marca i pacchetti per attivit Nella nestra che ci si presenta selezioniamo LAMP.

Vengono installati ben 16 pacchetti. Subito dopo ci viene chiesta la nuova password di root per laccesso al database MySQL, una nuova schermata ci chieder di riperterla per confermare

Si ringrazia Lorenzo, nickname l.cupe, per averci suggerito sul forum www.lezionionline.net, sezione PiacereLinux, questa pratica soluzione.

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

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

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

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

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