Installare Joomla! su Linux (Ubuntu) - di Salvatore Schirone
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
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 far- lo è 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 in- stallare un completo ambiente LAMP, utilizzando i repository della nostra distribu- zione. 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’inter- prete 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 senti- tamente 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
come Synaptic, facciamo una ricerca e lasciamo al gestore stesso l’individuazione del- le 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.1 Apriamo il gestore pacchetti synap- tic: Sistema -> Amministrazione -> Gestore pacchetti Synaptic Dal menu Modifica->marca i pacchetti per attività Nella finestra che ci si presenta se- lezioniamo LAMP. Vengono installati ben 16 pacchetti. Subito dopo ci viene chiesta la nuova pas- sword di root per l’accesso al database MySQL, una nuova schermata ci chiederà di riperterla per confermare 1 Si ringrazia Lorenzo, nickname l.cupe, per averci suggerito sul forum www.lezionionline.net, sezione PiacereLinux, questa pratica soluzione. 2
Tutto è stato installato e configurato correttamente. Infatti se puntiamo il nostro browser su http://localhost/ vediamo la pagina di default, presente in /var/www/in- dex.html che ci assicurata che tutto è ok. Per fare in modo che anche l’interprete PHP e il server MySQL siano a posto dobbiamo riavviare il sistema. Ora davvero è tutto pronto per installare joomla. Se invece amiamo l’immediatezza della shell, possiamo eseguire da linea di co- mando: sudo tasksel install lamp - server taskshel è un manager per meta-pacchetti, cioè gruppi di pacchetti per spe- cifiche attività. Lanciato con la seguente con l’opzione --list-tasks visualizza esattamente i vari gruppi di pacchetti elencati con synaptic: sudo tasksel -- list - tasks otteniamo il seguente output: u dns - server DNS server u edubuntu - server Edubuntu server i lamp - server LAMP server u mail - server Mail server u openssh - server OpenSSH server u postgresql - server PostgreSQL database i print - server Print server i samba - server Samba File server u ubuntustudio - graphics 2 D /3 D creation and editing suite u ubuntustudio - audio Audio creation and editing suite u edubuntu - desktop - kde Edubuntu KDE desktop u edubuntu - desktop - addon Edubuntu desktop u gobuntu - desktop Gobuntu desktop u kubuntu - kde4 - desktop Kubuntu KDE 4 desktop u kubuntu - desktop Kubuntu desktop u ubuntustudio - audio - plugins LADSPA and DSSI audio plugins u mythbuntu - desktop Mythbuntu additional roles u mythbuntu - frontend Mythbuntu frontend u mythbuntu - backend - master Mythbuntu master backend u mythbuntu - backend - slave Mythbuntu slave backend u ubuntustudio - desktop Ubuntu Studio desktop i ubuntu - desktop Ubuntu desktop u ubuntustudio - video Video creation and editing suite u xubuntu - desktop Xubuntu desktop u edubuntu - live Edubuntu live CD u gobuntu - live Gobuntu live CD u kubuntu - kde4 - live Kubuntu KDE 4 live CD u kubuntu - live Kubuntu live CD u mythbuntu - live Mythbuntu live CD u ubuntu - live Ubuntu live CD u ubuntu - dvd - live Ubuntu live DVD u xubuntu - live Xubuntu live CD 3
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 l’installazione di mysql verrà chiesto di introdurre una password, che è quella per l’utente principale di mysql (l’equivalente dell’amministratore 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 all’installazione, alla configurazione 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 verificare 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 verificare 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 verificare 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 verificare se anche php è ok, possiamo provare ad eseguire il nostro primo script. Creiamo nella cartella del nostro server che in Ubuntu è /var/www, un file php, ad esempio phpinfo.php con il seguente script:
Fatto questo, può cominciare l’installare di joomla. Quindi si scarica il pacchetto. 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 .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 finita lì. Questo è SBAGLIATISSIMO!!! anche se funziona. Infatti in questo modo chiunque abbia un minimo di accesso al server, anche dall’esterno, potrebbe prendere il controllo totale del nostro server. Bisogna sapere che Apache ha una particolarità, configura un utente speciale che ha i permessi nella cartella /var/www. Nel caso di Utuntu questo utente è www- data, 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 un’installazione con i permessi corretti, invece, occorre semplicemente cam- biare il proprietario e il gruppo di appartenenza per tutti i file. Questo si fa con il comando chown: sudo chown -R www - data : www - 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. 5
L’unico inconveniente che potremmo incontrare nelle fasi di installa- zione, riguarda il file configuration.php che ancora non esiste. Nella prova fatta su una installazione nuova, ciò non si è verificato, tutta- via in caso analogo, sappiamo che Joomla ci permette di avere, come ben documentato, un output del file in un frame, che possiamo copia- re per crearlo manualmente. Questo succede quando il server non ci permette di scrivere nella cartella. Per superare anche questa difficol- tà possiamo crearlo preventivamente. Stando all’interno 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 indi- care 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 dall’hosting. Quindi creiamo prima il nostro database. Accedere quindi a MySQL come amministratore da terminale: mysql -u root -p Verrà richiesta la password specificata in fase d’installazione. Per utilizzare joom- la, occorre creare un database dedicato, ed è anche altamente consigliato avere un utente dedicato, che abbia poteri di combinare pasticci solo in quel specifico database: CREATE DATABASE joomladatabase ; Fatto questo, occorre creare l’utente che abbia accesso a questo database: GRANT ALL on joomladatabase .* TO ’ utentejoomla ’@ ’ localhost ’ IDENTIFIED BY ’ passwordjoomla ’; Il comando significa “Permetti tutto quanto, in ogni tabella del database joom- ladatabase, all’utente locale utentejoomla, indentificato dalla password specificata”. Gli apici vanno conservati, quindi se l’utente è per esempio gianni, bisogna scrivere ’gianni’@’localhost’. A questo punto si esce da mysql (comando \q ed invio), e si va nella pagina d’installazione di joomla digitando http://localhost/joomla. Partirà in questo mo- do la canonica procedura d’installazione 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 configurazione 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 specificato 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 modificare o cancellare. Lasciare tutto il resto per com’è ed andare avanti. 7. Installazione dovrebbe essere completata. L’ultimo passo degno di un signor amministratore sarà quello di rimuovere la cartella di installazione, “installa- tion” (o rinominarla), e l’archivio 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. 7
Puoi anche leggere