Altri Articoli

Installazione ambiente per Drupal/Omega

Valutazione attuale:  / 0
ScarsoOttimo 

Questo articolo è una guida minimale per configurare l'ambiente ideale in cui lavorare con Drupal7/Omega4 sfuttando i Ruby Gem Sass e Bundler.

 

Fase 0 - Preparazione

 Per preparare un ambiente ideale nel quale lavorare con Omega 4 bisogna avere una serie di strumenti utili soprattutto come supporto per sviluppare in Sass. Per una disamina veloce di questi strumenti e per capire perché saranno necessari, vedere QUI.

Prima di eseguire tutte le operazioni necessarie, dobbiamo aggiornare i package presenti in Ubuntu alla loro ultima versione.

$ sudo apt-get update

Questo comando carica dal file /etc/apt/sources.list l'elenco dei package installati e ricercainformazioni sulle nuove versioni ed eventuali dipendenze: non esegue alcuna installazione.

$ sudo apt-get upgrade

Recupera le nuove versioni dei pacchetti esistenti (il medesimo elenco del comando precedente) e le installa; il comando di update precedente notifica ad apt-get quali sono le nuove versioni disponibili.

Fase 1 - RVM

 

Poiché Ruby viene corredato con numerosi Gem e framework di Gem i quali possono avere delle dipendenze tra di loro, è molto importante affidare la gestione dell’installazione ad un “Ruby Version Manager”.
La mia raccomandazione è quella di usare RVM per gestire le versioni: è molto diffuso, ben supportato e ricco di funzionalità. In ogni caso consiglio di non usare apt-get: il Package Manager installerà una versione non aggiornata ed a livello System (per tutti gli utenti).
Se avete una versione RVM già installata, prima di installare Ruby aggiornatela alla versione più recente:
$ rvm get stable --autolibs=enable

 

Innanzitutto bisogna installare Curl, uno strumento per trasferire dati da e verso un server usando un protocollo tipo FTP, HTTP, HTTPS e molti altri; infatti la maniera più comoda per installare RVM è quella di utilizzare Curl.

$ sudo apt-get install curl

Fatto questo installare RVM è semplice:

$ \curl -L https://get.rvm.io | bash -s stable

Ora è consigliabile aprire un'altra sessione di terminal per fare in modo che le nuove variabili di ambiente vengano caricate; se tutto è andato bene RVM dovrebbe andare in esecuzione automaticamente. Per verificarlo eseguire:

 $ type rvm | head -n 1

che dovrebbe rispondere:

rvm is a function

Se così non fosse è perché RVM viene caricato automaticamente solo se si esegue una login shell. Per fare in modo che RVM venga caricato ad ogni istanza del terminal senza fare il login bisogna aprire in edit il file .bash_profile

$ gedit ~/.bash_profile

e copiare la riga relativa a RVM, che dovrebbe essere simile a quella sotto riportata

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

quindi aprire in edit il file .bashrc

$ sudo gedit ~/.bashrc

ed incollare la riga copiata in precedenza; infine chiudere e riaprire il terminal. La ragione per cui bisogna fare questo è che .bashrc viene eseguito ogni volta che si apre il terminal, mentre .bash_profile ogni volta che si esegue il login.
Eventualmente il comando per caricare manualmente RVM è:

 $ source rvm

Alla fine, per un corretto funzionamento, è bene installare alcune dipendenze necessarie a RVM: per esempio libc6-dev che sono le librerie standard di C. Infatti, poichè Ruby è scritto in C, è molto probabile che vengano richieste in quanto servono per compilare Ruby stesso.

 $ rvm requirements

 

---
Per completezza di informazione:
si può installare Ruby direttamente con l'installazione di RVM usando il comando seguente
$ \curl -sSL https://get.rvm.io | bash -s stable --ruby
Ciò nonostante ho preferito installare le due applicazioni in fasi distinte per motivi didattici.

 

Fase 2 - Ruby

Per sapere quali sono le versioni Ruby conosciute da RVM eseguire

$ rvm list known

Possiamo ora intallare una o più versioni di Ruby presenti nell'elenco oppure l'ultima versione; in particolare:

  • $ rvm install ruby
    per installare l'ultima versione
  • $ rvm install ruby-1.8.7-p160
    per installare una versione in elenco, ad esempio la versione 1.8.7-p160

