Instalando o Ruby 1.9.3 no CentOS 6.4

A versão atual do Ruby nos repositórios do CentOS 6 é 1.8.7, e provavelmente você precisa usar uma versão mais recente que essa, para executar uma aplicação como o Octopress ou desenvolver sua própria com Ruby on Rails. Para isso, utilizaremos o RVM, Ruby Version Manager.

Antes iniciarmos o processo de instalação, atualize seu sistema.

sudo yum update

Faça a instalação das dependências necessárias

sudo yum install curl gcc-c++ patch readline readline-devel zlib\
 zlib-devel libyaml-devel libffi-devel openssl-devel make\
bzip2 autoconf automake libtool bison iconv-devel

Instale a versão estável do RVM

curl -L get.rvm.io | bash -s stable

Configure o ambiente RVM, carregando as diretivas fornecidas pelo RVM

source /etc/profile.d/rvm.sh

Para garantir que todas as dependências do RVM estão instaladas, execute o seguinte comando

rvm requirements

Faça a instalação do Ruby 1.9.3

rvm install 1.9.3

Instale também o RubyGems na versão estável

rvm rubygems current

Com o RVM é possível ter um ambiente com mais de uma versão do ruby, para definir a versão padrão, use o seguinte comando

rvm use 1.9.3 --default

Para usuários do Fedora 18 ou superior, a versão nativa do Ruby já é a 2.0, então basicamente basta instalar com YUM.

yum install ruby rubygems

Fórum do Projeto Fedora está de volta!

Endereço do fórum: http://ask.projetofedora.org

Inicialmente a ideia era usarmos o ask.fedoraproject.org, que está hospedado na infraestrutura do Projeto Fedora, e tem suporte de usuários de todas as partes do mundo, porém atualmente o fórum oficial, não tem suporte para outros idiomas além do inglês, e isso ainda é uma grande barreira para grande parte dos usuários brasileiros.

Com isso, após alguns meses a desativação do fórum antigo, decidimos disponibilizar um fórum em português e outro em espanhol, para os usuários não somente do Brasil, mas da América Latina (LATAM) também.

E hoje com uma grande ajuda do amigo Eduardo Echeverria (echevemaster) da venezuela, disponibilizamos o novo fórum em português, que está acessível no endereço ask.projetofedora.org.

A intenção é utilizarmos essa infraestrutura separada, até o fórum oficial ter suporte a outros idiomas, e então realizarmos uma integração dos dados.

projetofedora.org is coming back

Brace yourself, projetofedora.org is coming!

Who follows Fedora Project in Brazil probably knows the domain projetofedora.org, and also knows that the applications that ran there is out from some time.

Recently we migrate the ownership of the domain to the Fedora Project. But Why? To avoid duplication of work, the effort and focus on content creation in the infrastructure maintained by the project, and to follow the guidelines and philosophy of the Fedora Project.

And now, what will happen?
The domain projetofedora.org, will redirect to http://fedoraproject.org/wiki/pt_BR, that is the wiki page in brazilian portuguese, and we’ll set the subdomain ask.projetofedora.org to an instance of askbot with Brazilian Portuguese hosted on OpenShift, Initially the maintenance of the forum will be made ​​by me (any help is welcome), because the ask.fedoraproject.org don’t support other languages than English yet, and here in the LATAM region it is a big limitation for the users that looking for help.

Fedora on Latinoware 2013

latinoware_oficialLatinoware is a Free Software event that is held annually by Itaipu Technological Park, at Foz do Iguaçu Brazil. This year was held the 10th edition of the event, attended by 4,620 participants from all Brazilian states and 11 countries.

 

 

fedora_ambassadorsThe Fedora Project was represented by 8 Ambassadors, who were: Daniel Bruno, Leonardo Vaz, Eduardo Echeverria (Venezuela), Ramilton Costa, Marcel Ribeiro, Rino Rondan (Argentina), Juan Carlos Lin (Paraguay) and Fernando Cabral, 8 lectures were presented in the official schedule, which were:

Beyond the 4 Fs: What is Fedora effectively doing for Open Source? – Daniel Bruno e Leonardo Vaz
Fedora: Sharing thoughts, experiences and passion – Marcel Dantas
Cloud Computing by OpenShift on Fedora 19 – Fernando Cabral
Openstack, A walkthrough by the Open Source Cloud Computing – Eduardo Echeverria, Luan Cestari, Daniel Bruno e Leonardo Vaz
Fedora Security Lab – Ramilton Costa
Fedora Cloud and Big Data Technologies0 – Daniel Bruno
Fedora Community and Fedora 19/20 – Rino Rondan e Eduardo Echeverria
Joining to Gluster “SuperColony” – Leonardo Vaz

We also have a booth where we delivery hundreds of stickers, live cds, pens and bottons and was also made the installation of Fedora 19 in dozens of notebooks. Another interesting point was the participants’ interest in cloud computing technologies and robotics, where we had the opportunity to present the Icarus project of our Argentinian friend Valentin Basel.

The Fedora Project booth was located between the booth of Red Hat and RDO, it helped for participants who visit us, could interact with the three projects and better understand each other.

