Trasferire sito Joomla da locale a remoto e viceversa PDF Stampa E-mail
(3 - voti utente)
Martedì 24 Febbraio 2009 16:04
xampp-easyphp-logoL'operazione di trasferiemento di un sito web dal proprio pc (host client) al webserver remoto (host server) e/o viceversa può essere necessaria per due motivi fondamentali:
  • si sviluppa il sito sul proprio pc e, alla fine, lo si vuole pubblicare sul web
  • si è sviluppato il sito su un host server e lo si vuole replicare in locale, ad esempio, per effettuare sperimentazioni di estensioni senza danneggiare il sito in produzione

Il mio personale consiglio è sempre quello di iniziare lo sviluppo del sito Joomla in locale, installando tutte le estensioni (componenti, moduli e plugin) che servono. Solo alla fine, quando il sito è pronto e funzionante, potrete pubblicarlo sul web.

Ogni volta che vorrete modificare qualcosa sul sito effettuate la modifica prima sulla sua replica in locale e poi, solo dopo aver verificato che tutto funziona, effettuate la stessa modifica sul sito remoto.

Ambiente di sviluppo per Joomla


Riferendomi ad un personal computer con Sistema Operativo Windows XP per sviluppare un sito con Joomla abbiamo bisogno di tre cose:
  • un server web Apache ver 2 o superiore
  • un Database MySQL ver 5
  • un interprete PHP ver. 5 o superiore
  • un buon editor di testo

Se poi vogliamo pubblicare il sito su un web server remoto avremo bisogno di un programma che ci consenta di trasferire i file dal nostro pc al server remoto e viceversa. Un programma simile è anche detto client ftp.

Ecco un elenco con una breve descrizione di ciò che ci serve:

Xampp o EasyPhp


Sono le due applicazioni che più spesso vengono citate per realizzare un ambiente di sviluppo web per i siti in Joomla su pc con Windows XP.
Ambedue le applicazioni installano sul pc un webserver Apache, il DBMS MySQL, l'interprete PHP e il gestore di database phpMyAdmin più altre applicazioni accessorie non fondamentali.
Non ci sono pro e contro nell'usare un'applicazione piuttosto che un'altra.
Piccoli vantaggi possono essere quelli di poter localizzare si vostri siti web locali in una cartella diversa da C:\EasyPhp\www utilizzando la funzionalità di creazione di Alias presente in EasyPhp.

easyphp01

Con Xampp si ha a disposizione un pannello dal quale avviare o fermare i singoli componenti e un'interfaccia web per amministrare la sicurezza.

xampp02

xampp01

Se si usa Xampp le cartelle contenenti i siti web andranno create nella cartella C:\Xampp\htdocs mentre se si usa EasyPhp andranno create nella cartella C:\EasyPhp\www
Si noti che il percorso C:\Xampp o C:\EasyPhp è arbitrario e cambierà in funzione di dove avete installato le applicazioni.

In definitiva i due programmi si equivalgono.

Si possono scaricare da:
Xampp: http://www.apachefriends.org/en/xampp-windows.html
EasyPhp: http://sourceforge.net/project/showfiles.php?group_id=14045

Filezilla


E' un'applicazione chiamata anche client ftp.
Il protocollo FTP (File Trasfert Protocol) permette di trasferire file da un host all'altro molto velocemente.
E' possibile accedere alle cartelle e ai file che copongono il proprio sito web utilizzando questo programma e trasferire i file dal proprio pc all'host remoto.

filezilla

Per trasferire i file dal sito in locale a quello remoto è sufficiente utilizzare la tecnica del Drag and D rop (clicca, trascina e lascia) selezionando i file e le cartelle da trasferire nella finestra che visualizza i file in locale e, cliccandoci sopra, trascinarli nella finestra che visualizza i file in remoto.
Così facendo i file verranno inseriti nella Coda dei file in trasferimento indicata in basso. Avremo così il controllo visivo sul trasferimento dei file e in particolare su quei file che, per vari motivi, non dovessero essere trasferiti (Trasferimenti non completati). Questi file non trasferiti possono essere eventualmente rimessi in coda per il trasferimento.

Lo si può scaricare da http://filezilla-project.org/download.php (versione client)

phpMyAdmin


E' una applicazione in modalità pagine web per gestire uno o più database MySQL
Se si usano Xampp o EasyPhp viene istallata insieme alle altre applicazioni e la si può eseguire utilizzando il browser web digitando l'indirizzo <nowiki>http://localhost/phpmyadmin</nowiki> (verificare l'esatto indirizzo in funzione di quale programme è stato installato)