Se decidiamo di installare l'ultima versione (rvm install ruby), con il comando

$ ruby -v

dovremmo avere come risposta

ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-linux]

che significa che è quella la versione attualmente in uso.

Per capire meglio come gestire le varie versioni installiamo anche la versione 1.9.3-p545

$ rvm install ruby-1.9.3-p545

Se ora chiediamo quale versione è in uso

$ ruby -v

otteniamo

ruby 1.9.3p545 (2014-02-24 revision 45159) [x86_64-linux]

cioè quella appena installata. Accediamo ora con una nuova shell e ripetiamo l'operazione

$ ruby -v

otteniamo

ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-linux]

Questo perché la versione di default, cioè quella che viene caricata ad ogni avvio di una nuova shell è la 2.1.1 (la prima installata). In particolare, per sapere quale versione Ruby è attualmente impostata come default digitare

$ rvm list default

e dovremmo avere come risposta

Default Ruby (for new shells)
ruby-2.1.1 [ x86_64 ]

Per cambiare la versione di default e impostarla alla 1.9.3

$ rvm --default use 1.9.3

E verifichiamo di nuovo

$ ruby -v

ruby 1.9.3p545 (2014-02-24 revision 45159) [x86_64-linux]

Accediamo ora con una nuova shell e ripetiamo l'operazione

$ ruby -v

ruby 1.9.3p545 (2014-02-24 revision 45159) [x86_64-linux]

Perfetto! Ora la 1.9.3 è la versione che viene caricata di default.

Possiamo usare temporaneamente una versione diversa da quella di default usando il comando

$ rvm use 2.1.1

Using /home/bauhouse/.rvm/gems/ruby-2.1.1

E per tornare a quella di default

$ rvm default

Come ultimo suggerimento, se vogliamo vedere la cartella in cui risiede l'installazione di Ruby attiva

$ which ruby

Per una panoramica completa dei comandi per gestire Ruby e i Ruby Gem con il framework RVM consultare il comodo sito di riferimento:

https://rvm.io/ 

Ruby mette a disposizione una collezione di librerie per lo sviluppatore denominate Gem. Per vedere come si installano, come si gestiscono e come si aggiornano fare riferimento al paragrafo "Gem" contenuto nel documento Installazione di Ruby on Rails con Ubuntu

Più avanti ne faremo uso all'interno dei temi Omega. Per adesso verificheremo solo la presenza di Bundler (fare riferimento al paragrafo "Bundler" nel documento del link precedente).

Digitare i comandi seguenti:

 

$ rvm gemset use global
$ gem list
   *** LOCAL GEMS ***
   (…)

   bundler (1.7.3)
   (…) 

Se nella lista dei Gem non dovesse apparire Bundler, installatelo con il comando seguente:

$ gem install bundler

 

 Fase 3 - Drush

Drush è un comodo tool per gestire attività inerenti a Drupal in modo semplice e veloce. Drush permette di connettersi al sito drupal.org, installare Drupal, installare moduli, abilitare moduli e molto altro ancora. La maniera migliore per installare l'ultima release di Drush su sistemi Linux è quella di farlo tramite PEAR Channel.

PEAR è l'acronimo di "PHP Extension and Application Repository". PEAR fornisce:

  • una libreria strutturata di codice open-source per utenti PHP
  • un sistema per distribuire codice e fare manutenzione dei packages
  • uno stile standard per scrivere codice PHP
  • la PHP Extension Community Library (PECL)
  • un sito web, una mailing list e server download per supportare la comunità PHP/PEAR.

La mission di PEAR è quella di fornire componenti riutilizzabili, innovare il PHP, fornire le "best practices" per lo sviluppo PHP ed istruire gli sviluppatori. Dopo queste brevi note introduttive installiamo PEAR

$ sudo apt-get install php-pear

Ora, usando PEAR, installiamo Drush:

$ sudo pear channel-discover pear.drush.org

$ sudo pear install drush/drush

Al termine, per verificare la versione installata

$ drush version

Se si dovesse verificare il seguente errore:

