Visualizza il feed RSS

La strada per l'inferno è lastricata di buone intenzioni...

OsCommerce: Installazione e problemi comuni

Valuta questo inserimento
di pubblicato il 23-02-2009 alle 17:53 (7759 Visite)
Questo articolo vuole essere un "vademecum" per coloro che si affacciano al mondo di OsCommerce.
In particolare, verrà trattata l'installazione off-line e on-line e la risoluzione dei problemi più comuni.
Cominciamo, dunque.
Occorre ovviamente aver installato sul proprio pc EasyPhp (meglio ancora Wampp o Xampp), Apache, MySql e PHP 5. E' vero che molti pacchetti di OsCommerce sono stati creati per la versione 4 di PHP , ma , come vedremo in seguito, con piccole modifiche al codice php si può rendere il tutto perfettamente funzionante anche con PHP 5.

Il sito di test si chiamerà myportal e cosi' anche il database MySql.

Prima installazione (off-line)

se siamo in possesso di un template free per OsCommerce, decompattiamolo e inseriamolo nella directory www del nostro EasyPhp, o Wampp o Xampp : tutti gli esempi che seguono riportano i percorsi della mia macchina, sarà sufficiente sostituire tutto quello che precede la cartella www con il percorso del vostro server virtuale.
Non utilizzerò il wizard di OsCommerce per l'installazione, anche perchè le operazioni da effettuare sono estremamente semplici.

Creazione del database
In PhpMyadmin, clicchiamo su SQL e digitiamo semplicemente :
codice:
Create database myportal
Selezioniamo quindi il database appena creato.
Andiamo ora a recuperare il file sql per la creazione delle tabelle: si trova nel pacchetto del vostro template nella cartella C:\xampp\htdocs\xampp\www\myportal\install.
Torniamo su PhpMyAdmin, selezioniamo SQL e nel box incolliamo il contenuto del file .SQL di cui sopra. Clicchiamo su Esegui e il database verrà immediatamente creato.

