First a note about the quality and level of detail of this guide: I never really had the time to complete it. I’ve been running a Tor node (currently halted because of its host’s new policy about Tor) on OpenSUSE, and because it wasn’t very clear whether or not the RPM repositories provided by Torproject were appropriate for OpenSUSE, I preferred to compile my own version. Doing so, I took notes, hoping to turn this into a proper tutorial at a later point. But I never got the time, and at the moment the server is kind of a mess requiring a reinstallation (don’t worry, it’s a test server, not the server where this site is served from ;)). So I’m quickly skimming through the notes, completing them with the help of the stuff still installed on the server, in order to quickly publish something working yet maybe lacking details, and to be able to wipe the server. The OpenSUSE version I used was 12.2.
The first step is to install required stuff, that is devel versions of libevent, openssl and zlib (
zypper install libevent-devel openssl-devel zlib-devel).
Then get the latest Tor source, either stable or alpha/beta/RC (at the moment it’s 0.2.4.16-rc), untar it, open its folder, configure and build:
tar xf tor-0.2.4.16-rc.tar.gz
As far as I understood, it’s generally recommended to avoid make install, but the choice is ultimately up to you. If you don’t make install, you’ll simply have to launch Tor manually: once compiled, the Tor executable is in
src/or/. To launch it, just run
./tor in screen (since it’s not installed as a service/daemon, you need to run it in screen).
You’ll also need to create the
torrc configuration file
torrc: create it as /usr/local/etc/tor/torrc (a sample torrc for a good starting point can be found in src/config/). See the previous post about Tor about what to configure in there.
When you modify the configuration, you can’t use
/etc/init.d/tor reload or an equivalent since it doesn’t exist (again, because it’s not installed as daemon), but you can just use ARM (see at the end how to install it): in ARM, just press ‘x’ twice to reload the config.
To avoid some ARM warnings, here are some extra options worth configuring in torrc:
Add DisableDebuggerAttachment 0 at the end
Set DataDirectory, for instance if you want to use the default,
Set a control password. First hash your password, like
./tor --hash-password mypassword, then copy the result into torrc, like
FInally, to install arm:
zypper install python-curses
rpm -ivh arm-126.96.36.199-1.rpm