The following restricted PHP modes have non-empty values: disable_functions. This configuration is incompatible with drush.
Please check your configuration settings in /etc/php5/cli/php.ini or in your drush.ini file; see examples/example.drush.ini for details.

Praticamente, in ambiente Ubuntu 13.10, Drush notifica che sta utilizzando /etc/php5/cli/php.ini: bisogna editare questo file e commentare la riga che inizia con
"disable_functions=per risolvere il problema.

Se si verificasse l'errore:

Drush needs to download a library from http://download.pear.php.net/package/Console_Table-1.1.3.tgz in order to function, and the attempt to download this file automatically failed because you do not have permission to write to the library directory /usr/share/php/drush/lib. To continue you will need to manually download the package from http://download.pear.php.net/package/Console_Table-1.1.3.tgz, extract it, and copy the directory into your /usr/share/php/drush/lib directory.
 

dobbiamo scaricare Console_Table-1.1.3.tgz dal sito indicato nell'errore (semplicemente copiando l'url in un browser), poi decomprimere il file scricato in /usr/share/php/drush/lib, ovvero:

$ cd /usr/share/php/drush/lib

$ sudo tar -xvzf ~/Downloads/Console_Table-1.1.3.tgz

Finalmente il comando dovrebbe rispondere!

$ drush version
Drush Version : 6.2.0

Eventuali aggiornamenti si possono installare con il comando

$ sudo pear upgrade drush/drush

A questo punto il comando che riporta lo stato di Drush dovrebbe dare informazioni su tutto ciò che è sotto il suo controllo:

$ drush status
PHP executable : /usr/bin/php
PHP configuration : /etc/php5/cli/php.ini
PHP OS : Linux
Drush version : 6.2.0

A questo punto ci serve una versione di Drupal 7. Ne abbiamo già una installata? Bene, in questo caso proseguiamo con l'installazione di Omega 4. Altrimenti trovate QUI una guida per farlo utilizzando, appunto, Drush.

Fase 4 - Omega 4

Per installare Omega entriamo nella cartella dei temi della versione Drupal che vogliamo usare:

$ cd drupal7_test/sites/all/themes

ed eseguirne il download

$ sudo drush dl omega

poi pulire la cache

$ drush cc all

Ora che Omega 4 è presente creiamo un sotto tema

$ sudo drush omega-wizard

