Desabilitando plural de tabelas no Ruby on Rails

Fevereiro 2nd, 2007

Por padrão, o RoR vem configurado para realizar pluralizalição nos nomes das tabelas, de modo que os classes fiquem no singular e as tabelas e controllers no plural. Isso funciona muito bem no idioma inglês, mas no português acaba sendo um problema.

Mas desabiblitar tabelas no plural no rails é bem simples. Basta colocar a seguinte linha no final do arquivo config/environment.rb
ActiveRecord::Base.pluralize_table_names = false

Configurando proxy para o apt-get

Outubro 30th, 2006

Em ambientes corporativos, é comum o uso de proxy autenticado para acesso à internet. Nesses casos, é possível para atualizar e instalar pacotes do Linux ou Ubuntu, é possível configurar o proxy no Synaptic. Uma forma melhor é configurar o proxyao nível do sistema, dessa forma, além do synaptic, outras aplicações fará uso da mesma configuração, como o wget.

Para tanto é necessário definir duas variáveis de ambiente. No debian e derivados, esta configuração pode e deve ser feita no arquivo /etc/enviroment. Abra para edição o arquivo com o seguinte comando:

$ gksu gedit /etc/environment

Adicione esse conteúdo ao final do arquivo:

http_proxy=”http://usuario:senha@10.2.1.2:3128″ ftp_proxy=”http://usuario:senha@10.2.1.2:3128″

Feito! ;-)

Problema com teclado ABNT2 em distribuições com Xorg 7.1

Outubro 30th, 2006

Tanto nos betas Ubuntu Edgy Eft, quando na versão final do Mandriva 2007, eu passei por problemas com o teclado ABNT2. Problemas há “séculos” resolvidos, voltaram para atormentar. Mas dessa vez trata-se apenas de mudança em configuração.
A correção está aqui

Problema com o k3bsetup

Outubro 16th, 2006

Problema ao iniciar o k3bsetup no Mandriva 2007?

Siga esse link:

http://qa.mandriva.com/show_bug.cgi?id=26359

Configurando LAMP no Mandriva

Outubro 9th, 2006

O conjunto Linux + Apache + MySQL + PHP já é mais do que consagrado. Eu praticamente não vivo sem uma instalação dessas perto de mim. Quando não é por causa da necessidade dessa combinação de softwares livres para rodar algum serviço em particular, é para desenvolvimento de aplicações e sites WEB.

Abaixo os passos necessários para instala-los no Mandriva 2007:

Instalar Apache + PHP:

# urpmi apache apache-mod_php

Instalar servidor MySQL e suporte a MySQL no PHP:

# urpmi MySQL php-mysql

Pronto! Tudo instalado e configurado. Basta inciar o MySQL e Apache:

# /etc/init.d/mysql start

# /etc/init.d/httpd start

A senha inicial do superusuário do mysql é em branco. Altere-a para maior segurança:

# mysqladmin -u root password ‘nova_senha’

Se você acessar pelo navegador WEB o endereço http://localhost/ , já vai ver o Apache rodando. Para verificar que o PHP também está configurado, crie um arquivo no chamado info.php no diretório principal do serviço WEB:

echo ‘< ?=phpinfo() ? >’ > /var/www/html/info.php

Agora acessando http://localhost/info.php será possível ver a saída da função phpinfo(), que mostra toda a configuração atual do PHP.

Compilando programas no Mandriva 2007

Outubro 8th, 2006

Continuando com a experiência com o Mandriva, seguem os pacotes necessários para que seja possível compilar programas, inclusive aplicações que dependem do KDE:

# urpmi task-c-devel kernel-source-2.6 glibc-devel ctags

# urpmi task-c++-devel

# urpmi libxorg-x11-devel libstdc++6-devel libstdc++5-devel

# urpmi task-kde-devel

Experimentando o Mandriva 2007

Outubro 7th, 2006

