1 <?xml version="1.0" encoding="UTF-8"?>
2 <chapter id="installation">
7 <title>Installation</title>
10 <para>If you have previously used an older version of Netatalk, please
11 read the chapter about <link linkend="upgrade">upgrading</link> first
18 <title>How to obtain Netatalk</title>
20 <para>Please have a look at the netatalk page on sourceforge for the most
21 recent informations on this issue.</para>
24 url="http://sourceforge.net/projects/netatalk/">http://sourceforge.net/projects/netatalk/</ulink></para>
27 <title>Binary packages</title>
29 <para>Binary packages of Netatalk are included in some Linux and UNIX
30 distributions. You might want to have a look at the usual locations,
33 <para>Ubuntu package: <ulink
34 url="https://launchpad.net/ubuntu">https://launchpad.net/ubuntu
37 <para>Debian package: <ulink
38 url="http://packages.debian.org/">http://packages.debian.org/
41 <para>various RPM package: <ulink
42 url="http://rpmfind.net/">http://rpmfind.net/ </ulink></para>
44 <para>Fedora/RHEL package: <ulink
45 url="http://koji.fedoraproject.org/koji/search">http://koji.fedoraproject.org/koji/search
48 <para>Gentoo package: <ulink
49 url="http://packages.gentoo.org/">http://packages.gentoo.org/
52 <para>openSUSE package: <ulink
53 url="http://software.opensuse.org/">http://software.opensuse.org/
56 <para>Solaris package: <ulink
57 url="http://www.blastwave.org/">http://www.blastwave.org/
60 <para>FreeBSD ports: <ulink
61 url="http://www.freebsd.org/ports/index.html">http://www.freebsd.org/ports/index.html
64 <para>NetBSD pkgsrc: <ulink
65 url="http://pkgsrc.se/search.php">http://pkgsrc.se/search.php
68 <para>OpenBSD ports:<ulink
69 url="http://openports.se/search.php">http://openports.se/search.php
73 <primary>RPM</primary>
75 <secondary>Red Hat Package Manager package</secondary>
76 </indexterm><indexterm>
77 <primary>Deb</primary>
79 <secondary>Debian package</secondary>
80 </indexterm><indexterm>
81 <primary>Ports</primary>
83 <secondary>FreeBSD port</secondary>
88 <title>Source packages</title>
91 <title>Tarballs</title>
93 <para>Prepacked tarballs in .tar.gz and tar.bz2 format are available
94 on the netatalk page on <ulink
95 url="http://netatalk.sourceforge.net/">sourceforge</ulink>.</para>
101 <para>Downloading the Git repository can be done quickly and
106 <para>Make sure you have Git installed. <command>which
107 git</command> should produce a path to git.</para>
109 <screen><prompt>$></prompt> <userinput>which git</userinput>
110 <computeroutput>/usr/bin/git</computeroutput></screen>
114 <para>If you don't have one make a source directory.
115 <command>cd</command> to this directory.</para>
117 <screen><prompt>$></prompt> <userinput>mkdir /path/to/new/source/dir</userinput>
118 <prompt>$></prompt> <userinput>cd /path/to/new/source/dir</userinput></screen>
122 <para>Now get the source:</para>
124 <screen><prompt>$></prompt> <userinput>git clone git://git.code.sf.net/p/netatalk/code netatalk-code
125 </userinput><computeroutput>Initialized empty Git repository in /path/to/new/source/dir/netatalk/.git/
126 remote: Counting objects: 2503, done.
128 </computeroutput></screen>
130 <para>This will create a local directory called "netatalk-code"
131 containing a complete and fresh copy of the whole Netatalk source
132 from the Git repository.</para>
136 <para>In order to keep your repository copy updated, occasionally
139 <screen><prompt>$></prompt> <userinput>git pull</userinput></screen>
143 <para>Now <command>cd</command> to the netatalk directory and run
144 <command>./bootstrap</command>. This will create the
145 <filename>configure</filename> script required in the next
148 <screen><prompt>$></prompt> <userinput>./bootstrap</userinput></screen>
158 <title>Compiling Netatalk</title>
161 <title>Prerequisites</title>
164 <title>Required third party software</title>
168 <para>Berkeley DB<indexterm>
169 <primary>BDB</primary>
171 <secondary>Berkeley DB</secondary>
174 <para>At the time of writing, the following versions are
179 <para>minimum 4.6.x</para>
183 <para>In case Berkeley DB is not installed on your system, please
184 download it from:</para>
187 url="http://www.oracle.com/technetwork/products/berkeleydb/downloads/index.html">
188 http://www.oracle.com/technetwork/products/berkeleydb/downloads/index.html</ulink></para>
190 <para>and follow the <link linkend="build-bdb">installation
191 instructions</link>.</para>
195 <para>Libgcrypt</para>
197 <para>Required for OS X 10.7 and later. Libgcrypt is needed for
200 <para>Libgcrypt can be downloaded from: <ulink
201 url="http://directory.fsf.org/wiki/Libgcrypt">
202 http://directory.fsf.org/wiki/Libgcrypt</ulink>.</para>
208 <title>Optional third party software</title>
210 <para>Netatalk can use the following third party software to enhance
211 it's functionality.</para>
215 <para>mDNSresponderPOSIX or Avahi for Bonjour (aka
218 <para>Mac OS X 10.2 and later use Bonjour (aka Zeroconf) for
219 service discovery.</para>
221 <para>Avahi must be build with DBUS support (
222 <userinput>--enable-dbus</userinput>).</para>
224 <para>You can download Avahi from: <ulink
225 url="http://www.avahi.org/">http://www.avahi.org/</ulink>.</para>
227 <para>You can download mDNSresponder from: <ulink
228 url="http://opensource.apple.com/tarballs/mDNSResponder/">http://opensource.apple.com/tarballs/mDNSResponder/</ulink>.</para>
232 <para>TCP wrappers</para>
234 <para>Wietse Venema's network logger, also known as TCPD or
237 <para>Security options are: access control per host, domain and/or
238 service; detection of host name spoofing or host address spoofing;
239 booby traps to implement an early-warning system.</para>
241 <para>TCP Wrappers can be downloaded from: <ulink
242 url="ftp://ftp.porcupine.org/pub/security">ftp://ftp.porcupine.org/pub/security</ulink>/</para>
247 <primary>PAM</primary>
249 <secondary>Pluggable Authentication Modules</secondary>
252 <para>PAM provides a flexible mechanism for authenticating users.
253 PAM was invented by SUN<indexterm>
254 <primary>SUN</primary>
256 <secondary>Sun Microsystems</secondary>
257 </indexterm> Microsystems. Linux-PAM is a suite of shared
258 libraries that enable the local system administrator to choose how
259 applications authenticate users.</para>
261 <para>You can get the Linux PAM documentation and sources from
263 url="http://www.kernel.org/pub/linux/libs/pam/">http://www.kernel.org/pub/linux/libs/pam/</ulink>.</para>
269 <para>iconv provides conversion routines for many character
270 encodings. Netatalk uses it to provide charsets it does not have
271 built in conversions for, like ISO-8859-1. On glibc systems,
272 Netatalk can use the glibc provided iconv implementation.
273 Otherwise you can use the GNU libiconv implementation.</para>
275 <para>You can download GNU libiconv from: <olink><ulink
276 url="http://www.gnu.org/software/libiconv/">http://www.gnu.org/software/libiconv/</ulink></olink>.</para>
282 <sect2 id="compiling-netatalk">
283 <title>Compiling<indexterm>
284 <primary>Compile</primary>
286 <secondary>Compiling Netatalk from Source</secondary>
287 </indexterm> Netatalk</title>
290 <title>Configuring the build</title>
292 <para>To build the binaries, first run the program
293 <command>./configure</command> in the source directory. This should
294 automatically configure Netatalk for your operating system. If you
295 have unusual needs, then you may wish to run</para>
297 <screen>$> <userinput>./configure --help</userinput></screen>
299 <para>to see what special options you can enable.</para>
301 <para>The most used configure options are:</para>
305 <para><option>--with-init-style</option>=redhat-sysv|redhat-systemd|suse-sysv|suse-systemd|gentoo|netbsd|debian|solaris|systemd</para>
307 <para>This option helps netatalk to determine where to install the
308 start scripts.</para>
312 <para><option>--with-bdb</option>=<replaceable>/path/to/bdb/installation/</replaceable></para>
314 <para>In case you installed Berkeley DB in a non-standard
315 location, you will <emphasis>have</emphasis> to give the install
316 location to netatalk, using this switch.</para>
320 <para>Now run configure with any options you need</para>
322 <screen><prompt>$></prompt> <userinput>./configure [arguments]</userinput></screen>
324 <para>Configure will end up in an overview showing the settings the
325 Netatalk Makefiles have been created with.</para>
327 <para>If this step fails please visit the <ulink
328 url="http://netatalk.sourceforge.net/wiki/index.php/Troubleshooting">troubleshooting
329 guide</ulink>.</para>
331 <para>Next, running</para>
333 <screen><prompt>$></prompt> <userinput>make</userinput></screen>
335 <para>should produce the Netatalk binaries (this step can take several
336 minutes to complete).</para>
338 <para>When the process finished you can use</para>
340 <screen><prompt>$></prompt> <userinput>make install</userinput></screen>
342 <para>to install the binaries and documentation (must be done as
343 "root" when using default locations).</para>