Archive for the ‘Server-related’ category

Virtualbox: corrigindo data/hora do guest

January 5th, 2010

Se você enfrenta problemas com a data e hora no seu linux rodando como guest no Virtualbox 3.0.x, mais especificamente em algumas versões do kernel 2.6 (como a 2.6.18), adicione o parâmetro nolapic_timer no boot do seu guest.

Se você quiser testar no próximo boot, sem alterar as configurações permanentemente, faça o seguinte no boot do guest (assumindo que você está utilizando o Grub como gerenciador de boot):

  1. Pressione ‘e’ para editar a linha selecionada
  2. Selecione a linha que possui root=… e pressione ‘e’
  3. Ao final da linha, adicione a opção nolapic_timer
  4. Pressione ‘Enter’ para salvar a modificação
  5. Pressione ‘b’ para iniciar o sistema

Se funcionar, você pode alterar as configurações permanentemente no arquivo /boot/grub/menu.lst. Procure a seção que se refere ao boot e altere a linha que possui root=… adicionando o parâmetro nolapic_timer no final.

Aparentemente o problema não acontece com a versão 2.6.22 do kernel.

Post to Twitter Post to Facebook

Git: Revertendo um arquivo modificado

October 24th, 2009

No SVN, para reverter um arquivo que foi modificado para a versão corrente do checkout, basta executar:

$ svn revert ARQUIVO

Uma desvantagem é que o comando não restaura diretórios apagados, já que não acessa o repositório.

Já no Git você pode utilizar o comando reset. Segundo o manual do git-reset, para descartar as modificações no arquivo basta passar para a opção –hard o commit para o qual você quer reverter. Supondo que você tenha um checkout do HEAD e queira descartar todas as modificações que fez nos arquivos, basta executar:

$ git reset –hard HEAD

(Utilize dois traços para a opção hard)

Isso no entanto não vai descartar os arquivos que foram criados mas não foram adicionados ao branch. Para isso, utilize o comando clean:

$ git clean DIRETORIO

Post to Twitter Post to Facebook

Configurando mod_rewrite no VirtualHost do Apache

August 16th, 2009

Os frameworks MVC e diversos sistemas (como o próprio WordPress) utilizam URLs amigáveis – algo como http://example.org/configurando-sites.html ao invés de http://example.org/post.php?id=99. Isso requer que o servidor web seja configurado corretamente. No Apache isso pode ser conseguido com o auxílio do mod_rewrite, que permite mapear URLs utilizando expressões regulares para diferentes arquivos. A maioria provê o seguinte exemplo (ou uma variação dele):

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) index.php [QSA,L]

Esse código especifica que se o arquivo requisitado (%{REQUEST_FILENAME}) não for um diretório (!-d) e não for um arquivo (!-f), a regra seguinte deve ser aplicada (que no caso diz para passar a execução para o script index.php).

Podemos colocar esse código .htaccess, o que traz uma desvantagem: é preciso que o apache seja configurado para procurar arquivos .htaccess em cada diretório da aplicação, o que reduz o desempenho. O ideal seria colocá-lo diretamente na definição do VirtualHost. Para isso, precisamos fazer um pequeno ajuste. Onde está:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

Substitua por:

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f

Isso é necessário porque o apache – por algum motivo que desconheço – não mapeia a caminho completo para a variável REQUEST_FILENAME (embora a documentação informe o contrário). Colocando o %{DOCUMENT_ROOT} antes, a condição se torna válida.

Post to Twitter Post to Facebook

Instalando o driver mysql para ruby

July 12th, 2009

No post anterior eu expliquei como instalar o Ruby On Rails no Ubuntu, sem utilizar os pacotes oficiais. Pois bem, ao tentar instalar o driver para MySQL do Ruby, me deparei com o seguinte problema:

$ sudo gem19 install mysql
Building native extensions.  This could take a while…
ERROR:  Error installing mysql:
ERROR: Failed to build gem native extension.

Mas o que foi que aconteceu?
» Read more: Instalando o driver mysql para ruby

Post to Twitter Post to Facebook

~rcmachado is Digg proof thanks to caching by WP Super Cache