Besides the Fedora Ambassadors present, we also have the presence of Diane Mueller, Cloud Evangelist, and Roberto Stainbach, Red hat.

The Latinoware 2013 was a success, with an excellent infrastructure, organization, and a good level of lectures presented. I especially want to thank Silvio Palmieri and Duda Nogueira, for all the support offered, I think we did a good job to reciprocate.

Hospedagem de aplicativos na nuvem. Parte 1: Openshift

Depois de alguns amigos desenvolvedores e/ou empreendedores com suas startups e projetos pessoais, entrarem em contato pedindo ajuda para hospedar suas aplicações com qualidade e baixo custo, resolvi criar dois posts apresentando as duas soluções que costumo indicar, como são duas soluções bem distintas, resolvi separar em dois posts para sua startup ou para sua aplicação.

No primeiro post vou falar sobre o  OpenShift, que é  a solução de PaaS Open Source da Red Hat.

Com o OpenShift, o desenvolvedor pode manter o foco no desenvolvimento da aplicação sem se preocupar com a infraestrutura, e realizar seus deploys de forma bem ágil através das ferramentas disponibilizadas. Atualmente a solução está em developer preview, e cada usuário pode hospedar até 3 aplicativos, ou então hospedar um aplicativo e dedicar os recursos computacionais reservados para as outras duas aplicações para uma única aplicação.

Esses recursos são disponibilizados gratuitamente, com isso você pode por exemplo hospedar 3 aplicações na nuvem, em uma plataforma estável e escalável sem custos. Em breve Red Hat irá lançar a versão comercial da plataforma onde o usuário poderá alocar mais recursos, ter apoio técnico da empresa e muitas outras features, até onde eu sei a versão gratuita continuará disponível para aqueles que não precisam de tantos recursos.

O OpenShift, tem suporte nativo a PHP, Java, Ruby, Pyhton, Perl,  Node.js, rails, cakephp, spring framework, django, tomcat, JBoss e algumas aplicações pré-configuradas como wordpress, drupal, magento, redmine e muitas outras…

Agora que já sabemos o que é, algumas das linguagens, frameworks e aplicações suportadas, tá na hora de fazer o deploy.

O primeiro passo é registrar uma conta em openshift.redhat.com

Após o registro instale, caso não tenha, o ruby 1.8.7+ e git

sudo yum install ruby git

Em seguida instale a ferramenta de linha de comando para gerenciar sua conta e apps.

sudo gem install rhc

Agora configure o seu sistema com a sua conta criada, nesse passo basicamente você terá que fornecer o usuário e senha cadastrados, informar a chave publica e escolher um nome que será o sufixo padrão para suas apps.

rhc setup

Crie sua primeira app, exemplo:

rhc app create -a beta -t php-5.3

Como resultado do comando acima, foi gerada uma URL com o nome da aplicação escolhida que foi beta e com o sufixo escolhido durante o setup que foi dbruno. Espere alguns segundos pela propagação do DNS e acesse a URL gerada no navegador e verá uma página modelo do OpenShift. No diretório onde foi executado o comando para criar a app também foi criado um diretório com o código fonte dessa página modelo, que você pode editar ou adicionar o código fonte a sua app, e deve usar o git para enviar suas modificações para o servidor.

Exemplo da URL gerada:

beta-dbruno.rhcloud.com

Provavelmente você não vai querer utilizar essa URL para a sua app, para isso crie uma entrada do tipo CNAME no registro de DNS do seu domínio apontando para a URL gerada.

O OpenShift tem um recurso chamado cartridge onde são disponibilizados serviços como banco de dados (mysql, postgresql, mongodb) cron, integração continua com jenkins e etc.
Para adicionar um banco MySQL (v. 5.1):

rhc app cartridge add -a beta -c mysql-5.1

Lembrando que beta é o nome da app criada durante esse post e mysql-5.1 é o banco e a versão disponibilizada. No output do comando de criação do mysql será informado o nome do banco, usuário, senha e uma url para o phpmyadmin.

No OpenShift é possível também ter acesso SSH e fazer deploy de aplicações escritas em linguagens que não foram mencionadas neste post, segundo o Fabiano Franz, que é um dos desenvolvedores da plataforma, algumas pessoas veem fazendo deploy de apps em C, C++, LISP, como nos exemplos em:

http://lisp2-atgreen.rhcloud.com/
http://register-elasticcobol.rhcloud.com/register/register.html

No repositório https://github.com/openshift existem algumas aplicações pré-configuradas para serem subidas para a nuvem.

Para maiores informações, recomendo ler a documentação do projeto https://openshift.redhat.com/community/developers/, e acompanhar o twitter @openshift para ficar por dentro das novidades.

No próximo post irei apresentar uma solução também eficiente e de baixo custo, usando o IaaS da Amazon Web Services.

Lightning Talks – FISl 13

O Projeto Fedora está com 5 slots para lightning talks no evento comunitário no FISL 13, que será realizado no dia 26/07 de 11h as 13h na sala 601.

