terça-feira, 25 de junho de 2013

Instalar Tomcat como serviço

http://www.howtogeek.com/howto/linux/installing-tomcat-6-on-ubuntu/

sexta-feira, 25 de novembro de 2011

add-apt-repository: command not found

Simplesmente:

apt-get install --reinstall python-software-properties && sudo dpkg-reconfigure python-software-properties

sexta-feira, 15 de outubro de 2010

Consertando erro de GPG

Se ao rodar um apt-get update houver o erro:

GPG error: http://extras.ubuntu.com maverick Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 123456779WHATEVER

a solução é:

gpg –keyserver keyserver.ubuntu.com –recv 3E5C1192
gpg –export –armor 3E5C1192 | sudo apt-key add -
sudo apt-get update

sexta-feira, 3 de setembro de 2010

Rack warnings com Rails 3 + cucumber

Problema:
rack-1.2.1/lib/rack/utils.rb:16: warning: regexp match /.../n against to UTF-8 string
Solução: http://crimpycode.brennonbortz.com/?p=42

terça-feira, 6 de abril de 2010

NoClassDefFoundError com mensagem "wrong name"

Provavelmente o package da classe não está definido ou está errado.

quarta-feira, 24 de março de 2010

Instalação de Ruby, Rails 2.3.5 (+ principais gems) com PostgreSQL no Ubuntu 9.10

Para Ruby 1.8.x:

$ apt-get install ruby rubygems1.8 ruby1.8-dev libopenssl-ruby1.8 libpgsql-ruby1.8 irb1.8


Para Ruby 1.9.1:

$ apt-get install ruby1.9.1-full rubygems1.9.1 ruby1.9.1-dev libopenssl-ruby1.9.1 libpgsql-ruby1.9.1 irb1.9


Para todos:

$ apt-get bcrypt libxml2 libxml2-dev libxslt1-dev postgresql
$ gem install rails rake authlogic brazilian-rails cucumber-rails factory_girl webrat rspec-rails remarkable_rails pg webrat will_paginate bcrypt-ruby database_cleaner inherited_resources formtastic haml capistrano capybara dry_scaffold devise nifty-generators

quarta-feira, 10 de março de 2010

Alterar opção default do Grub

Nas versões anteriores (9.04 e anteriores) o Grub era configurado no arquivo

/boot/grub/menu.lst

A partir da versão 9.10 o arquivo a alterar é

/etc/default/grub

Neste arquivo a opção preferencial é a 0 (zero). Por exemplo, se o Windows aparece na posição nº 6, então, para defini-lo como default no boot voce deve fazer a seguinte alteração:

de GRUB_DEFAULT=0 para GRUB_DEFAULT=5.

depois basta compilar o grub com o comando: update-grub

Obs: todo o processo deve ser feito como root.

segunda-feira, 1 de março de 2010

Recuperar backups do postgresql feitos em "plain"

psql -U postgres -f arquivo_backup nome_do_database

terça-feira, 12 de janeiro de 2010

Instalar LaTeX com abntex

apt-get install texlive-latex-base texmaker abntex texlive-fonts-recommended texlive-lang-portuguese

Sim, é um download gigantesco.

segunda-feira, 28 de setembro de 2009

Rails loves Firebird

Para fazer o Rails falar com o Firebird, levando-se em conta que o Firebird 2.1 e o Rails estão instalados.

$ sudo apt-get install firebird2.1-dev
$ sudo gem install fb
$ sudo gem install fb_adapter


O nome do adapter é 'fb'. Para criar registros, é necessário ter um generator com o nome #{table_name}_seq Não testei com migrations, então não sei se um create_table também criaria o generator.

Tentei usar o recurso de alias do Firebird e não funcionou aqui. Só com o caminho completo até o banco do Firebird.

Tanto o fb (acesso a Firebird com Ruby) quanto fb_adapter (adaptador de Firebird para Rails) estão disponíveis em http://github.com/rowland.


OBS: Caso esteja tendo problemas com o uso desta gem, leia os comentários.

quinta-feira, 17 de setembro de 2009

Instalação do Glassfish v2

Ao instalar o Glassfish-v2, não esquecer de, além de rodar o jar, seguir os passos aqui.

sexta-feira, 11 de setembro de 2009

Apache + Passenger retornando 404 para qualquer coisa

Ao rodar o Apache + Passenger agora há pouco, estava obtendo sempre um erro 404. Olhando nos logs de erro do apache:
# tail /var/log/apache2/error.log
[Fri Sep 11 11:24:50 2009] [error] [client 172.20.6.9] File does not exist: /var/www/solicitacoes
[Fri Sep 11 11:26:16 2009] [error] [client 172.20.6.9] File does not exist: /var/www/solicitacoes


