Archimista tips & tricks #8: installare Archimista server su linux (reload) [ubuntu 14.04]

UPDATE: Questa guida non è valida per Archimista 2.0, seguire invece la guida #14

Uno dei miei post più letti su Archimista è quello relativo all’installazione su server linux (in particolare ubuntu 12.04).

Quel documento è in parte superato in modo specifico per l’ultima versione di ubuntu 14.04 uscita di recente. Ad esempio ruby 1.8.7 non è più incluso tra i pacchetti disponibili visto che, come segnalavo, non è più supportato. Se avete installato ruby1.8 in una versione precedente di ubuntu all’aggiornamento vi chiederà di disinstallarlo.

Inoltre le ultime versioni di alcune gemme non sono più compatibili con ruby 1.8 sicché bisogna specificare la versione da installare in modo che sia compatibile.

A grandi linee i possaggi che ho seguito per installarlo su ubuntu 14.04 sono:

  • scaricare i sorgenti  da https://github.com/codexcoop/<archimista/zipball/master
  • crearsi una directory per le webapps di ruby ad esempio
    sudo mkdir /usr/local/webapps
  • copiare il contenuto dello zip nella directory di sopra (magari rinominando codexcoop etc in archimista)
  • installare un po’ di requisiti
    sudo apt-get install curl mysql-server mysql-client libmysqlclient-dev apache2  imagemagick libcurl4-openssl-dev apache2-threaded-dev libapr1-dev libaprutil1-dev libxslt-dev libxml2-dev

    A differenza della guida precedente qui installiamo solo apache, mysql e un po’ di pacchetti che ci serviranno per compilare qualche gemma. Non installiamo Ruby (come detto la versione 1.8 non è supportata) né passenger (che installato da pacchetti su ubuntu 14.04 richiederebbe ruby 1.9). Li installeremo a “mano”

  • Installiamo “manualmente” la versione 1.8.7 di ruby usando RVM (uno script che permette di installare facilmente più versioni di ruby e spostarsi fra esse)
    \curl -L https://get.rvm.io | bash -s stable

    Come indicato nella guida di rvm, riavviare il terminale poi

    source ~/.rvm/scripts/rvm

    A quel punto dando

    type rvm | head -n 1

    Dovremmo ottenere “rvm è una funzione”

  • Controlliamo che tutti i requisiti di RVM ci siano, installiamo con RVM ruby 1.8.7 e diciam al sistema quale versione di rubygems usare:
    rvm requirements
    rvm install 1.8.7
    gem update --system 1.8.25
  • Installiamo rails e rdoc
    gem install -v=2.3.17 rails
    gem install rdoc rdoc-data
    rdoc-data --install
  • Installiamo un po’ di gemme specificando a volte la versione laddove ci siano delle incompatibilità con ruby 1.8. A volte ci sarà qualche errore nella creazione della documentazione, possiamo ignorarli:
    gem install pdfkit fastercsv mysql
    gem install nokogiri -v=1.5
    gem install rubyzip -v=0.9.9
    gem install passenger
  • Installiamo passenger
    passenger-install-apache2-module

    L’installer controllerà se i requisiti sono presenti e procederà alla compilazione. Al termine ci fornirà alcune righe da inserire nella configurazione di apache.
    Personalmente ho inserito quelle istruzioni in un nuovo file

    sudo nano /etc/apache2/mods-available/passenger.load

    E poi ho attivato il modulo con sudo a2enmod passenger

  • A questo punto ci rimangono tre gemme da installare: paperclip, ancestry e rtf. Il problema anche qui è l’incompatibilità con Ruby 1.8.7 o, meglio, spesso sono le dipendenze di queste gemme a essere incompatibili etc. Potremmo scaricare i sorgenti di queste gemme e modificare i gemfile in modo da settare con precisione la versione delle dipendenze da installare. Ma c’è un modo più semplice anche se non molto elegante. Procuriamoci le gemme nell’installer di windows. Queste si trovano in C:\Program Files (x86)\Archimista\ruby\lib\ruby\gems\1.8\cache o C:\Programmi\Archimista\ruby\lib\ruby\gems\1.8\cache o altra cartella i cui avete installao archimista su windows. Altrimenti potete prendere tutt le gemme dal mio dropbox.
  • Copiatevi la cartella cache e stando dentro la cartella date:
    gem install --local ancestry-1.2.4.gem
    gem install --local paperclip-2.7.2.gem
    gem install --local rtf-0.5.0.gem
  • Ci siamo quasi, settiamo il database:
    sudo cp /usr/local/webapps/archimista/config/database-example.yml /usr/local/webapps/archimista/config/database.yml
    sudo nano /usr/local/webapps/archimista/config/database.yml

    Decommentiamo (leviamo i #) nella parte che ci interessa facendo attenzione a mantenere l’indentazione, esempio nel mio caso, per mysql:

    production:
    adapter: mysql
    host: 127.0.0.1
    encoding: utf8
    database: archimista_production
    pool: 5
    username: root
    password: miapassword
    socket: /tmp/mysql.sock
  • stando nella directory /usr/local/webapps/archimista eseguire il task
    rake gems:install RAILS_ENV=production
  • stando nella directory /usr/local/webapps/archimista eseguire il task
    rake db:setup RAILS_ENV=production
  • dare un bel:
    sudo chmod -R 755 public
    sudo chown -R www-data:www-data /usr/local/webapps/archimista
  • creare il file di configurazione per apache:
    sudo nano /etc/apache2/sites-available/archimista.conf

    mettiamoci dentro (notare che è differente dalle istruzioni della precedente guida a causa del passaggio da apache 2.2 a 2.4)

    &amp;lt;VirtualHost *:80&amp;gt;
    ServerName localhost
    DocumentRoot /usr/local/webapps/archimista/public
    &amp;lt;Directory /usr/local/webapps/archimista/public&amp;gt;
    Require all granted
    Options -MultiViews
    &amp;lt;/Directory&amp;gt;
    &amp;lt;/VirtualHost&amp;gt;

    Se vogliamo usare una porta diversa, esempio 3000, ricordarsi di aprirla in /etc/apache2/ports.conf

  • abilitare la configurazione con
    sudo a2ensite archimista.conf
  • riavviare apache
    sudo service apache2 reload
  • collegarsi a localhost e loggarsi con le credenziali admin_archimista/admin_archimista se si vuole essere amministratori o guest/guest come utenti normali

2 pensieri su “Archimista tips & tricks #8: installare Archimista server su linux (reload) [ubuntu 14.04]

  1. Pingback: Archimista tips & tricks #9: installare ArchimistaWeb su linux [ubuntu 14.04] | Frammenti Semantici
  2. Pingback: Archimista tips & tricks #14: Installare Archimista 2 server su linux [ubuntu] | Frammenti Semantici

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...