O período de inscrição será até o dia 21/07 as 23:59. A votação das lightning talks será realizada no #fedora-br (Freenode) no dia 22/07 11h (GMT -3).

Cada lightning talk deverá ser apresentada em no máximo 5min, as apresentações selecionadas deverão estar em formato PDF e deverão ser entregues para o coordenador do evento antes do evento comunitário. As perguntas e comentários deverão ser feitos no espaço reservado para discussão.

Para enviar sua proposta preencha o formulário http://goo.gl/zZa6K.

Mais informações sobre o evento comunitário podem ser encontradas em https://fedoraproject.org/wiki/FAD_FISL13.

(Pre) Upgrade Fedora

No dia 29 como todos sabem foi lançado o Fedora 17 Beefy Miracle. Mas ai eu estou usando o Fedora 16 e como faço para usar a nova versão? Se eu tiver muito tempo e quero um pouco de diversão baixo a ISO, faço backup, instalo tudo e começamos tudo do zero. Há alguns anos atrás eu até gostava dessa “aventura” toda, mas acredito que assim como pra mim, atualmente, e para  muitas pessoas tempo é algo que precisamos otimizar, e muito. Para um upgrade tranquilo relativamente rápido e sem muito esforço, o Projeto Fedora tem uma ferramenta muito útil e simples de usar que é o PreUpgrade.

Enquanto o PreUpgrade faz o que deve ser feito para atualizar a versão do seu Fedora, você continua seu trabalho.

Para usar o PreUpgrade a sua partição /boot não pode estar em RAID, veja o bug 500004.

Antes de instalar e utilizar a ferramenta, garanta que seu sistema esteja atualizado:

yum update

Instale a ferramenta:

yum install preupgrade

Inicie o PreUpgrade manualmente na console do seus sistema logado como root:

preupgrade

Agora a ferramenta irá checar os pacotes instalados no sistema, irá baixar os pacotes necessários para fazer o upgrade e em seguida irá solicitar que seja feito o reboot. Após o reboot, no Grub selecione a opção para continuar o upgrade e em seguida continuará o passo final do processo que é a aplicação dos novos pacotes.

Pronto, agora curta o seu sistema atualizado!

Referências:
http://fedoraproject.org/wiki/Features/PreUpgrade
https://fedoraproject.org/wiki/How_to_use_PreUpgrade

Atualização:

Após o upgrade com o preupgrade, é provável que ocorram alguns problemas como kernel panic, e alguns drivers não carregarem, no meu caso foi o driver do dispositivo wireless e o kernel panic ao desligar ou reiniciar.

Para corrigir esse problema você deve primeiro atualizar o kernel, caso isso não tenha sido feito:

yum update kernel* --enablerepo=updates-testing

Se o novo kernel já estiver instalado, o comando acima simplesmente não instalará nada porém o novo kernel não está disponível na lista do grub, para adicioná-lo, execute o comando:

grub2-mkconfig -o /boot/grub2/grub.cfg

Em seguida reinicie o seu sistema, que como ainda está rodando o kernel antigo irá mostrar o kernel panic, mas no próximo boot iniciará com o novo.

Esse problema está documentado nos Bugs: 820351, 826537 e 820340.

Fedora 17 lançado!

Hoje foi lançado o Beefy Miracle, versão 17 do Fedora. O novo lançamento vem com muitas novidades para usuários, desenvolvedores,  administradores de sistemas e features interessantes para Cloud Computing e virtualização.

Para usuários, uma feature em destaque é a possibilidade de utilizar o Gnome Shell sem uma placa com aceleração gráfica.

Relacionado a desenvolvimento, O Beefy Miracle traz o o PHP 5.4, Java 7, Ruby 1.9.3,  GCC 4.7 e o Eclipse Juno.

Na área de virtualização e Cloud Computing foi realizado o upgrade do OpenStack para a versão atual, Essex. Outras novidades interessantes nesse sentido é a implementação do oVirt e do Virtualization Sandbox.

A lista completa das features está disponível em http://fedoraproject.org/wiki/Releases/17/FeatureList

Faça o download da nova versão: http://fedoraproject.org/get-fedora

Apache Libcloud

Apache Libcloud, como o nome sugere é uma lib python que abstrai a interação com APIs entre diversos provedores de Cloud.

A versão atual, 0.8.0, permite aos desenvolvedores gerenciares 4 recursos diferentes:

  • Servidores (Amazon EC2 e Rackspace CloudServers)
  • Armazenamento (Amazon S3 e Rackspace CloudFiles)
  • Load balances
  • DNS (Rackspace Cloud DNS, Zerigo)

A lista completa com os serviços e provedores suportados, podem ser obtidos na documentação[1] oficial.

Recentemente eu empacotei a lib para os repositórios do Fedora. Para instalar nas versões do Fedora 15 ou superior:

yum install python-libcloud

Após a instalação, um teste básico importe abra uma console do python e importe a lib:

 >>> import libcloud

Mais informações técnicas e exemplos, podem ser obtidas na documentação[2].

[1] – http://libcloud.apache.org/supported_providers.html
[2] – http://libcloud.apache.org/getting-started.html