Resolvi testar o Mandriva para ver como é que está o trabalho depois da junção Mandrake + Conectiva. Pra começo de conversa, baixei o ISO do MandrivaOne 2007. Trata-se de um Live CD mas que pode ser instalado, assim como o Ubuntu.
O link para download via torrent é
http://qa.mandriva.com/torrent/2007/mandriva-one-2007-kde3.torrent

Um fato curioso, é que agora eles estão oferecendo duas versões: uma com Gnome, outra com KDE. Resolvi usar a versão KDE.

Outra boa surpresa foi a configuração automática e sem problemas do XGL, para computadores que já possuem uma placa NVidia. Já durante a seção Live, o desktop 3D já estava funcionando, com driver da NVidia configurado e tudo. O Gcompiz funcionando sob o KDE não difere muito se comparado com o Gnome, que eu já tenho usado no Ubuntu.

A instalação foi rápida e indolor, um pouco parecida com a do Ubuntu, só que com algumas perguntas a mais. Para um usuário já iniciado, achei que o instalador é mais flexível, especialmente nas opções de configuração do boot loader, que pode ser grub ou lilo. Optei pelo grub, e já foi incluído automaticamente o boot para o Windows 2000 que tenho instalado em hdc. Para o boot do Ubuntu (hda), tive que inserir manualmente.

Reiniciei o computador, entrei no Mandriva e o processo de instação finalizou com mais algumas configurações, como senha do root, criação de uma conta de usuário inicial e configuração da rede. Fiquei muito surpreso com a qualidade das aplicações de configuração drake*, que me conduziu nesse processo.

Chegou a hora de investigar os aplicativos instados por default e complementar com os que preciso. Sem ter familiaridade com o urpmi, abri a parte de gerenciamento de pacotes do drakconf (rpmdrake). Realizei facilmente as atualizações de segurança e adicionei repositórios para instalação de aplicações adicionais. Cheguei a instalar o gaim e mais uns 3 aplicativos pela ferramenta gráfica, mas o vício pela linha de comando é algo difícil de se perder. Fui procurar informações sobre o urpmi.

Com a taxa de transferência muito baixa ao instalar aplicativos pelo respósitorio que adicionei usando o rpmdrake, acabei descobrindo o easyurpmi.

Removi todos os repositórios adicionados anteriormente:

urpmi.removemedia -a