Viene eseguito un wizard che chiede nell'ordine

  • un nome per il nuovo tema (per esempio "Omega Test")
  • il nome "machine-readable" del nuovo tema: possiamo accettare quello proposto ("omega_test")
  • quale tema base utilizzare per creare il sotto tema (suggerisco di usare Omega)
  • quale starterkit usare (usare l'unico presente: Default)
  • inserire la cartella di destinazione dove vogliamo inserire il sotto tema
  • alle domande successive rispondere sempre y[es]

Adesso il sotto tema è installato: possiamo verificare come è stato modificato l'ambiente Drush

$ drush status

...
Default theme :  omega_test
...

Notiamo che il sottotema di Drupal attivo è omega_test

Probabilmente, quando nell'area admin di Drupal farete delle modifiche al sotto tema, verrà evidenziata una notifica i cui si suggerisce di esportare le impostazioni del tema nel file .info

The settings for this theme are currently served from a variable. You might want to export them to your .info file.

Per effettuare questa operazione c'è un altro wizard; per usarlo pulire innanzitutto la cache

$ drush cc all

A questo punto esportare i settings del sottotema dal db al file .info:

$ sudo drush omega-export

Il wizard chiederà di selezionare il sotto tema su cui vogliamo operare ("omega_test")

Ripulire il database dai settaggi:

$ sudo drush omega-revert

il wizard chiederà di selezionare il sotto tema su cui vogliamo operare ("omega_test")

Fase 5 - Ruby Gem

Se adesso accediamo alla cartella del sotto tema appena creato

$ cd /var/www/drupal7_test/sites/all/themes/omega

$ cd omega_test 

vediamo che vengono iniziallizzati automaticamente i Ruby Gem per il sotto tema

ruby-1.9.3-p545 - #gemset created /home/bauhouse/.rvm/gems/ruby-1.9.3-p545@omega.omega_test
ruby-1.9.3-p545 - #generating omega.omega_test wrappers...........

Se dovesse apparire il messaggio

ruby-1.9.3-p484 is not installed

bisogna installare la versione indicata se ancora non è stato fatto, cioè

$ rvm install ruby-1.9.3-p484

e poi attivarla

$ rvm --default use 1.9.3

Visualizziamo l'elenco dei Gem installati

$ rvm gemset list
gemsets for ruby-1.9.3-p545 (found in /home/bauhouse/.rvm/gems/ruby-1.9.3-p545)
(default)
global
=> omega.omega_test

Notiamo che per il nostro sotto tema che c'è solo global (global.gems), che è il package che viene installato insieme a Ruby.

N.B.

  • Per sapere quali sono tutti i Gem disponibili per ogni versione di Ruby:
    $ rvm gemset list_all
  • La cartella in cui si trovano i GemSet della versione Ruby attiva si ottiene con
    $ rvm gemdir

Ora installiamo i Gem di cui avremo bisogno: Bundler (dovrebbe essere già stato in precedenza...), Sass, Comapass (per una veloce disamina sulla necessità di avere questi Gem rimando alla guida

Sass, Ruby, Gems, Compass, Susy, RVM ...

Aggiorniamo i Gem installati all'ultima versione ...

$ gem update --system

Quindi, per attivare la gestione delle versioni del Gem di Bundler, entrare nel tema (ad esempio /var/www/drupal7/sites/all/themes/omega)

$ cd /var/www/drupal7/sites/all/themes/omega

Cambiare i diritti della cartella dove installare il bundle:

$ sudo chown -R $(whoami):$(whoami) omega_test

eseguire

$ cd omega_test

$ bundle install

Verranno installati una serie di Gems, in base all'elenco che si trova nel file Gemfile; al termine troverete anche un file che si chiama Gemfile.lock che contiene le versioni attuali dei Gem installati. Questo fa si che il controllo versioni di Bundler funzioni: quando verrà rilanciato il comando "bundle install" verrà utilizzato, come sorgente delle informazioni sui Gem da installare, il nuovo file Gemfile.lock. In particolare, usando il comando

$ gem list

dovremmo trovare nell'elenco

 compass (0.12.3)
rubygems-bundler (1.4.2)
rvm (1.11.3.9)
sass (3.2.14)

Un'altra maniera per verificare l'elenco dei Gem installati per il tema in oggetto è quella di eseguire il comando

$ bundle show

Infine, per vedere i parametri del Compass installato

$ compass version

Per ogni eventualità Compass/Sass può essere installato manualmente come segue:

$ gem install compass

Se si verificasse un errore contenente la stringa:

ubuntu require': cannot load such file -- sass/script/node (LoadError)

si sistema semplicamente disistallando Saas e reinstallandolo:

$ gem uninstall sass

$ gem install sass

Come ultima nota suggerisco di installare css_parser per poter sfruttare le funzionalità di Compass Stats per produrre le statistiche degli stylesheet Sass. E' possibile generare un report che conteggia le regole, le proprietà, i mixins definiti e i mixins usati sia per Sass che per CSS. Se non fosse già presente nell'elenco dei Gem installati (gem list) eseguire il comando 

$ gem install css_parser

Commenti  

 
0 # Tegan 2018-12-03 15:36
Thankfulness The Quickest Way To
Build Muscles Eat Muscle Building Food: http://forum.microburstbrewing.com/index.php?action=profile;u=163599 my father who
told me about this web site, this weblog is in fact awesome.
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Alma 2018-11-19 00:46
I have noticed you don't monetize your blog, don't
waste your traffic, you can earn additional cash every
month. You can use the best adsense alternative
for any type of website (they approve all websites),
for more info simply search in gooogle: boorfe's tips monetize your website

My webpage; BestKendra: https://CleverCierra.blogspot.com
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Boris 2018-11-18 20:49
Hi. I see that you don't update your website too often. I know that writing content
is time consuming and boring. But did you know
that there is a tool that allows you to create new posts using existing content (from article directories or other blogs
from your niche)? And it does it very well.

The new articles are high quality and pass the copyscape
test. Search in google and try: miftolo's tools

my weblog: DixieJuicy: https://IsidraSick.wix.com
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Teodoro 2018-11-16 15:01
WOW just what I was looking for. Came here by searching
for benefits of protein shakes

Feel free to visit my web page ... Alpha Flex XT Testosterone Booster: http://tiergames.com/muscle-building-supplements-do-chatting-about-how-need-themselves/
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Kazuko 2018-11-15 15:50
Whats up this is somewhat of off topic but I was
wondering if blogs use WYSIWYG editors or if you have
to manually code with HTML. I'm starting a blog soon but have no coding skills so I wanted to get advice from someone with experience.
Any help would be enormously appreciated!

Also visit my blog - Sandy: http://stumbleupon.com
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Lucy 2018-11-13 08:40
Everyone loves what you guys are up too. This sort of clever work and reporting!

Keep up the great works guys I've added you guys to my personal blogroll.


Feel free to visit my site :: usatoday.com: http://usatoday.com
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Eula 2018-11-04 00:01
Hi. I see that you don't update your blog too often.
I know that writing articles is time consuming and boring.

But did you know that there is a tool that allows you to create new articles using existing content (from article
directories or other blogs from your niche)?
And it does it very well. The new posts are high quality and
pass the copyscape test. Search in google and try: miftolo's tools

My web-site :: RashadJuicy: https://NiamhBad.blogspot.com
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Dollie 2018-11-01 10:50
Unquestionably believe that which you stated.

Your favorite justification seemed to be on the net the easiest thing to be aware of.
I say to you, I certainly get irked while people consider worries that they just don't know about.
You managed to hit the nail upon the top as well as defined out the whole thing without having side effect ,
people could take a signal. Will probably be back to get more.
Thanks

Take a look at my web-site ... google.co.in: http://google.co.in
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Charlie 2018-11-01 05:40
I visited various web sites except the audio feature for audio songs existing at this web site is truly wonderful.


Also visit my web site; jiathis.com: http://jiathis.com
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Jackson 2018-10-25 05:03
I have noticed you don't monetize your website, don't waste your traffic, you
can earn additional bucks every month. You can use
the best adsense alternative for any type of
website (they approve all websites), for more info simply search in gooogle: boorfe's tips monetize your website

Feel free to surf to my weblog: BestPhil: https://CleverHolley.blogspot.com
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Henry 2018-07-26 04:54
Excellent goods from you, man. I have keep in mind your stuff prior to and
you are simply too wonderful. I actually like what you have bought right here,
certainly like what you're stating and the way in which by
which you say it. You make it enjoyable
and you continue to take care of to stay it sensible. I can't wait to learn far more from
you. This is really a terrific web site.

Here is my blog post ... Rvxadryl Male Enhancement Review: http://freest.at/rvxadrylmaleenhancementreview917099
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Robbie 2018-07-26 03:30
It's difficult to find knowledgeable people in this particular subject,
however, you seem like you know what you're talking
about! Thanks

Here is my web-site ... CDX
Labs CBD Oil: http://otera-portal.info/rank.php?mode=link&id=18212&url=https://beatoftheweek.com/mobile/Booker6926295217/info/
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Star 2018-07-15 22:53
I am not positіve where you're getting your information, but good topic.
Ӏ must spend a while finding out much more or working out
more. Τhɑnk you for great іnformation I used tto be on the lookout for this info
for my miѕsiօn.

Нere iѕ mmy blog lommekniv tilbehor: https://schweizerknive.carbonmade.com/about
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Guestawact 2018-04-27 18:50
guest test post
bbcode: http://temresults2018.com/
html
http://temresults2018.com/ simple
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Online Homework 2018-02-28 14:59
essays george orwell persuasive essays application essays essay writer bids: http://essays.store
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Paper Writer Free 2018-02-26 01:58
essays essays essays essays: http://essays.store
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Best Payday Loan 2018-02-09 20:23
loans in pa personal loans personal loans private money lending: http://personalloans.store
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Money Loan 2018-02-08 02:08
cheap personal loans cheap personal loans personal loans credit personal loans: http://personalloans.store
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Spotloan 2018-02-06 06:37
small personal loans personal loans credit check loans personal loans no credit: http://personalloans.store
Rispondi | Rispondi con citazione | Citazione
 

Aggiungi commento

Codice di sicurezza
Aggiorna

Joomla Templates by Joomla51.com