Logo Mapa da CulturaEste tutorial mostrara como instalar a plataforma para mapeamento cultural Mapa da Cultura. O Mapa da Cultura é um Software Livre sobre a licença GPLv3, desenvolvido em Ruby on Rails 3.2.13 com base de dados em PostgreSQL e que utiliza o OpenLayers (Open Street Map).

Utilizaremos o Phusion Passenger, um módulo para deploy de aplicativos Web desenvolvido em Ruby sobre o Servidor Web de alta performance NGINX usando o sistema operacional GNU/Linux Debian 7.0 Wheezy.

1) Preparando o Ambiente

Primeiro vamos instalar as dependências para o Mapa da Cultura. Para realizar este tutorial é necessário esta logado como administrador do sistema (root) e que a máquina tenha acesso a Internet.

1.1) Edite o arquivo contendo os repositórios

  nano /etc/apt/sources.list

1.2) Acrescente as seguintes linhas no final do arquivo sources.list, salve (CTRL + o) e saia do nano (CTRL + x)

  deb http://ftp.br.debian.org/debian wheezy main contrib
  deb-src http://ftp.br.debian.org/debian wheezy main contrib

1.3) Atualize a base de pacotes local

  apt-get update

1.4) Instale as dependências iniciais para o Mapa da Cultura

  apt-get install git ruby1.9.1-full rubygems postgresql default-jre libcurl4-gnutls-dev postgresql-server-dev-9.1 libxml2-dev libxslt-dev imagemagick ffmpeg libgraphicsmagick1-dev libgraphicsmagick++1-dev libmagick++-dev build-essential

  * Opcionalmente limpe o cache dos pacotes baixados com o comando: apt-get clean

2) Instalando o Mapa da Cultura

2.1) Baixe o Código Fonte do Mapa da Cultura do repositório no Gitorious

  - Clonado o repositório do Mapa da Cultura

  git clone https://git.gitorious.org/mapa-da-cultura/mapa-da-cultura.git /var/lib/mapa-da-cultura

  - Instale as depedências do Ruby on Rails para o Mapa da Cultura

  cd /var/lib/mapa-da-cultura

  gem install bundle

  bundle install

2.2) Configurando o Banco de Dados PostgreSQL

  nano /etc/postgresql/9.1/main/postgresql.conf

  - Descomente a linha (Retirar o #)

  #listen_addresses = 'localhost'

  - Alterar modo de acesso ao Banco de Dados

  nano /etc/postgresql/9.1/main/pg_hba.conf

  - Alterar a linha

  host    all             all             ::1/128                 md5

  - Para

  host    all             all             ::1/128                 trust

  - Re-inicie o PostgreSQL

  service postgresql restart

2.3) Configurando o acesso ao Banco de Dados do Noosfero

  nano /var/lib/mapa-da-cultura/config/database.yml

  - Adicionar ao arquivo config/database.yml

  development:
    adapter: postgresql
    database: mapadacultura_development
    username: postgres
    password:
    host: localhost

  test: &TEST
    adapter: postgresql
    database: mapadacultura_test
    username: postgres
    password:
    host: localhost

  production:
    adapter: postgresql
    database: mapadacultura_production
    username: postgres
    password:
    host: localhost

3) Iniciando o Mapa da Cultura

3.1) Criando o Banco de Dados

  RAILS_ENV=development bundle exec rake db:create
 
  RAILS_ENV=development bundle exec rake db:migrate

3.2) Iniciando o Apache Solr (Indexador)

  RAILS_ENV=development bundle exec rake sunspot:solr:start

3.3) Preenchendo os Dados Iniciais do Mapa da Cultura

  - Populando o Banco de Dados (Credenciais e Parâmetros iniciais)

  RAILS_ENV=development bundle exec rake db:seed

4) Configurando o Nginx com o Phusion Passenger

4.1) Instaland o Phusion Passenger

  - Instalando a Gem

  gem install passenger -v='3.0.19'

  - Instalando e Compilando o NGINX com o Módulo Phusion Passenger

  passenger-install-nginx-module

  * Observação: Selecione a Opção 1 e deixe o diretório /opt/nginx como destino

4.2) Configurando o NGINX
 
  - Apague a configuração antiga do nginx.conf

  rm /opt/nginx/conf/nginx.conf

  - Crie/Edite um novo arquivo de configuração

  nano /opt/nginx/conf/nginx.conf

  - Acrescente ao arquivo de configuração nginx.conf

  user www-data;
  worker_processes 1;

  events { worker_connections  256; }

  http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile      on;
    keepalive_timeout 15;

    passenger_root /var/lib/gems/1.9.1/gems/passenger-3.0.19;
    passenger_ruby /usr/bin/ruby1.9.1;

    server {
        listen       80;
        server_name  localhost;

        passenger_enabled on;
        rails_env development;

        root /var/lib/mapa-da-cultura/public;

        error_log  /opt/nginx/logs/mapa-da-cultura.error.log;
        access_log /opt/nginx/logs/mapa-da-cultura.access.log;

        error_page 500 502 503 504 /50x.html;
        location = /50x.html { root html; }
    }
  }

  - Redefina Dono/Grupo do Mapa da Cultura

  chown www-data.www-data /var/lib/mapa-da-cultura -R

4.2) Iniciando o Servidor Web Nginx e testando a aplicação em Ruby on Rails

  - Inicie o Nginx

  /opt/nginx/sbin/nginx

5) Acesse a nova instalação do Noosfero

  - No Navegador

  http://localhost

  Login: admin@localhost.org
  Senha: 123456789