Muito estranho, já que meu virtual host apontava para uma pasta completamente diferente. Vamos ver então como o apache está vendo os virtual hosts:
# apache2ctl -S
apache2: Could not reliably determine the server's fully qualified domain name, using 172.20.6.250 for ServerName
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server 172.20.6.250 (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost 172.20.6.250 (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost 172.20.6.250 (/etc/apache2/apache2.conf:287)
Syntax OK


Há dois virtual hosts na porta 80, e um deles, aquele da pasta sites-enabled, não é o que eu configurei. Solução? rm no arquivo /etc/apache2/sites-enabled/000-default e tudo ok.

segunda-feira, 7 de setembro de 2009

Erro ao rodar RSpec ou Cucumber em aplicação Rails

Ao rodar specs aqui eu vinha obtendo o erro:
$ rake spec
/var/lib/gems/1.8/gems/activesupport-2.3.3/lib/active_support/dependencies.rb:105:in `const_missing': uninitialized constant Test::Unit::TestResult::TestResultFailureSupport (NameError)


Algumas soluções encontradas na rede recomendavam adicionar um require 'test/unit' no environment.rb, tudo muito estranho. Atualizei todas as gems e nada. Até que fuçando a configuração aqui, comecei a desinstalar algumas gems suspeitando de conflito. Então, quando desinstalei o mocha, tudo passou a funcionar. É importante notar que o projeto foi recém-criado e não tinha nenhuma referência ao mocha.

De qualquer modo, isto não trouxe qualquer problema adicional, já que o RSpec oferece uma API de mocking.

[edit] No arquivo spec/spec_helper.rb gerado pelo script/generate rspec há uma configuração comentada onde é possível estabelecer que o framework de mocking a ser usado seja o mocha.

terça-feira, 28 de julho de 2009

undefined method `reenable' for [environment]>:Rake::Task

Este estranho erro ocorria ao rodar rake db:migrate. Em vários blogs e fóruns, achei sugestões para se atualizar o rake via apt-get. Porém a minha gem do rake estava atualizada e os pacotes instalados no Ubuntu também. O rake que eu usava, porém, - pelo menos assim eu pensava - era uma gem e não estava diretamente instalado no Linux. Ao contrário do que eu pensava, tinha sim um rake instalado no S.O. A solução foi remover o rake via apt-get. Quando fiz isso, o comando ruby desapareceu. Na verdade, apenas o link simbólico ruby --> ruby1.8 em /usr/bin foi excluído. Após tê-lo criado novamente, tudo funcionou bem.

sexta-feira, 5 de junho de 2009

Configurar múltiplas aplicações Rails no mesmo servidor com mod_passenger (a.k.a. mod_rails)

No apache2.conf (aqui /etc/apache2/apache2.conf):

ServerName ip_do_servidor
DocumentRoot /home/rodrigo/desenvolvimento/temp # uma pasta que não é de app Rails
RailsBaseURI /myapp # sub-url da sua aplicação


Dentro da pasta apontada como DocumentRoot, é necessário criar um link simbólico para a pasta public da aplicação Rails referenciada.

Além disto, você deve incluir na seção de configuração do config/environment.rb:
config.action_controller.relative_url_root = "/myapp"

O problema com esta configuração no environment.rb é que ela serve apenas para o ambiente de produção. Porém, é possível criar uma solução genérica (extraída daqui) que resolve o problema sem a necessidade de mexer no environment.rb:
# automatic relative_url_root fix
# for Phusion Passenger 2.2.2 and Rails 2.3.2 (>= 2.2.2)
# by pts@fazekas.hu at Mon May 4 20:48:38 CEST 2009
# from http://ptspts.blogspot.com/2009/05/how-to-fix-railsbaseuri-sub-uri-with.html
fail unless ActionController::Request # check loaded
module ActionController
class Request
def initialize(env)
@env = env # Rack::Request#initialize does only this
path = request_uri.to_s[/\A[^\?]*/]
sn = @env['SCRIPT_NAME']
if (RAILS_ENV == 'production' and
(sn.empty? or sn.starts_with?('/')) and
path == sn + @env['PATH_INFO'])
Base.relative_url_root = sn
end
end
end
end


O único problema que ainda resta é que as imagens definidas no CSS - e se você é um desenvolvedor profissional, ou seja, usa padrões web, vai ter imagens definidas no CSS - é que arquivos CSS, até onde sei, são estáticos e os links serão diferentes nos ambientes development/test e production.

Uma solução que pensei agora rapidamente é criar um script que processe os CSS's e altere os links e que seja incluído nos recipes do Capistrano. Mas vou procurar um pouco mais pra ver se há uma solução dentro do Rails.

quarta-feira, 20 de maio de 2009

Erro maluco ao rodar .sh

Caso ao rodar um .sh você obtenha uma resposta como esta:

/bin/bash^M: interpretador inválido: Arquivo ou diretório inexistente
ou
/bin/sh^M: interpretador inválido: Arquivo ou diretório inexistente

O problema é que o arquivo tem caracteres de quebra de linha do Wndows. O Windows usa 2 caracteres para quebra de linha; o Linux apenas 1. Assim, esse caracter fica sobrando. Para solucionar isto, basta chamar

dos2unix nome-do-arquivo.sh

Caso não tenha o dos2unix instalado, digite (funcionou no Ubuntu)

apt-get install tofrodos

quarta-feira, 13 de maio de 2009

Extrair partes de data no SQL do Firebird

A função extract é usada para extrair partes de uma data no Firebird. Por exemplo: extract(year from data_lancamento) extrai o ano do campo data_lancamento. O mesmo pode ser feito para month, day, hour, minute...

segunda-feira, 11 de maio de 2009

Instalação de Ruby, Rails e acesso ao PostGreSQL

$ sudo apt-get install ruby1.8 rubygems rubygems1.8 ruby1.8-dev libpq-dev make rake libopenssl-ruby1.8
$ sudo gem install rails
$ sudo gem install mongrel


No Ubuntu 8.10
$ sudo gem install postgres
No Ubuntu 9.04
$ sudo gem install ruby-pg

segunda-feira, 4 de maio de 2009

Instalação do Tomcat no Linux

Depois de descompactar e configurar as variáveis de ambiente é preciso atribuir permissão de execucão aos 3 scritps abaixo. Os dois últimos não são executados diretamente e a mensagem de erro não indica que o problema está neles.

-startup.sh
-catalina.sh
-setclasspath.sh

Reparação de bases de dados no Firebird 2.0

Sintaxe Geral

* gfix [options] -user -password [options]

1º Passo - (Dar um shutdown no database)
gfix -user SYSDBA -password masterkey /path/database.fdb -shut -force 0

2º Passo - (Validar o database)
gfix -user SYSDBA -password masterkey /path/database.fdb -v -f

3º Passo - (Reparar o database)
gfix -user SYSDBA -password masterkey /path/database.fdb -m -f -i

4º Passo - (Deixando o database online novamente)
gfix -user SYSDBA -password masterkey /path/database.fdb -online

Obs.: Repetir os passos 2 e 3 diversas vezes.

Firebird com codificação WIN1252 com acentuação correta no Linux

Connection connection = DriverManager.getConnection("jdbc:firebirdsql://host/banco?lc_ctype=WIN1252",username, password);

sexta-feira, 1 de maio de 2009

Definir senha para o usuário postgres

O SGBD PostGreSQL vem com um usuário padrão postgres. Para definir uma senha para ele:
$su - postgres
# entre com a senha do usuario postgres
$psql postgres
postgres=# alter user postgres with encrypted password 'digite-a-senha-aqui';



Não sabe como definir a senha para o usuário postgres?
$su
# entre com a senha do root
$passwd postgres
# digite a senha desejada



Não sabe a senha do root? Leia aqui.

Erro de permission denied ao chamar script/server

$chmod 755 script/server

Definir senha do root no Ubuntu

$sudo su
# entre com a senha do seu usuário
$passwd
#entre com a senha que você quer para o root

quarta-feira, 22 de abril de 2009

Atualização do rubygems no Ubuntu 8.10

$ sudo gem install rubygems-update
$ cd /var/lib/gems/1.8/bin
$ sudo ./update_rubygems


Caso haja problemas com gems, é importante verificar por elas em:
~/.gem

ruby -e "puts $:"

quinta-feira, 8 de janeiro de 2009

Erro de Facelets no JBoss 5

Estou migrando uma aplicação para o JBoss 5 e ocorreu um erro muito estranho em uma aplicação que já funcionava e obtive o seguinte erro relativo ao Facelets no log do JBoss:

18:31:45,863 ERROR [compiler] Missing Built-in Tag Libraries! Make sure they are included within the META-INF directory of Facelets' Jar

Procurando daqui e dali na Internet, encontrei um bug report a respeito. A solução apontada, substituir o Facelets por uma versão mais recente, funcionou bem aqui.

segunda-feira, 17 de novembro de 2008

Remover arquivos do controle de versões do Subversion

Há uma pasta oculta no home chamada '.subversion'. Dentro desta pasta há um arquivo chamado 'config' no qual se devem inserir os arquivos (ou máscaras) a serem ignorados no item 'global-ignores'. Por exemplo:

global-ignores = .project .classpath *.class build .settings *.jardesc

quinta-feira, 6 de novembro de 2008

Que troço é esse?

Saco de coisas é um blog criado de mim para mim, para guardar soluções e receitas de bolo para resolver coisas não muito importantes mas que enchem o saco. Um guia de referência rápida para problemas que enfrento no dia-a-dia. Algumas coisas serão certamente ridiculamente simples, outras ainda mais. Enfim, este é um blog que, em tese, não vale muita coisa. Se alguém chegar a ser ajudado por algo que está aqui, fico feliz.

Coisas que serão encontradas por aqui:
- dicas curtas e grossas para resolver pequenos problemas
- lembretes de configurações e outras coisas chatas
- chaves de fenda, tesouras, alicates: coisinhas de merda que podem te tirar de um aperto

Coisas que nunca serão encontradas por aqui:
- discussões
- profundidades
- software proprietário