phpmyadmin01


Con phpmyadmin è possibile gestire uno o più database MySQL sul proprio pc. In particolare è possibile importare o esportare l'intero contenuto di un database.
Descriviamo brevemente le due operazioni:

Esportare un database


  1. selezionare il database da esportare. Verrà visualizzato l'elenco delle cartelle del database
  2. cliccare sul pulsante Esporta (in alto)
  3. selezionare le opzioni:
    1. accertarsi che nel box Esporta siano selezionate tutte le tabelle e che sia selezionata l'opzione SQL
    2. seleziona DROP T ABLE nel box Struttura;
    3. inserimenti completi ed estesi nel box Dati;
    4. verificare, nel box Dati, che la modalità della query sia I NSERT
    5. selezionare Salva con nome...
  4. Premere il pulsante Esegui

phpmyadmin03


Verrà trasferito sul vostro pc un file con il nome del database e l'estensione .sql. Questo file contiene le istruzioni necessarie a ricreare l'intero database dati compresi.


Nota sulla opzione DROP T ABLE per l'esportazione.
Il file che viene generato dall'operazione di esportazione è un file contenente delle istruzioni in linguaggio SQL che verranno
poi eseguite durante la procedura di importazione in una altro database. Questi file tecnicamente si chiamano Script SQL.
Queste istruzioni sono di due tipi: il primo provvede a creare la singola tabella e il secondo a inserirvi i dati.

Ecco un esempio del file di esportazione generato per la sola tabella jos_banners

-- phpMyAdmin SQL Dump
-- version 3.0.1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generato il: 13 feb, 2009 at 12:37 PM
-- Versione MySQL: 5.0.41
-- Versione PHP: 5.2.2

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Database: `bigham`
--
-- --------------------------------------------------------
--
-- Struttura della tabella `jos_banner`
--

