O primeiro método de instalação é através da compilação das fontes. A grande vantagem desse método é que você vai instalar a versão mais atualizada.
Antes de começar, o 
Tor tem algumas dependências. No caso de um Debian, recém instalado, ele só pediu essas duas:
Talvez tenha mais em outros sistemas operacionais, mas não acredito que sejam muitas.
Vamos baixar o fonte, entre em:
Clique em "Source Code" e clique em "Download". Obs.: Não baixe a versão unstable.
Descompacte o arquivo baixado com:
 tar xf tor*.gz
Nesse ponto você vai ter o arquivo compactado e ao lado, a pasta com os arquivos de fonte. Mude o nome da pasta dos arquivos de fonte para um nome mais fácil de lembrar e mova-a para o diretório 
/opt/:
 mv tor-0.2.5.12/ tor/
# mv tor/ /opt/
Entre no diretório 
/opt/tor e mande o comando:
 ./configure
Se houver a necessidade da instalação de algumas dependências a mais, é aqui que será exibido um aviso sobre essa necessidade. Se ocorreu tudo certo, só continuar:
# make
Se não deu nenhum erro, quer dizer que o Tor já está instalado corretamente. Vamos testar, execute o binário do Tor através da linha de comando usando:
# /opt/tor/src/or/tor
Ao executar pela primeira vez, ele vai buscar algumas informações necessárias para montar o circuito. Talvez demore um pouco.
Se uma linha contendo "[notice] Bootstrapped 100%: Done" aparecer, quer dizer que o Tor conseguiu se conectar à rede perfeitamente. Então, já temos o Tor instalado e funcionando. Então, manda um 
Ctrl+C para fechar o Tor e vamos partir para a parte de configuração.
Uma questão importante de segurança é que você não deve executar o Tor como root. Então vamos começar criando um usuário específico para rodar o Tor:
# useradd -d /opt/tor/src/or -s /bin/bash  tor-user
# passwd tor-user #-- Defina uma senha para o usuário.
Altere a propriedade da pasta do Tor para o usuário novo:
# chown -R tor-user.tor-user /opt/tor/
Crie um diretório para nosso arquivo de configuração, um diretório para armazenar o PID do Tor e um diretório onde serão armazenadas as informações do nosso 
Hidden Service. Eu geralmente uso:
# mkdir /etc/tor/  #-- Diretório para arquivo de configuração.
# mkdir /var/run/tor #-- Diretório onde será armazenado o PID.
# mkdir /tor/  #-- Diretório onde serão armazenados os arquivos hostname e private_key.
Altere as propriedades e permissões dessas pastas para que o usuário "tor-user" tenha permissão de escrita:
# chown  tor-user.tor-user /etc/tor/
# chown  tor-user.tor-user /var/run/tor/
# chown  tor-user.tor-user /tor/
# chmod 700 /tor/
Ok, logue para o usuário "tor-user" e vamos começar a configuração:
# su - tor-user
Crie o arquivo "/etc/tor/torrc" e abra-o com seu editor de texto:
 vi /etc/tor/torrc
Segue o conteúdo do arquivo:
#RunAsDaemon 1
PidFile /var/run/tor/tor.pid
HiddenServiceDir /tor/
HiddenServicePort 80 127.0.0.1:80
As linhas que configuram de fato nosso Hidden Service são "
HiddenServiceDir" e "
HiddenServicePort".
Se o seu Web Server estiver rodando na porta 80 e na mesma máquina que você está instalando o Tor, esse arquivo do jeito que está já vai servir. Se não for esse o caso, dê uma olhada na próxima página onde eu falo um pouco mais sobre esses dois arquivos.
Salve o arquivo e feche.
Agora vamos testar:
 /opt/tor/src/or/tor -f /etc/tor/torrc
Ao executar, se ocorreu tudo certo, já será criado o arquivo "hostname" dentro de 
/tor/, que é onde está o endereço do seu Hidden Service, assim como a "private_key".
Para pegar o endereço do seu Hidden Service:
 cat /tor/hostname
Só abrir o Tor Browser agora e testar se está acessível.
Se você planeja rodar como Daemon, ainda temos algumas coisas pra fazer.
Descomentar a linha "RunAsDaemon 1" do arquivo 
/etc/tor/torrc.
Logar como root e criar o arquivo 
/etc/init.d/tor com o seguinte conteúdo:
#! /bin/sh
### BEGIN INIT INFO
# Provides:          tor
# Required-Start:    $local_fs $remote_fs $network $named $time
# Required-Stop:     $local_fs $remote_fs $network $named $time
# Should-Start:      $syslog
# Should-Stop:       $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Starts The Onion Router daemon processes
# Description:       Start The Onion Router, a TCP overlay
#                    network client that provides anonymous
#                    transport.
### END INIT INFO
# Author: MarceloTheodoro <marcelotheodoro@outlook.com>
PIDFILE=/var/run/tor/tor.pid
DAEMON=/opt/tor/src/or/tor
UID=1001
TOR_OPTS='-f /etc/tor/torrc'
case "$1" in
  start)
        start-stop-daemon --start --quiet --chuid $UID  --pidfile $PIDFILE --exec $DAEMON \
	-- $TOR_OPTS
	echo "Ok."
	;;
  stop)
	start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --exec $DAEMON
	rm -f $PIDFILE
	echo "Ok."
	;;
  status)
	start-stop-daemon --status --pidfile $PIDFILE --exec $DAEMON
	if [ "$?" = "0" ]; then
		echo Tor is running.
	else
		echo Tor is not running.
	fi
	;;
  *)
	echo "Usage: tor {start|stop|status}" >&2
	exit 3
	;;
esac
Esse código, do jeito que está, vai funcionar bem para Debian-like. Em outras distribuições que não tenham o "start-stop-daemon", não vai servir. Nesse caso você pode utilizar o outro método de instalação que está descrito na próxima página.
Antes de continuar, você deve alterar a variável "UID" com as informações do usuário que você criou anteriormente. Você pode descobrir o "UID" do usuário com:
 cat /etc/passwd
Ache a linha correspondente ao usuário criado, o "UID" é a terceira coluna.
Salve e feche o arquivo. Torne-o executável com:
# chmod +x /etc/init.d/tor
Coloque para iniciar automaticamente com:
# insserv tor
Pronto.  :)