A questo punto dobbiamo configurare due files:
C:\xampp\htdocs\xampp\www\myportal\includes\config ure.php
Codice PHP:
<?php
/*
  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

// Define the webserver and path parameters
// * DIR_FS_* = Filesystem directories (local/physical)
// * DIR_WS_* = Webserver directories (virtual/URL)
  
define('HTTP_SERVER''http://127.0.0.1'); // eg, http://localhost - should not be empty for productive servers
  
define('HTTPS_SERVER'''); // eg, https://localhost - should not be empty for productive servers
  
define('ENABLE_SSL'false); // secure webserver for checkout procedure?
  
define('HTTP_COOKIE_DOMAIN''');
  
define('HTTPS_COOKIE_DOMAIN''');
  
define('HTTP_COOKIE_PATH''');
  
define('HTTPS_COOKIE_PATH''');
  
define('DIR_WS_HTTP_CATALOG''/xampp/www/myportal/');
  
define('DIR_WS_HTTPS_CATALOG''');
  
define('DIR_WS_IMAGES''images/');
  
define('DIR_WS_ICONS'DIR_WS_IMAGES 'icons/');
  
define('DIR_WS_INCLUDES''includes/');
  
define('DIR_WS_BOXES'DIR_WS_INCLUDES 'boxes/');
  
define('DIR_WS_FUNCTIONS'DIR_WS_INCLUDES 'functions/');
  
define('DIR_WS_CLASSES'DIR_WS_INCLUDES 'classes/');
  
define('DIR_WS_MODULES'DIR_WS_INCLUDES 'modules/');
  
define('DIR_WS_LANGUAGES'DIR_WS_INCLUDES 'languages/');

  
define('DIR_WS_DOWNLOAD_PUBLIC''pub/');
  
define('DIR_FS_CATALOG''C:/xampp/htdocs/xampp/www/myportal/');
  
define('DIR_FS_DOWNLOAD'DIR_FS_CATALOG 'download/');
  
define('DIR_FS_DOWNLOAD_PUBLIC'DIR_FS_CATALOG 'pub/');

// define our database connection
  
define('DB_SERVER''127.0.0.1'); // eg, localhost - should not be empty for productive servers
  
define('DB_SERVER_USERNAME''root');
  
define('DB_SERVER_PASSWORD''');
  
define('DB_DATABASE''myportal');
  
define('USE_PCONNECT''false'); // use persistent connections?
  
define('STORE_SESSIONS''mysql'); // leave empty '' for default handler or set to 'mysql'
?>
C:\xampp\htdocs\xampp\www\myportal\admin\includes\ configure.php
Codice PHP:
<?php
/*
  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

// Define the webserver and path parameters
// * DIR_FS_* = Filesystem directories (local/physical)
// * DIR_WS_* = Webserver directories (virtual/URL)
  
define('HTTP_SERVER''http://127.0.0.1'); // eg, http://localhost - should not be empty for productive servers
  
define('HTTPS_SERVER'''); // eg, https://localhost - should not be empty for productive servers
  
define('ENABLE_SSL'false); // secure webserver for checkout procedure?
  
define('HTTP_COOKIE_DOMAIN''');
  
define('HTTPS_COOKIE_DOMAIN''');
  
define('HTTP_COOKIE_PATH''');
  
define('HTTPS_COOKIE_PATH''');
  
define('DIR_WS_HTTP_CATALOG''/xampp/www/myportal/');
  
define('DIR_WS_HTTPS_CATALOG''');
  
define('DIR_WS_IMAGES''images/');
  
define('DIR_WS_ICONS'DIR_WS_IMAGES 'icons/');
  
define('DIR_WS_INCLUDES''includes/');
  
define('DIR_WS_BOXES'DIR_WS_INCLUDES 'boxes/');
  
define('DIR_WS_FUNCTIONS'DIR_WS_INCLUDES 'functions/');
  
define('DIR_WS_CLASSES'DIR_WS_INCLUDES 'classes/');
  
define('DIR_WS_MODULES'DIR_WS_INCLUDES 'modules/');
  
define('DIR_WS_LANGUAGES'DIR_WS_INCLUDES 'languages/');

  
define('DIR_WS_DOWNLOAD_PUBLIC''pub/');
  
define('DIR_FS_CATALOG''C:/xampp/htdocs/xampp/www/myportal/');
  
define('DIR_FS_DOWNLOAD'DIR_FS_CATALOG 'download/');
  
define('DIR_FS_DOWNLOAD_PUBLIC'DIR_FS_CATALOG 'pub/');

// define our database connection
  
define('DB_SERVER''127.0.0.1'); // eg, localhost - should not be empty for productive servers
  
define('DB_SERVER_USERNAME''root');
  
define('DB_SERVER_PASSWORD''');
  
define('DB_DATABASE''myportal');
  
define('USE_PCONNECT''false'); // use persistent connections?
  
define('STORE_SESSIONS''mysql'); // leave empty '' for default handler or set to 'mysql'
?>
Fatto cio', se digitate nella barra degli indirizzi del vostro browser:
http://127.0.0.1/xampp/www/myportal/
vedrete apparire il template in esecuzione. Per togliere la scritta che appare in cima, che recita :
codice:
Attenzione: Posso scrivere sul file di configurazione: C:/xampp/htdocs/xampp/www/myportal/includes/configure.php. Questo potrebbe essere un potenziale bug di sicurezza - imposta i permessi giusti per il file.
basta impostare il file C:/xampp/htdocs/xampp/www/myportal/includes/configure.php di sola lettura.

Ma i template che ci sono in rete non comprendono la lingua italiana.... nessun problema.

Bisogna scaricare il seguente file :
Italian_lang per OSCommerce2.2 MS2

Da questo link (occorre essere registrati) :
Opencommercio - E-commerce in Italia

decompattiamolo, e copiamo il file italian.php e la cartella italian presenti nella directory catalog\admin\includes\languages nella corrispondente cartella del nostro pc , ovvero:
C:\xampp\htdocs\xampp\www\myportal\admin\includes\ languages

Poi copiamo il file italian.php e la cartella italian presenti nella directory catalog\includes\languages nella corrispondente cartella del nostro pc:
C:\xampp\htdocs\xampp\www\myportal\includes\langua ges

Attenzione ! Nonostante abbiano gli stessi nomi, il file PHP e la cartella nelle due directory del file scaricato sono differenti. E’ quindi fondamentale copiare il tutto nelle posizioni corrette

Accediamo ora al pannello di amministrazione: http://127.0.0.1/xampp/www/myportal/admin/ e selezioniamo nel menu di sinistra :
localization -> languages
a questo punto, sul pannello di destra clicchiamo su “new language”. I dati da inserire nella maschera che appare sono i seguenti :
Name -> Italiano
Code -> it
Image -> icon.gif
Directory -> italian


Clicchiamo su Insert, puliamo la cache del nostro browser e torniamo al pannello di ammistrazione che ora dovrebbe comprendere anche l’italiano.

Questo per ora, nella prossima "puntata" analizzeremo gli errori più frequenti.
Anteprime allegati Immagini allegate

Commenti

  1. L'avatar di Massimo65
    Ciao,
    ti ringrazio per i preziosi suggerimenti, con i quali sono riuscito ad installare in locale (server apache) oscommerce.
    Ho scaricato ed installato pure il modulo per la traduzione in italiano, ma andando nel pannello di amministrazione e selezionando "new language" non mi viene visualizzato il form la cui immagine hai allegato al post. Sapresti indicarmi quale potrebbe essere l'errore che causa cio?
    Grazie anticipatamente.
    Saluti