Ricerca

lunedì 22 settembre


Realizzare un sito di e-commerce con Joomla e VirtueMart / prima puntata

Realizzare un sito di e-commerce con Joomla e VirtueMart / prima puntata

di Michele Nasi (12/07/2010)


Tra i software CMS opensource più noti ed utilizzati c'è sicuramente Joomla. Si tratta di un'applicazione che offre la possibilità, a chiunque, di creare un sito web potenzialmente molto ricco di contenuti. Le aree applicative sono le più disparate: Joomla può essere usato per allestire una semplice vetrina di prodotti o realizzare un sito web a carattere informativo. "CMS" è infatti l'acronimo di "content management system" ossia "sistema per la gestione di contenuti".
La prima versione di Joomla fu rilasciata pubblicamente a fine 2005 mentre la la versione 1.5, tutta nuova, fu lanciata circa due anni dopo.
Joomla è un prodotto molto potente e la sua popolarità sta crescendo anche in forza della semplicità degli strumenti messi a disposizione dell'utente per la gestione dei contenuti.
Tra le principali caratteristiche di Joomla vi sono l'installazione facilitata, la separazione tra i cosiddetti "frontend" e "backend" (ossia, rispettivamente, le pagine ad accesso pubblico e l'area amministrativa vera e propria), il controllo di accesso (Joomla utilizza meccanismi di autenticazione per la gestione delle attività amministrative: è possibile configurare diversi gruppi di utenti, dotati di differenti privilegi), il valido sistema di "templating" (consente la rapida personalizzazione dell'interfaccia di Joomla), la grande estensibilità mediante l'installazione di componenti, plugin e moduli, la possibilità di generare URL "amichevoli" (utilissimi nel caso dei motori di ricerca).

Nel nostro articolo, spiegheremo com'è possibile installare Joomla in un ambiente di test, in ambito locale per poi spostarlo su un server remoto (macchina dedicata oppure gestita da un provider Internet). Ci concentreremo anche sulle possibilità, offerte da Joomla, per la creazione di un sito di commercio elettronico. Per le attività di "e-commerce", sono disponibili molteplici componenti e moduli appositamente studiati per Joomla.
Tra i tanti prodotti disponibili, abbiamo scelto VirtueMart, un "must" per coloro che desiderano vendere prodotti in Rete. VirtueMart è un componente opensource per Joomla che permette agli amministratori di siti Joomla di allestire un catalogo prodotti, configurare i sistemi di pagamento, le modalità di spedizione e consente di vendere merci e servizi direttamente online.
Così come altre applicazioni analoghe, VirtueMart consente la configurazione di negozi online, le procedura da seguire per la vendita, impostare categorie e cataloghi, gestire clienti ed ordini.

Per la stesura di questo articolo abbiamo utilizzato le più recenti versioni di Joomla (1.5.18) e di VirtueMart (1.1.4).
Ecco i link per il download dei prodotti:
- Joomla (scaricare l'ultima versione "stable" in italiano)
- VirtueMart in inglese (scaricare "complete package for Joomla! 1.5")
- "Language pack" per VirtueMart (consente di tradurre in italiano l'interfaccia dell'applicazione).

Installazione della Microsoft Web Platform 2.0

A scopo di test, è possibile utilizzare un sistema Windows sul quale si sia installato la Microsoft Web Platform 2.0, già recensita in queste pagine. Grazie ad essa, infatti, è possibile rendere il web server del colosso di Redmond capace di eseguire, in modo performante, gli script PHP.

Dopo aver installato la Web Platform 2.0 come spiegato in queste pagine (è sufficiente installare IIS, FastCGI, PHP e Windows Cache Extension per PHP; aggiungeremo poi, manualmente, MySQL e Joomla), si crei un file phpinfo.php nella cartella radice di IIS (generalmente c:\inetpub\wwwroot). All'interno di tale file si inserisca quanto segue:
phpinfo();
?>

Richiamando tale file dalla barra degli indirizzi del browser, digitando http://localhost/phpinfo.php, dovrebbe comparire una pagina contenente le informazioni sul motore PHP e sulle estensioni attivate.

Requisiti per il funzionamento di Joomla e di Virtuemart sono le seguenti estensioni: mysql/mysqli, libxml, zlib e curl. Com'è possibile notare, tali estensioni risultano già attive in modo predefinito (eventuali variazioni possono essere effettuate intervenendo sul file c:\programmi\PHP\php.ini generato dalla Web Platform 2.0 di Microsoft).

Installazione e configurazione di MySQL

Il database che utilizzeremo per la memorizzazione dei dati trattati da Joomla e VirtueMart è MySQL 5.1.x "Community Server" per Windows. Per procedere al download, è necessario collegarsi con questa pagina e prelevare il file "MSI Installer Essentials" a 32 o 64 bit (a seconda della versione di Windows in uso).

Per avviare la procedura di scaricamento del file, basta cliccare su Download quindi su No thanks, just take me to the downloads e scegliere uno dei server HTTP o FTP in elenco.

Dopo aver prelevato il file d'installazione di MySQL, si dovrà fare doppio clic sul file mysql-essential-5.1.XX-winYY.msi per avviarne il setup.
I primi passi sono piuttosto semplici: basta cliccare su Next, scegliere l'installazione Typical e confermare l'installazione cliccando sul pulsante Install.
Una volta che la procedura di setup avrà copiato sul sistema in uso tutti i file necessari, dopo aver premuto alcune volte il pulsante Next, apparirà la finestra seguente.


Qui, è necessario lasciare spuntata la casella Configure the MySQL Server now e premere Finish. Così facendo verrà avviata la procedura di configurazione passo-passo del DBMS di Oracle.

Cliccando dapprima su Next, si dovrà optare per la Detailed configuration, selezionare il tipo di macchina sulla quale si sta lavorando (un sistema ad uso sviluppo, una vera e propria macchina server, un server dedicato a MySQL). Nel nostro caso, si opterà per Developer machine oppure per Server machine a seconda che quello utilizzato sia un sistema di test oppure se si pensa che verrà destinato ad un vero e proprio server.
A seconda della specifica scelta effettuata, la procedura passo-passo provvederà ad impostare il file di configurazione di MySQL (my.ini).


La schermata seguente consente di scegliere il motore per la gestione dei dati da impiegare: "Multifunctional database" permette di utilizzare sia MyISAM che InnoDB, "Transactional database only" abilita l'impiego di entrambi i motori destinando però la maggior parte delle risorse del server ad InnoDB mentre Non-Transactional Database only esclude l'impiego di InnoDB. Nel nostro caso, optiamo per Multifunctional database.

Attraverso la finestra successiva è possibile indicare il carico di lavoro al quale si prevede sarà soggetto il server MySQL. Per scopi di test è possibile selezionare la voce Decision support (DSS)/OLAP, ideale per un numero massimo di connessioni contemporanee. L'opzione Online transaction processing (OLTP) è indicata per i server MySQL particolarmente "sollecitati" (fino a 500 connessioni attive).


Cliccando su Next si potranno lasciare inviariate le impostazioni relative ad Enable TCP/IP networking ed Enable strict mode.
Per la memorizzazione di testi redatti nella nostra lingua, si può optare poi per Standard character set.

Infine, lasciando spuntata la casella Install as Windows service, è bene acconsentire all'installazione di MySQL come servizio di Windows: in questo modo il server verrà, di default, avviato automaticamente all'accensione del personal computer e potrà essere sospeso oppure arrestato dalla finestra per la gestione dei servizi del sistema operativo (Sistema operativo, Strumenti di amministrazione, Servizi).

Il passo conclusivo consiste nella definizione di una password a protezione dell'accesso come utente “root”. La password dovrebbe essere scelta in modo adeguato (dovrebbe contenere qualche carattere “speciale” e non essere quindi facilmente individuabile). Le caselle Enable root access from remote machines e Create an anonymous account non deve essere spuntata.

Cliccando su Execute, verrà configurato il server, preparato il file my.ini. Per completare l'installazione di MySQL, è sufficiente cliccare ora su Finish.

Dal menù Programmi di Windows, si deve quindi accedere al gruppo di MySQL e cliccare su MySQL Server 5.1 quindi su MySQL Command Line Client. Senza installare il Workbench di MySQL, uno strumento che – tra le altre cose (a partire dalla versione 5.2; richiede la presenza del framework .Net 3.5 di Microsoft) – permette di creare account utente, assegnare privilegi ed amministrare database e tabelle di dati da una comoda interfaccia grafica, creiamo da riga di comando un nuovo database che andrà ad ospitare i dati di WordPress.
In alternativa al Workbench od alla riga di comando di MySQL è possibile ancora usare il vecchio pacchetto MySQL GUI Tools Bundle, ormai giunto alla fine del suo sviluppo, integra lo strumento visuale MySQL Administrator per la gestione del database.

Per procedere, è sufficiente digitare la password per l'account “root” scelta precedentemente quindi digitare CREATE DATABASE joomla; e premere il tasto Invio.

Digitando il comando SHOW DATABASES; si otterrà la lista dei database presenti, compreso quello appena creato. A parte “test”, un database di prova, gli altri sono legati al funzionamento di MySQL e non devono essere rimossi.

A questo punto è possibile creare l'account utente che sarà sfruttato dall'applicazione web Joomla per interagire con la base dati MySQL. E' possibile ricorrere ai comandi seguenti:
CREATE USER 'joomla-user'@'localhost' IDENTIFIED BY 'password_utentejoomla ';
GRANT ALL PRIVILEGES ON joomla.* TO 'joomla-user'@'localhost' WITH GRANT OPTION;

In questo modo si assegneranno al nuovo utente joomla-user tutti i privilegi possibili oltre alla password password_utentejoomla che, ovviamente, va scelta in modo opportuno. L'utente joomla-user è autorizzato ad accedere alla base dati solo a livello locale (localhost).
Si potranno poi eventualmente ridurre i privilegi acconsentendo solo, ad esempio, all'esecuzione di query SELECT, INSERT, UPDATE, DELETE, CREATE e DROP.
Come passo finale, è possibile uscire da MySQL Command Line Client digitando quit.

Aggiungere i diritti in scrittura all'utente "guest"

Prima di avviare l'installazione di Joomla, è bene accedere – in Windows – alla cartella c:\inetpub\wwwroot farvi clic con il tasto destro del mouse, cliccare sulla scheda Sicurezza, selezionare l'utente IUSR_nomemacchina e spuntare la casella Consenti in corrispondenza della voce Scrittura.
In Windows XP, per accedere alla scheda Protezione è necessario, prima, cliccare su Opzioni cartella, Visualizzazione quindi disattivare l'opzione Utilizzare condivisione file semplice.
Il permesso di scrittura è necessario affinché la procedura d'installazione di Joomla possa salvare il file PHP contenente le impostazioni legate al funzionamento dell'applicazione (file configuration.php). Anche nel caso di VitueMart viene generato un file di configurazione simile.
Una volta selezionato l'account Internet Guest (IUSR_nomemacchina), è bene cliccare su Avanzate, su Modifica ed attivare le caselle Eliminazione sottocartelle e file ed Elimina (in questo modo VirtueMart potrà eliminare, in fase d'installazione, una cartella temporanea).


Dopo aver installato Joomla e VirtueMart, gli attributi Consenti scrittura, Eliminazione sottocartelle e file ed Elimina potranno essere rimossi (Consenti scrittura dovrà essere assegnato alle sottocartelle all'interno delle quali Joomla dovrà poter caricare delle risorse dai sistemi client).

Articolo seguente: OpenVPN: la guida passo-passo per creare una rete virtuale privata e sicura
Articolo precedente: Ripristinare i file d'immagine creati con Macrium Reflect da un CD di boot
45392 letture
Ultimi commenti
inviato da usag > pubblicato il 27/07/2012 17:40:40
Bene, grazie! :approvato:.
inviato da Michele Nasi > pubblicato il 27/07/2012 13:40:10
Joomla e Virtuemart girano su qualunque server web che supporti PHP. Su Apache, quindi, non ci sono assolutamente problemi. Anzi, troveranno il loro ambiente di lavoro "naturale". :wink: Per "trasposizioni" intendevo la configurazione di Apache e MySQL che varia per pochi dettagli.
inviato da usag > pubblicato il 26/07/2012 18:11:43
Ok, quindi le "trasposizioni" consisterebbero in software analoghi che girino però in ambiente Unix; Virtumart gira su Linux? grazie cmq.
inviato da Michele Nasi > pubblicato il 26/07/2012 13:42:16
Con le necessarie trasposizioni, la procedura è pressoché identica anche in ambiente Linux :wink:
inviato da usag > pubblicato il 25/07/2012 22:23:05
ciao a tutti, scusate la domanda forse un po' banale; sto prendendo in considerazione l'idea di aprire un sito per la vendita di una certa tipologia di prodotti. da quel che ho letto su questa guida, però, sembra che sia "obbligatorio" far tutto sotto Windows; poiché io uso al 90% Linux, vorrei sapere se queste procedure possano esser portate a termine anche su questa piattaforma, magari anziché IIS della Microsoft, utilizzare Apache, e via dicendo. grazie mille.
inviato da Antoine > pubblicato il 28/12/2011 16:15:51
Salve, secondo la mia esperienza devo dire che, almeno per quanto riguarda l'ultima versione di virtuemart 1.1, siamo arrivati ad una ottima stabilità del componente e delle funzionalità aggiuntive. Anche a livello di usabilità utente siamo a un buonissimo livello. E' chiaro che alcune personalizzazioni, in base a quello che si vuole realizzare, occorre sempre farle. Saluti Antonio Saladini
inviato da Michele Nasi > pubblicato il 18/03/2011 16:16:36
Grazie! Su IlSoftware.it trovi anche le puntate seguenti. :)
inviato da Filippa > pubblicato il 18/03/2011 15:24:39
Grazie questa guida mi è stata utilissima!!!! :D


Leggi tutti i commenti

Commenta anche su Facebook

Link alla home page de IlSoftware.it

P.IVA: 02472210547 | Copyright © 2001 - 2014

Pubblicità | Contatti | Informazioni legali | Cookies | Storia | Supporta | Credits

Segui i nostri Feed RSS de IlSoftware.it Segui i nostri Feed RSS