lunedì 4 febbraio 2013

Installare PrestaShop su Ubuntu 12.04 Server

Seguendo un po' di consigli di amici e amici di amici, ho iniziato ad analizzare meglio la piattaforma e-commerce che stiamo usando per gestire Maison Matilde e mi sono reso conto, ogni giorno di più, che i limiti, purtroppo, sono tanti.
Ho così deciso di provare PrestaShop in quanto sembrerebbe essere una delle piattaforme e-commerce migliori sul panorama internazionale.
Essendo molto impulsivo ed anche un po' pazzo, ho deciso di usare un server Ubuntu 12.04 virtualizzato per fare i test. Questo post sarà la mia "traccia" per un giorno ricordarmi come fare nel caso in cui decidessi di creare un ambiente di produzione!


Ho usato Ubuntu 32bit su host Oracle VirtualBox. La VM ha 512MB di Ram, un singolo processore e 50GB di disco allocato dinamicamente. Le varie opzioni sono state lasciate di default.
Su Ubuntu ho installato solo SSH Server per poterlo gestire da remoto tramite Putty.
Ho lasciato che fosse l'installer a gestire il partizionamento del disco.

Nel caso in cui mi dimenticassi del server SSH, basta lanciare:
sudo apt-get install openssh-server
Per "convenzione", aggiorno subito il sistema con
sudo apt-get update
e quindi
sudo apt-get upgrade
Sistemo ancora il servizio NTP in modo che l'ora del sistema si aggiorni in automatico ogni giorno.
Creo il file /etc/cron.dayly/ntpdate:
sudo vim /etc/cron.daily/ntpdate
ed al suo interno inserisco:
ntpdate ntp.ubuntu.com
Una volta uscito con ":wq", lo rendo eseguibile:
sudo chmod 755 /etc/cron.daily/ntpdate

Le richieste server di PrestaShop sono le seguenti (come da sito ufficiale):
  • Un nome di dominio
  • Un server Web Apache 1.3, Apache 2.x, Nginx o Microsoft IIS
  • Installa e attiva PHP 5.1+
  • Installa MySQL 5.0+ e crea un database.
  • Un accesso a un server FTP
Lavorando in locale, il nome di dominio non mi servirà, per ora.
Su Ubuntu, invece, installerò Apache, PHP, MySQL e (Very Secure FTP Daemon lo tralascerò volutamente). Quindi:
sudo apt-get install apache php5 mysql-server libapache2-mod-auth-mysql php5-mysql php5-gd libgd-tools php5-mcrypt
Buona parte dei pacchetti installati fanno parte di una serie di "optional" che saranno richiesti nello specifico da PrestaShop in fasi successive.

In questa fase di test lascerò tutti i servizi su di un singolo server ma nel caso in cui andassi in produzione credo che dividerò MySQL dal resto per migliorare le prestazioni e poter scalare nel caso in cui avessi bisogno di aumentare le prestazioni del sito.

Prestashop indica anche di avere i seguenti accorgimenti facoltativi:
  • Nella configurazione PHP, chiedi al tuo fornitore di impostare memory_limit a \"64M\" e file_max_upload_size a \"16M\".
  • Certificato SSL se prevedi di gestire i pagamenti internamente (se non usi PayPal per esempio).
  • Le estensioni PHP opzionali: GD, cURL, SimpleXML, SOAP
  • Per migliorare le prestazioni: MemCached, mcrypt PHP extension
Procedo, invece, ad installare PrestaShop seguendo (quasi) la guida ufficiale.
  1. Creo il database MySQL sul server e, quindi:
    1. entro in MySQL: mysql -u root -p
    2. creo il database di test: CREATE DATABASE PSTest01;
    3. Non attribuirò, per ora, permessi particolari quindi userò l'utente root per gestire il database.
  2. Scarico sul server la cartella compressa di PrestaShop seguendo il link indicato nella pagina delle versioni di sviluppo, la scompatto e la metto nella www root:
    1. digito: wget http://www.prestashop.com/download/old/prestashop_1.5.3.1.zip
    2. installo unzip: sudo apt-get install unzip
    3. scompatto la cartella prestashop_x-x-x-x.zip: unzip prestashop_x-x-x-x.zip
    4. la sposto: sudo mv prestashop /var/www/
    5. sistemi i diritti di lettura e scrittura sulle cartelle; di seguito l'elenco solo da copiare e incollare:
      1. cd /var/www/prestashop
      2. sudo chmod 777 config
      3. sudo chmod 777 cache -R
      4. sudo chmod 777 log
      5. sudo chmod 777 img -R
      6. sudo chmod 777 mails -R
      7. sudo chmod 777 modules -R
      8. sudo chmod 777 translations -R
      9. sudo chmod 777 upload -R
      10. sudo chmod 777 download -R
      11. sudo chmod 777 sitemap.xml
  3. Apro il browser e vado su http://nomeserver/prestashop. Il sito funziona (!!!) e vengo rimandato alla pagina d'installazione. Seguo quindi le istruzioni.
    1. Nella seconda pagina verifico che tutte spunte siano verdi.
    2. Nella sezione "database" compilo così i campi che devono essere variati:
      1. Nome database: PSTest01
      2. Password database: [quella che ho scelto per il root]
    3. Termino la configurazione con le impostazioni personalizzate
  4. Da terminale rimuovo la cartella "install" con: sudo rm -r /var/www/prestashop/install/
  5. Rinomino quella di amministrazione: sudo mv /var/www/prestashop/admin/ /var/www/prestashop/a/
Ora mi posso collegare al sito tramite i seguenti link:
  • Lato utente: http://srvps/prestashop
  • Lato amministrazione: http://srvps/prestashop/a
E ora... buon lavoro!!

1 commento:

  1. Ottimo lavoro, un aticolo molto interesante. Anch'io ho lavorato nel campo e di seguito vi suggerisco un tutorial molto utile su come instalare il Prestashop.
    http://www.webdomus.net/category/tutorial-come-installare-prestashop/

    RispondiElimina