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 # Buster 2019-05-21 12:12
Ahaa, its pleasant discussion regarding this article here at
this weeb site, I have read all that, so at this time me also commenting at
this place.

Here is myy blog; lpe88 apk: https://kasinovin.com/downloads/70-download-lpe88
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Adelaide 2019-05-21 09:32
Then llet everyone come lets start work on their own original artwork.

Designate sopmeone as the official picture-taker and then let them make an exhibition of your fun day
out. Pumpkin carving is another clasic crtaft activity.



Look into my homepage - sky777 casino: http://casino1391.com/online-gambling-and-slot-machines-what-are-they/
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Mark 2019-05-21 09:24
With each New Year, countless as well as men women wish
to finally get slimmer their overweight bodies. These are just some of the places on how to meet typically.
You can download these apps from mobile app stores.

Have a look at my web blog live poker hand replayer: http://jobwest.com.ua/forum/member.php?u=40669-Steve2892
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Ngan 2019-05-21 09:05
Article writing is also a excitement, if you know
theen you can write otherwise it is complicated to write.

Feel free to visit my weblog play8oy android download: https://918.network/casino-games/73-playboy-casino
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Margarita 2019-05-21 07:24
When were, he previously be liberated to be as well as honest with both dads and moms.
Showing respect to your friend is beneficial as per
the relationship advice online. Next, determine where your
focus is able to be.

My weblog: rollex11 download: http://www.ezyget.com/index.html
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Karolyn 2019-05-21 06:53
Is it well-organized or lying all ober the place? Every day I dreaded needin to contact them about questions or concerns
I can result in encountered. The point within the parable iss
don't stop praying and asking.

Review my site ... sky777: http://sky777.fun/
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Johnnie 2019-05-21 06:11
Excellent blog! Do you have any tips for aspiring writers?

I'm hoping to start my own blog soon but I'm a little lost on everything.

Would you sugest starting with a free platform
like Wordpress or go for a paid option? There are so many options out
theere that I'm totally confused .. Any tips?
Bless you!

Feel free to visit my webpage - live22 download: https://kasinovin.com/downloads/71-download-live22
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Nickolas 2019-05-21 05:56
You can write guest blogs tips websites may can get backlinks there.

However can pick your hourrs of work, the hours may be extremely long to produce enough
post.

Here is myy site; lpe88 download: https://scr888.group/live-casino-games/2482-lpe88-lucky-palace-casino
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Merry 2019-05-21 00:41
Hello! I know this is somewhat off-topic however I had to ask.

Does managing a well-establishe d website such as yours take a massive amount work?

I'm completely new to blogging but I do write in my
diary everyday. I'd like to start a blog so I can share my
personal experience and views online. Please let me know if you have
any kind of suggestions or tips for new aspiring bloggers.
Thankyou!

Feel free to visit my website; https://ketogenesys.org/: http://tennesseesheep.org/classifieds/user/profile/124959
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Leandra 2019-05-21 00:12
We wish to thank you just as before for the beautiful ideas you gave Jesse when preparing her post-graduate
research and also, most importantly, with regard to providing
the many ideas in a single blog post. In case we had been aware of your website a
year ago, we'd have been rescued from the needless measures we were selecting.
Thank you very much.

Stop by my blog post ... KetoGenesys Keto
Blend Review: https://www.bankingonafrica.com/groups/eat-healthy-to-feel-healthy-1055827882/
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Rory 2019-05-20 22:56
Thanks for finally talking about >BauWorld - Installazione ambiente per Drupal/Omega
Rispondi | Rispondi con citazione | Citazione
 
 
0 # Madonna 2019-05-20 21:52
Awesome things here. I'm very satisfied to see your post.
Thank you a lot and I am having a look ahead to contact you.
Will you please drop me a e-mail?

my website; Select Essence
Keto: http://onlinehairaffair.com/author/jarredhendr/
Rispondi | Rispondi con citazione | Citazione
 

Aggiungi commento

Codice di sicurezza
Aggiorna

Joomla Templates by Joomla51.com