Installare Joomla! su Linux (Ubuntu) - di Salvatore Schirone

Pagina creata da Giorgio Guidi
 
CONTINUA A LEGGERE
Installare Joomla! su Linux (Ubuntu) - di Salvatore Schirone
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
Installare Joomla! su Linux (Ubuntu) - di Salvatore Schirone
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
Installare Joomla! su Linux (Ubuntu) - di Salvatore Schirone
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