Adicionei o main e o contrib que consegui usando o easyurpmi (http://easyurpmi.zarb.org):

# urpmi.addmedia main \
ftp://mirror.fis.unb.br/pub/linux/MandrivaLinux/devel/2007.0/i586/media/main/release \
with media_info/synthesis.hdlist.cz

# urpmi.addmedia contrib \
ftp://mirror.fis.unb.br/pub/linux/MandrivaLinux/devel/2007.0/i586/media/contrib/release \
with media_info/synthesis.hdlist.cz

Pude instalar mais alguns programas, já com uma taxa de tranferência melhor:

# urpmi kdesvn

Chegou a hora de instalar codecs extras e outras coisas que normalmente que não vem nas ditribuições, por proibições legais, como o libdvdcss. Encontrei um repositório que serve justamente à esse psopósito, o PLF (http://plf.zarb.org).

Antes de qualquer coisa, é aconselhável instalar a chave do repositório, para garantir autencidade dos pacotes:

# urpmi lynx

# lynx -source http://plf.zarb.org/plf.asc > plf.asc;

# rpm –import plf.asc

Agora vamos adicionar os repositórios free e non-free do PLF:

# urpmi.addmedia free \

http://distrib-coffee.ipsl.jussieu.fr/pub/linux/plf/mandriva/2007.0/free/release/binary/i586/

# urpmi.addmedia non-free \

http://distrib-coffee.ipsl.jussieu.fr/pub/linux/plf/mandriva/2007.0/non-free/release/binary/i586/

Ok. Já podemos instalar pacotes:

# urpmi libdvdcss2

# urpmi win32-codecs

E por aí vai.

Em resumo, estou gostando do Mandriva, fora dois pequenos problemas que percebi:
1. A acentuação parou de funcionar enquanto eu escrevia esse post, depois voltou a funcionar novamente. Não entendi nada.
2. O Firefox deu crash quando loguei no Wordpress. Estou escrevendo esse post via konqueror.

Do resto, tudo bem, especialmente o Centro de Controle Mandriva (drakconf). Estou impressionado.

Configurando PHP 5 no Windows XP + IIS

Outubro 4th, 2006

Após seguir as instruções do install.txt, obtive os seguintes problemas:

  1. Definições do php.ini era ignorado
  2. Módulo do mysql não era carregado

As duas dicas para evitar esses problemas são:

Não confie cegamente nas instruções do install.txt, que diz que se você colocar o c:\php no path, não precisará colocar o php.ini no c:\windows. Na dúvida, SEMPRE use o php.ini no c:\windows, ou o arquivo de configuração do PHP não será lido, de forma que o PHP sempre estará com as configurações default.

No php.ini, nunca use a barra invertida como separador de diretórios. Ao informar o parâmetro extension_dir, sempre informe o formato “c:/php/ext”, mesmo que o exemplo que esteja no arquivo seja “c:\php\ext”. Caso contrário, os módulos não serão carregados e o servidor subirá silenciosamente sem logar nem reclamar nada.
É isso. Após umas 3 horas de bateção de cabeça, espero não perder tempo novamente com essas bobagens.

Instalando RubyOnRails no Windows XP

Outubro 3rd, 2006

Meu cenário:

Ambiente de desenvolvimento em Windows XP XP2, MySQL 5.0.24a, atrás de um proxy squid configurado para autenticação no domínio corporativo (Active Directory)

A primeira tentativa para instalar o Rails, foi usando o gem, passando por parâmetro o servidor de proxy:
c:\>gem install rails -p http://login:senha@servidorproxy:3128 -r --backtrace
Install required dependency activesupport? [Yn] Y
ERROR: While executing gem ... (Errno::EBADF)
Bad file descriptor - connect(2)

Sem obter sucesso, parti para a instalação manual, baixando os pacotes individualmente, conforme explicado em http://wiki.rubyonrails.com/rails/pages/GemRails

Para instalação do Rails 1.1.6, baixei os seguintes pacotes:

  • activesupport-1.3.1.gem
  • activerecord-1.14.4.gem
  • actionpack-1.12.5.gem
  • actionmailer-1.2.5.gem
  • actionwebservice-1.1.6.gem
  • rails-1.1.6.gem
  • rake-0.7.1.gem

Coloquei todos eles em um diretório do meu PC e instalei, na ordem listada acima, com os comandos:
gem install activesupport
gem install activerecord
gem install actionpack
gem install actionmailer
gem install actionwebservice
gem install rails
gem install rake

Pronto. O RoR já está instalado. Para começar a usar/aprender veja o seguinte tutorial:

http://br-linux.org/linux/tutorial_basico_de_ruby_on_rails

Update:

Consegui usar o gems, mesmo estando atrás de um proxy autenticando em Active Directory. Bastou setar a variável http_proxy antes de executar o gems:

http_proxy=http://usuario:senha@10.2.1.2:3128

Eliminando arquivos de configuração com dpkg

Setembro 24th, 2006

Dica rápida:

Quando se faz uma remoção de pacotes do Ubuntu/Debian, usando o “apt-get remove”, os  arquivos de configuração dos pacotes removidos permanecem. Isso é útil caso você volte a utililizar o pacote no futuro. As configurações estarão mantidas. Mas se você não pretende mais usar o programa removido, convém excluir os arquivos de configuração também. Para isso basta adicionar o –purge como parametro para o apt-get, no momento da remoção: apt-get remove pacote –purge.

Ok. Mas se você já removeu vários pacotes do sistema e não usou o –purge? Nesse caso, ao listar os pacotes instalados com o comando dpkg -l, você vê os pacotes removidos, com o status “rc”, informando que o pacote foi removido, mas restam os arquivos de configuração. Para realizar o purge para todos estes pacotes basta fazer:

dpkg -l | awk ‘/^rc/ {print $2}’ | xargs dpkg –purge