O mod_rewrite já vem junto com o Apache, a única coisa que é necessário fazer é ativa-lo. Ele está armazenado na pasta /etc/apache2/mods-available/, para ativa-lo, bastar criar um link para o módulo dentro da pasta mods-enabled. Siga os passos:

# ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/

O próximo passo é dizer ao Apache que as diretrizes do .htaccess devem ser priorizadas sobre as diretrizes padrão.

# nano /etc/apache2/sites-available/default

Procure algo assim:

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# Uncomment this directive is you want to see apache2′s
# default start page (in /apache2-default) when you go to /
#RedirectMatch ^/$ /apache2-default/
</Directory>

<Directory /var/www/>Options Indexes FollowSymLinks MultiViewsAllowOverride NoneOrder allow,denyallow from all# Uncomment this directive is you want to see apache2′s# default start page (in /apache2-default) when you go to /#RedirectMatch ^/$ /apache2-default/</Directory>

Altere o valor de AllowOverride para All.

Reinicie o apache:

# /etc/init.d/apache2 restart

Fonte: http://www.marcusvbp.com.br/site/ativando-o-recurso-urls-limpas-no-seu-localhost-no-ubuntu