DROP T ABLE IF EXISTS `jos_banner`;
CREATE T ABLE `jos_banner` (
`bid` int(11) NOT NULL auto_increment,
`cid` int(11) NOT NULL default '0',
`type` varchar(10) collate latin1_general_ci NOT NULL default 'banner',
`name` varchar(50) collate latin1_general_ci NOT NULL default '',
`imptotal` int(11) NOT NULL default '0',
`impmade` int(11) NOT NULL default '0',
`clicks` int(11) NOT NULL default '0',
`imageurl` varchar(100) collate latin1_general_ci NOT NULL default '',
`clickurl` varchar(200) collate latin1_general_ci NOT NULL default '',
`date` datetime default NULL,
`showBanner` tinyint(1) NOT NULL default '0',
`checked_out` tinyint(1) NOT NULL default '0',
`checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',
`editor` varchar(50) collate latin1_general_ci default NULL,
`custombannercode` text collate latin1_general_ci,
PRIMARY KEY (`bid`),
KEY `viewbanner` (`showBanner`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=3 ;

--
-- Dump dei dati per la tabella `jos_banner`
--

INSERT I NTO `jos_banner`
VALUES
(1, 1, '', 'Joomla.it', 0, 57, 0, 'joomla_it.jpg', 'http://www.joomla.it', '2007-09-13 14:02:16', 0, 0, '0000-00-00 00:00:00', '', '');

INSERT I NTO `jos_banner`
VALUES
(2, 1, '', 'Joomla.it_2', 0, 1363, 178, 'banner_joomla.gif', 'http://www.joomla.it', '2007-09-13 14:06:11', 1, 0, '0000-00-00 00:00:00', NULL, '');
L'istruzione '''CREATE T ABLE''' serve a creare la tabella jos_banner mentre le istruzioni '''INSERT I NTO''' consentono di inserire i dati nella tabella jos_banner appena creata.

Ecco quindi che, avendo creato un database vuoto, eseguendo questo script con la funzione di Importazione di phpMyAdmin possiamo ricreare tutte le tabelle contenute nel database di cui abbiamo fatto l'export.

E se il database di destinazione non è vuoto?
Abbiamo fatto, fino ad ora, l'ipotesi che il database in cui vogliamo fare l'importazione sia appena creato e guindi vuoto. Ma ne caso in cui il database di destinazione contenga già delle tabelle dobbiamo prevederlo già in fase di esportazione del database di origine.
Selezionando l'opzione Aggiungi DROP T ABLE non facciamo altro che aggiungere, nello script di esportazione, l'istruzione DROP T ABLE IF EXIST prima della creazione di ogni tabella (CREATE T ABLE).
Quindi quando andremo ad importare i dati nel database di destinazione ogni tabella presente nel database verrà prima eliminata (DROP T ABLE) se esiste (IF EXISTS) e poi creata (CREATE T ABLE).
In questo modo saremo sicuri che le tabelle del database di destinazione saranno ricreate con la struttura e i dati del database di origine.

Importare un database


Se si è eseguita l'operazione di esportazione di un database remoto è possibile utilizzare lo script ricavato per ricreare lo stesso database in locale.
Aprite il browser web e accedete a phpMyAdmin. Se il database non esiste potete cliccare sul suo nome nella colonna di sinistra. Se il database non esiste potete crearlo dalla home page di phpMyAdmin.
Una volta selezionato il database cliccate sul pulsante Importa. Quindi cliccate sul pulsante Sfoglia per selezionare il file contente l'esportazione del database remoto. Quindi cliccate su Esegui.

phpmyadmin04

Editor Notepad++


E' un editor di testo che consiglio caldamente. Lo stesso che ho usato per scrivere questa guida.
Pur essendo un semplice editor di testo ha diverse utili funzionalità. Una di queste è quella di colorare il testo in funzione del linguaggio di programmazione usato riconosendolo automaticamente.

Lo si può scaricare all'indirizzo http://notepad-plus.sourceforge.net/it/site.htm

|||

Trasf. in locale

Trasferimento da locale a remoto



Supponiamo di aver sviluppato il nostro sito Joomla sul nostro pc. Una volta completato il lavoro vogliamo naturalmente pubblicare il sito sul web.
Cercheremo quindi un servizio di hosting adatto alle nostre esigenze e che fornisca i servizi necessari ad ospitare un sito realizzato con Joomla.

Le operazioni che consiglio di eseguire sono le seguenti:
  1. procurarsi il pacchetto di installazione di Joomla (stessa versione del sito che abbiamo già creato), decomprimerlo in una cartella sul proprio pc e trasferirlo per intero nella root del server remoto. Terminato il trasferimento eseguire l'installazione di Joomla fino all'ultimo passaggio e vedificare che sia possibile accedere senza problemi sia al backend che al frontend. Questa operazione ha il solo scopo di far scrivere a joomla stesso il file configuration.php evitandoci il disturbo di doverlo modificare manualmente.
  2. per sicurezza trasferite il file configuration.php dal server remoto ad una cartella sul vostro pc rinominandolo in configuration-remoto.php. Tenerne una copia non fa male
  3. fate un export del database in locale generando il file .sql contenente i dati del database. Assicuratevi di aver selezionato l'opzione D ROP TABLE nella pagina di Esportazione (vedi paragrafo su phpMyAdmin)
  4. accedete al database remoto usando l'applicazione web che il vostro hoster vi mette a disposizione (di solito è sempre phpMyAdmin) ed effettuate l'importazione del file export del vostro database in locale
  5. copiate tutte le cartelle del sito creato in locale nella root del sito remoto usando Filezilla AD ESCLUSIONE del file configuration.php. Non sovrascrivete il file che si trova in remoto perchè contiene le informazioni necessarie a Joomla per funzionare in remoto.

Terminato il trasferimento dei file di sito dal vostro pc al server remoto il sito dovrebbe funzionare immediatamente.

Se non si è eseguito (o non si vuole esegure) il passo 1) si dovrà modificare manualmente il file configuratio.php presente nella root del sito web in remoto. Le variabili da modificare sono le stesse descritte nel paragrafo precedente. Ovviamente i percorsi delle variabili $log_path e $tmp_path saranno relative al server che ci ospita. Ecco il motivo per cui consiglio di perdere qualche minuto in più nell'eseguire l'operazione descritta al punto 1.


Usare la root del sito remoto o una cartella?



Sul server remoto che ci ospita ci viene riservata una certa quantità di spazio su disco. Quello che noi vediamo in realtà è una cartella (in genere si chiama public_html o www) che però rappresenta la root (il percorso radice) del notro sito. Si definisce root perchè è da quel punto che si sviluppa la struttura a sottocartelle del sito.

Usare la root del sito permette di accedere pubblicamente al nostro sito web semplicemente digitando l'indirizzo ad esso collegato (es. bigha.netsos.org). Usare una sottocartella ci costringe ad aggiungere alla url del nostro sito il nome della sottocartella (es. bigham.netsons.org/forum).

architettura-root

Usare delle sottocartelle significa poter gestire più siti sullo stesso spazio web a patto però di avere a disposizione altrettanti database (ad esempio il sito web più un forum phpBB).

architettura-root-sottocartelle

Queste sono scelte che dipendono da cosa vogliamo realizzare. Se il nostro scopo è quello di avere un unico sito web è sufficiente utilizzare la root del nostro spazio remoto.

Concetti fondamentali

Caratteristiche di un servizio hosting per Joomla:

  • server linux
  • web server Apache 2.0 o superiore
  • interprete php ver. 5.0 o superiore
  • database MySQL versione 5.0 con un numero di query illimitato

Sulla configurazione di php ricordiamo che dovrebbe essere la seguente:

  • Safe mode: off
  • Registrer globals: off
  • Magic quotes: on

Inoltre devono essere presenti:

  • Emulazione RG: on
  • supporto zlib
  • supporto xml
  • modulo Apache Mod_rewrite

Hoster


Società che fornisce lo spazio su cui risiede il nostro sito web. Il servizio di hosting per joomla deve prevedere almeno:

  • web server Linux
  • 1 database MySQL
  • interprete PHP ver. 5
  • accesso via protocollo ftp
  • accesso al database con phpMyAdmin o altra web application simile

Sito web


E' un insieme di pagine collegate fra loro usando la tecnica dell'ipertesto. Queste pagine sono accessibili utilizzando un programma detto Browser concepito proprio per leggere questa tipologia di documenti.

Host

Ogni computer collegato alla rete internet è definito con questo termine. Gli host (ospiti) si definiscono così perchè ospitano programmi applicativi sia di tipo client (es. browser, posta elettronica, ftp client) che di tipo server (es. web server, ftp server). I programmi applicativi di tipo server offrono servizi alla rete mentre i programmi applicativi di tipo client accedono ai servizi offerti dai server per utilizzarli.

host-host


Sito web in locale


E' possibile creare dei siti web in Joomla sul proprio pc e farli funzionare esattamente come se fossero pubblicati sul web. Per fare questo è necessario avere installato sul proprio pc un webserver Apache, il DBMS MySQL e l'interprete PHP.

Sito web remoto


E' un sito web presente su un server remoto (posizionato in un punto qualsiasi del globo terrestre) e raggiungibile da tutti per essere consultato.
I server sono come i nostri personal computer solo um pò più potenti nelle capacità di calcolo e nelle risorse.
Quindi il vostro sito web e i file che lo compongono sarà memorizzato in alcune cartelle su un disco di una macchina che si trova chissà dove.
L'unico problema dunque è poter raggiungere queste cartelle per copiarci quelle che abbiamo creato sul nostro pc.


Inizio

Questa guida è stata pubblicata sul Wiki di Joomla.it

Commenti

avatar Terry
0
 
 
L'articolo è molto chiaro. Cosa deve fare chi come me vuole cominciare ad utilizzare Joomla e possiede un pc con Windows Vista
B
i
u
Quote
Code
List
List item
URL
Nome *
Email (per verifiche & Rrisposte)
URL
Codice   
ChronoComments by Joomla Professional Solutions
Invia Commento
Annulla
avatar BigHam
0
 
 
Dal momento che l'ambiente di sviluppo, XAMPP per intenderci, ha qualche problema su Vista forse sarebbe opportuno utilizzare direttamente un web server remoto utilizzando un servizio di hosting gratuito per cominciare (tipo netsons.com). Bisogna solo installare sul proprio PC un client FTP (tipo Filezilla) per il trasferimento dei file sul server remoto.
Importantissimo per chi vuole cominciare a comprendere il funzionamento di Joomla sono i tutorial da scaricare dalla sezione download di Joomla.it, le guide di Joomla.it e qualsiasi altra informazione reperibile in rete.

Ciao
B
i
u
Quote
Code
List
List item
URL
Nome *
Email (per verifiche & Rrisposte)
URL
Codice   
ChronoComments by Joomla Professional Solutions
Invia Commento
Annulla
B
i
u
Quote
Code
List
List item
URL
Nome *
Email (per verifiche & Rrisposte)
URL
Codice   
ChronoComments by Joomla Professional Solutions
Invia Commento