Instalando o Mapa da Cultura no Debian 7.0 (Wheezy) com o NGINX usando o Phusion Passenger
марта 26, 2013 21:00 - no comments yetEste 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
Divulgacao FLISOL 2013 nas redes
марта 26, 2013 21:00 - no comments yetNesta quarta-feira (27 de março) faltará exatamente 1 mês para a realização do FLISOL - Festival Latino-americano de Instalação de Software, que acontecerá no dia 27 de abril de 2013 em várias cidades.
Para marcar esta data e chamar a atenção do público para o evento, pedimos a todos aqueles que tem um site/blog que postem na quarta-feira uma notícia sobre o FLISOL. Pode ser um texto explicando o que é o FLISOL e/ou quais cidades brasileiras estão participando. Ou mesmo uma pequena nota sobre o evento com um banner já nos ajudará.
Lembre-se de colocar um link para o site oficial http://www.flisol.info/Brasil
Neste link você poderá ver mais informações sobre o FLISOL para ajudar a elaborar sua notícia.
Depois de postar o seu texto, comece a divulgar nas redes como identi.ca, twitter, facebook, softwarelivre.org, etc, usando a hashtag #FLISOL. Para sabermos que você escreveu, pode copiar na mensagem @flisolbr ou deixar o link da notícia aqui nos comentários.
Nós iremos divulgar a sua notícia usando nossos perfis nas redes, e nossos colaboradores também irão replicar essas mensagens. Seu site/blog ganhará uma boa visibilidade na comunidade.
Paulo Henrique de Lima Santana - Coordenador nacional do FLISOL no Brasil.
MSXDUMP v0.2 (final) liberado no SourceForge.net
марта 24, 2013 21:00 - no comments yet
MSXDUMP v0.2 (final) liberado no SourceForge.net
Finalmente após as previsões extremamente otimistas feitas no final do ano passado quando lancei a primeira versão do primeiro utilitário da suite MSX Disk Doctor (MSXDD), denominado MSXDUMP e que finalizaria o mesmo em dezembro de 2012, posso dizer que esse software está completamente pronto e funcional, incluindo o suporte a dispositivos de armazenamento em massa de grande capacidade (IDE) que eu havia prometido.
Com isso, o MSXDUMP v0.2 pode editar setores em dispositivos conectados à interfaces IDE Sunrise-like, de fabricantes como ACVS, Tecnobytes e lógicamente Sunrise.
Abaixo vou fazer uma compilação de algumas informações que já foram descritas nos posts anteriores sobre oMSXDUMP e que fazem mais sentido que estejam centralizadas nesse post final, uma vez que se trata da versão final estável do software e também porque existem modificações no comportamento de alguns parâmetros que foram redefinidos e não serão mais modificados a partir dessa versão.
Operação através do teclado
Com uma interface tradicional característica da maioria dos editores de setores, o MSXDUMP tem alguns poucos shortcuts que permitem ao usuário um completo controle sobre a edição de arquivos e setores.
Os shortcuts estão descritos logo abaixo:
- SELECT – Alterna o modo de operação das setas direcionais. Quando em modo DISK, as setas direcionais podem avançar ou retroceder o ponteiro de setor/arquivo que está sendo editado. No modoEDIT, as setas direcionais podem se movimentar pelos dados exibidos na tela, permitindo assim a edição do buffer de memória que está sendo visualizado;
- CTRL+S – Quando em modo DISK, essa combinação de teclas salva o conteúdo do buffer carregado;
- CTRL+A – Quando em modo DISK, avança o ponteiro de setor/arquivo, carregando e exibindo os dados do setor lido. As direcionais UP e RIGHT, quando em modo DISK, tem a mesma função de CTRL+A;
- CTRL+R - Quando em modo DISK, retrocede o ponteiro de setor/arquivo, carregando e exibindo os dados do setor lido. As direcionais DOWN e LEFT, quando em modo DISK, tem a mesma função de CTRL+R;
- Direcionais UP, DOWN, LEFT, RIGHT – Quando em modo EDIT, podem ser utilizadas livremente para posicionar o cursor no dado a ser modificado;
ATENÇÃO:
O MSXDUMP não salva o conteúdo editado pelo usuário “automagicamente“, por isso, sempre que se editar dado, deve-se sair do modo de edição (através de SELECT) e salvar o buffer atual, antes de navegar para o próximo setor, senão a alteração será perdida ao se mudar de setor.
Parâmetros de startup por linha de comando.
O MSXDUMP pode ser iniciado com as seguintes opções de linha de comando.
-h Mostra a tela de help do MSXDUMP. Chamar o software com uma opção inválida ou sem parâmetros, também ativa a tela de help;
-f <filename> Essa opção especifica o nome do arquivo que se deseja editar, onde <filename> pode conter uma especificação completa da origem do arquivo, no formato drive:\path\filename, aceito pelo MSXDOS 2;
Ex (MSXDOS2): msxdump -f a:\MSXDD\MSXDUMP.PAS
Ex (MSXDOS): msxdump -f MSXDUMP.PAS-d <drive> Essa opção especifica a unidade de disco dos setores a serem editados. Pode ser qualquer unidade de disco (A:, B:, C:, …., H:) aceita pelo MSX, incluindo dispositivos FLOPPY, IDE e RAMDISK;
Ex: msxdump -d a:
-s <sector_number> Essa opção especifica onde o ponteiro de setores será posicionado inicialmente para edição através do MSXDUMP. Um detalhe importante para o parâmetro -s <sector_number>, a partir dessa versão, é que número do setor especificado no parâmetro pode ser qualquer valor de zero até o limte máximo de um inteiro sem sinal (unsigned) de 24bits, nesse caso, 16777215.
Outro detalhe importante sobre o valor de <sector_number> é que o mesmo descreve o numero do setor de maneira relativa à partição apontada pela unidade especificada no parâmetro -d <drive>. Para discos conectados a uma IDE, onde geralmente existe mais de uma unidade mapeada a um unico dispositivo IDE, cada unidade inicia em um setor físico diferente de 1.Considere um disco IDE com duas partições FAT12. A primeira partição (drive A:) inicia em 1 e a segunda partição (drive B:), digamos que por exemplo inicie em 65000.
Com base nesse cenário, caso o MSXDUMP seja chamado conforme exemplo abaixo:
Ex: msxdump -d b: -s 1
O MSXDUMP irá posicionar o ponteiro do disco no setor físico relativo à posição inicial da unidade B:, ou seja, 65001.
-a Essa opção especifica que o valor apontado por <sector_number> será sempre absoluto, ou seja, se o parâmetro -a for chamado no startup, o valor de <sector_number> será interpretado como a posição absoluta no disco, independente da posição física do primeiro setor da unidade de disco especificada em -d <drive>;
Considerando o mesmo exemplo anterior, onde temos um disco IDE com duas partições FAT12. A primeira partição (drive A:) inicia em 1 e a segunda partição (drive B:), digamos que, por exemplo, inicie em 65000.
Com base nesse cenário, caso o MSXDUMP seja chamado conforme descrito abaixo:
Ex: msxdump -d B: -s 1 -a
Na verdade o setor físico do disco será posicionado no primeiro setor do dispositivo IDE, ou seja, no setor 1 do drive A:, uma vez que estamos trabalhando no modo de apontamento absoluto.
OBS: O modo padrão de apontamento de setores do MSXDUMP é sempre relativo à posição fisica inicial do setor da unidade de disco selecionada, caso queira mudar para o modo absoluto, especificar a opção -a no startup da aplicação.
Código fonte
Juntamente com o MSXDUMP foi desenvolvido um Framework com funções que possibilitam acesso em alto nível a funcionalidades internas do MSX, como chamadas a funções da BIOS, funções do sistema operacional MSXDOS,MSXDOS2, chamadas à funções de baixo nível da IDE Sunrise-like, funções de matemáticas para manipulação de BigInt, o que possibilitou a manipulação de setores em 24Bits presente nas IDE Sunrise-like, dentre outras possibilidades que já estão disponíveis e outras que estão planejadas para futuros desenvolvimentos.
Os fontes foram desenvolvidos em Turbo Pascal 3 e Assembly Z80, estão completamente comentados e disponíveis no repositorio do projeto, o Old Skool Tech, sob licença GPLv3.
Apesar de ter otimizado o código visando um melhor aproveitamento de memória e velocidade, infelizmente não foi possível gerar um binário único, uma vez que o software foi pensado para funcionar em qualquer MSX com no mínimo64Kb e MSXDOS.
No futuro pretendo otimizar mais o Framework e adicionar a possibilidade de trabalhar com módulos carregáveis, como nos sistemas operacionais modernos como Windows (.DLL) e Linux (.SO) e também adicionar suporte a deteção e uso de todas as memórias existentes no MSX, como Memory Mapper e Megaram.
Mas enquanto isso não acontece, precisei deixar o MSXDUMP em 3 binários separados, conforme descrevo abaixo:
MSXDUMP – Módulo base para edição de arquivos (MSXDOS e MSXDOS2);
MSXDUMPD – Módulo base para edição de setores (FLOPPY, IDE, …);
MSXDUMPH – Help do sistema;
Todos os módulos binários estão interconectados, ou seja, se por exemplo o módulo MSXDUMP for chamado com opções suportadas apenas pelo MSXDUMPD, o primeiro chama o segundo repassando para esse o controle da operação.
Instalação
A instalação do MSXDUMP é simples, basta copiar todos os binários para uma pasta (no caso do MSXDOS2) e adicionar essa caminho na variável de ambiente PATH do MSXDOS2, conforme exemplo abaixo:
SET PATH=<suas definições de PATH aqui> B:\MSXDD
Outro detalhe muito importante é definir uma variável de ambiente no AUTOEXEC.BAT do MSXDOS2, chamada MSXDDe setar essa variável com o caminho de onde está instalado o MSXDUMP e também onde estarão os futuros utilitários doMSX Disk doctor, conforme exemplo abaixo:
SET MSXDD=B:\MSXDD
Com isso os binários estarão interconectados e um poderá chamar o outro, conforme expliquei anteriormente.
Considerações finais e download.
Bom, realmente no ano passado e inicio desse ano dediquei bastante tempo nesse software e toda a base do Frameworkdesenvolvido, entretanto agora é hora de colher os frutos desse trabalho pois daqui para frente os novos projetos serão cada vez mais fáceis de desenvolver, uma vez que a base já está criada e estará com novas features a cada novo lançamento.
Se tudo der certo, em breve teremos um dd, ScanDisk e um Defrag, para compor e ampliar a suite MSX Disk Doctor.
Segue abaixo os links para download do código fonte e binários do MSXDUMP v0.2.
MSXDUMP v0.2 – Código Fonte (Old Skool Tech – SourceForge.net)
http://sourceforge.net/projects/oldskooltech/files/MSX/MSXDD/v0.2/msxdd-src.zip/download (Zip)
http://sourceforge.net/projects/oldskooltech/files/MSX/MSXDD/v0.2/msxdd-src.lzh/download (Lzh)
MSXDUMP v0.2 – Binários (Old Skool Tech – SourceForge.net)
http://sourceforge.net/projects/oldskooltech/files/MSX/MSXDD/v0.2/msxdd-bin.zip/download (Zip)
http://sourceforge.net/projects/oldskooltech/files/MSX/MSXDD/v0.2/msxdd-bin.lzh/download (Lzh)
[]‘s
PopolonY2k
Lançada edição n.43 da Revista Espírito Livre
марта 22, 2013 21:00 - no comments yet
Revista Espírito Livre – Ed. #043 – Outubro 2012
Revista Espírito Livre - Ed. n #043 - Outubro 2012
Muito se fala do uso do software livre, do opensource e dos padrões abertos em ambientes educacionais e na academia. Muitos casos de sucesso são relatados aos quatro cantos. Até parece fácil implementar uma política de uso de software livre nestes espaços. Mas não é bem assim. E é por esta razão que a edição especial sobre o tema Educação foi lançada. Ao longo de nossos vários anos de caminhada percebemos que ainda existe muito a ser feito. Vários alunos sequer sabem o que é software livre e para que serve. Muitos confundem e associam o acesso ao código fonte com insegurança ou ainda o fato do termo “livre” representar algo como gratuidade. Alguns acham que o fato do software livre ser quase sempre acessado de forma gratuita e construído em grande parte por comunidades e voluntários o torna inferior ou pior que soluções proprietárias.
Várias matérias vêm apresentar exatamente o contrário do que muitos pensam ou acham sobre o uso do software livre na educação. Existem desafios sim. Existem dificuldades. Muitos não entendem ou não querem entender. Alguns poucos guerreiros “compram briga”, “vestem a camisa” e erguem a bandeira do software livre nestes espaços de ensino e aprendizagem. Pode ser que para certas pessoas tal situação se assemelhe aos tempos de rebeldia e revoltas estudantis, mas aqui falamos de algo ainda mais complexo. Vivemos em um tempo de lobbies, subornos e pagamento de propinas por parte de grandes empresas para que seus produtos sejam “aceitos mais facilmente” por governos e órgãos. Vivemos em tempos polêmicos que a cada dia percebemos o quão importante é plantarmos uma sementinha de esperança na mente de crianças e jovens para que usufruam de um futuro melhor e livre. Vivemos em um tempo de mudança. Aproveite e faça a sua parte também nesse processo.
A disputa do DRM em torno do HTML5
марта 21, 2013 21:00 - no comments yetUm plano do Google, Microsoft e Netflix para integrar uma extensão para a reprodução de conteúdo encriptado dentro do padrão HTML5 causou insatisfação entre ativistas dos direitos civis nos Estados Unidos. O centro da discórdia é uma proposta de integração do "Encrypted Media Extensions" (EME) que servira como interface para a reprodução de conteúdo protegido com DRM, no navegador, e que esta sendo revisado pela World Wide Web Consortium (W3C).
Os proponentes da proposta enfatizam que esta extensão não pretende se uma forma de amarrar o Digital Rights Management (DRM) dentro das especificações do HTML5. A Electronic Frontier Foundation (EFF) traduz isso como: "Nós não somos vampiros, mas nós iremos convida-los para a nossa casa."
A extensão foi projetada para permitir que os usuários reproduzam conteúdos que podem esta encriptados; para isto, o plano é provê uma API para desenvolvedores que possa lidar com vários sistemas de criptografia. Os proponentes da proposta dizem que isto não necessariamente precisa ser um sistemas de proteção de copyright. Porém, Mark Watson, que é responsável pelo EME no Netflix, já admitiu que o DRM é o foco desta proposta.
Ian Hickson, do Google, que é um dos principais colaboradores do padrão HTML5, também comentou sobre a proposta dizendo que o objetivo do DRM não é impedir violações de copyright, ele disse, adicionado que, em sua visão, o objetivo é dar aos provedores de conteúdo força contra os criadores de dispositivos de reprodução de conteúdo. Hickson explicou que isto é a razão do porque o DRM esta funcionado "Muito Bem" na área de vídeo e livros, apesar do fato de que todas as proteções podem ser contornadas e que todos os métodos de criptografia foram quebrados até o momento.
Para a EFF, a iniciativa é uma tentativa de atender a necessidade, da indústria cinematográfica americana, de ter mais controle sobre as novas tecnologias. "Estúdio de cinema utilizam o DRM para impor restrições arbitrárias em produtos incluindo o controle sobre a reprodução regional", diz os ativistas pelos direitos civis. De acordo com a EFF, o que está em jogo é o futuro da linguagem da web, que sempre foi sinonimo de abertura, liberdade, interoperabilidade e disponibilidade geral.
Validar o EME significaria que a W3C se voltou contra todos os seus princípios e por isto priva-se da sua razão de existir, diz a EFF.