|< Free Open Study >|| |
As software packages goes, Dante is pretty "clean" in the sense that it doesn't have any dependencies and it doesn't have any obscure compile-time options. (Well, technically Dante requires various BSD-sockets headers and library files, but it would be an odd Unix system indeed that didn't already have these installed.) So, installing Dante is a textbook case of using the GNU autoconf system to configure and install a software package. The remainder of this section discusses this installation.
The only option that really needs to be set is the installation path. As discussed in the "Deciding on a Destination" section of Chapter 7, there are generally two good places to install custom-built software: either the /usr/local or /opt directory. Like OpenSSH (whose installation was discussed earlier), you probably don't expect to be upgrading Dante frequently or needing to have more than one version installed at a time. Therefore, /usr/local seems like a good place to install Dante.
One minor gotcha with Dante's configuration is that it doesn't automatically set the location of its configuration files to match its installation directory. Normally, if a program is installed in /usr/local, you would expect to find its configuration file in /usr/local/etc. However, Dante defaults to using a configuration directory of /etc. This can be altered by using the –with-socks-conf= option with the ./configure program, but it's not automatic, which is a bit unusual. For this example, since you're installing the program in /usr/local, you want the configuration file to be /usr/local/etc/socks.conf—this is demonstrated shortly.
Because you aren't using the Dante SOCKS server, don't bother to set the server's configuration file via the –with-sockd-conf= option.
The following command, when executed from the top-level directory of the Dante source code package, will configure the software with a path of /usr/local:
$ ./configure --prefix=/usr/local --with-socks-conf=/usr/local/etc/socks.conf
This command will configure both the client library and server components of Dante; however, as mentioned previously, you're only interested here in the Dante client library. It would be ideal to disable the server component so that it's not even compiled, but unfortunately Dante's autoconf scripts don't provide a way to do that. The server will never be run, though, so while it does waste disk space, it's not much of a security hole. If this is still a concern for you, you can modify the scripts yourself or build a package (such as an RPM or Debian package) to exclude the server files.
After configuration, Dante is ready to be compiled and installed. Again, this is a textbook example of GNU autoconf installations, so the following commands are very straightforward. The first one compiles the software, and the second one actually installs it:
$ make (Output related to the compilation process follows.) $ make install (Output related to the installation process follows.)
Dante is a classic example of a package using the GNU autoconf mechanism. The canonical ./configure; make; make install sequence of commands applies, and there are no major dependencies or compile-time options of which administrators need to be aware. However, as easy as Dante is to install, it can be a bit subtle to configure, since that requires a certain degree of detailed knowledge of the network. The next section details the configuration of Dante.
|< Free Open Study >|| |