1<?xml version="1.0" encoding="UTF-8"?> 2<chapter id="installation"> 3 <chapterinfo> 4 <date>24.8.2012</date> 5 </chapterinfo> 6 7 <title>Installation</title> 8 9 <warning> 10 <para>If you have previously used an older version of Netatalk, please 11 read the chapter about <link linkend="upgrade">upgrading</link> first 12 !!!</para> 13 </warning> 14 15 <para></para> 16 17 <sect1> 18 <title>How to obtain Netatalk</title> 19 20 <para>Please have a look at the netatalk page on sourceforge for the most 21 recent informations on this issue.</para> 22 23 <para><ulink 24 url="http://sourceforge.net/projects/netatalk/">http://sourceforge.net/projects/netatalk/</ulink></para> 25 26 <sect2> 27 <title>Binary packages</title> 28 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, 31 too.</para> 32 33 <para>Ubuntu package: <ulink 34 url="https://launchpad.net/ubuntu">https://launchpad.net/ubuntu 35 </ulink></para> 36 37 <para>Debian package: <ulink 38 url="http://packages.debian.org/">http://packages.debian.org/ 39 </ulink></para> 40 41 <para>various RPM package: <ulink 42 url="http://rpmfind.net/">http://rpmfind.net/ </ulink></para> 43 44 <para>Fedora/RHEL package: <ulink 45 url="http://koji.fedoraproject.org/koji/search">http://koji.fedoraproject.org/koji/search 46 </ulink></para> 47 48 <para>Gentoo package: <ulink 49 url="http://packages.gentoo.org/">http://packages.gentoo.org/ 50 </ulink></para> 51 52 <para>openSUSE package: <ulink 53 url="http://software.opensuse.org/">http://software.opensuse.org/ 54 </ulink></para> 55 56 <para>Solaris package: <ulink 57 url="http://www.blastwave.org/">http://www.blastwave.org/ 58 </ulink></para> 59 60 <para>FreeBSD ports: <ulink 61 url="http://www.freebsd.org/ports/index.html">http://www.freebsd.org/ports/index.html 62 </ulink></para> 63 64 <para>NetBSD pkgsrc: <ulink 65 url="http://pkgsrc.se/search.php">http://pkgsrc.se/search.php 66 </ulink></para> 67 68 <para>OpenBSD ports:<ulink 69 url="http://openports.se/search.php">http://openports.se/search.php 70 </ulink></para> 71 72 <para>etc.<indexterm> 73 <primary>RPM</primary> 74 75 <secondary>Red Hat Package Manager package</secondary> 76 </indexterm><indexterm> 77 <primary>Deb</primary> 78 79 <secondary>Debian package</secondary> 80 </indexterm><indexterm> 81 <primary>Ports</primary> 82 83 <secondary>FreeBSD port</secondary> 84 </indexterm></para> 85 </sect2> 86 87 <sect2> 88 <title>Source packages</title> 89 90 <sect3> 91 <title>Tarballs</title> 92 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> 96 </sect3> 97 98 <sect3> 99 <title>Git</title> 100 101 <para>Downloading the Git repository can be done quickly and 102 easily.</para> 103 104 <orderedlist> 105 <listitem> 106 <para>Make sure you have Git installed. <command>which 107 git</command> should produce a path to git.</para> 108 109 <screen><prompt>$></prompt> <userinput>which git</userinput> 110<computeroutput>/usr/bin/git</computeroutput></screen> 111 </listitem> 112 113 <listitem> 114 <para>If you don't have one make a source directory. 115 <command>cd</command> to this directory.</para> 116 117 <screen><prompt>$></prompt> <userinput>mkdir /path/to/new/source/dir</userinput> 118<prompt>$></prompt> <userinput>cd /path/to/new/source/dir</userinput></screen> 119 </listitem> 120 121 <listitem> 122 <para>Now get the source:</para> 123 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/ 126remote: Counting objects: 2503, done. 127... 128</computeroutput></screen> 129 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> 133 </listitem> 134 135 <listitem> 136 <para>In order to keep your repository copy updated, occasionally 137 run:</para> 138 139 <screen><prompt>$></prompt> <userinput>git pull</userinput></screen> 140 </listitem> 141 142 <listitem> 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 146 step.</para> 147 148 <screen><prompt>$></prompt> <userinput>./bootstrap</userinput></screen> 149 </listitem> 150 </orderedlist> 151 152 <para></para> 153 </sect3> 154 </sect2> 155 </sect1> 156 157 <sect1> 158 <title>Compiling Netatalk</title> 159 160 <sect2> 161 <title>Prerequisites</title> 162 163 <sect3> 164 <title>Required third party software</title> 165 166 <itemizedlist> 167 <listitem> 168 <para>Berkeley DB<indexterm> 169 <primary>BDB</primary> 170 171 <secondary>Berkeley DB</secondary> 172 </indexterm>.</para> 173 174 <para>At the time of writing, the following versions are 175 supported:</para> 176 177 <itemizedlist> 178 <listitem> 179 <para>minimum 4.6.x</para> 180 </listitem> 181 </itemizedlist> 182 183 <para>In case Berkeley DB is not installed on your system, please 184 download it from:</para> 185 186 <para><ulink 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> 189 190 <para>and follow the <link linkend="build-bdb">installation 191 instructions</link>.</para> 192 </listitem> 193 194 <listitem> 195 <para>Libgcrypt</para> 196 197 <para>Required for OS X 10.7 and later. Libgcrypt is needed for 198 DHX2.</para> 199 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> 203 </listitem> 204 </itemizedlist> 205 </sect3> 206 207 <sect3> 208 <title>Optional third party software</title> 209 210 <para>Netatalk can use the following third party software to enhance 211 it's functionality.</para> 212 213 <itemizedlist> 214 <listitem> 215 <para>mDNSresponderPOSIX or Avahi for Bonjour (aka 216 Zeroconf)</para> 217 218 <para>Mac OS X 10.2 and later use Bonjour (aka Zeroconf) for 219 service discovery.</para> 220 221 <para>Avahi must be build with DBUS support ( 222 <userinput>--enable-dbus</userinput>).</para> 223 224 <para>You can download Avahi from: <ulink 225 url="http://www.avahi.org/">http://www.avahi.org/</ulink>.</para> 226 227 <para>You can download mDNSresponder from: <ulink 228 url="http://opensource.apple.com/tarballs/mDNSResponder/">http://opensource.apple.com/tarballs/mDNSResponder/</ulink>.</para> 229 </listitem> 230 231 <listitem> 232 <para>TCP wrappers</para> 233 234 <para>Wietse Venema's network logger, also known as TCPD or 235 LOG_TCP.</para> 236 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> 240 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> 243 </listitem> 244 245 <listitem> 246 <para>PAM<indexterm> 247 <primary>PAM</primary> 248 249 <secondary>Pluggable Authentication Modules</secondary> 250 </indexterm></para> 251 252 <para>PAM provides a flexible mechanism for authenticating users. 253 PAM was invented by SUN<indexterm> 254 <primary>SUN</primary> 255 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> 260 261 <para>You can get the Linux PAM documentation and sources from 262 <ulink 263 url="http://www.kernel.org/pub/linux/libs/pam/">http://www.kernel.org/pub/linux/libs/pam/</ulink>.</para> 264 </listitem> 265 266 <listitem> 267 <para>iconv</para> 268 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> 274 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> 277 </listitem> 278 </itemizedlist> 279 </sect3> 280 </sect2> 281 282 <sect2 id="compiling-netatalk"> 283 <title>Compiling<indexterm> 284 <primary>Compile</primary> 285 286 <secondary>Compiling Netatalk from Source</secondary> 287 </indexterm> Netatalk</title> 288 289 <sect3> 290 <title>Configuring the build</title> 291 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> 296 297 <screen>$> <userinput>./configure --help</userinput></screen> 298 299 <para>to see what special options you can enable.</para> 300 301 <para>The most used configure options are:</para> 302 303 <itemizedlist> 304 <listitem> 305 <para><option>--with-init-style</option>=redhat-sysv|redhat-systemd|suse-sysv|suse-systemd|gentoo|netbsd|debian|solaris|systemd</para> 306 307 <para>This option helps netatalk to determine where to install the 308 start scripts.</para> 309 </listitem> 310 311 <listitem> 312 <para><option>--with-bdb</option>=<replaceable>/path/to/bdb/installation/</replaceable></para> 313 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> 317 </listitem> 318 </itemizedlist> 319 320 <para>Now run configure with any options you need</para> 321 322 <screen><prompt>$></prompt> <userinput>./configure [arguments]</userinput></screen> 323 324 <para>Configure will end up in an overview showing the settings the 325 Netatalk Makefiles have been created with.</para> 326 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> 330 331 <para>Next, running</para> 332 333 <screen><prompt>$></prompt> <userinput>make</userinput></screen> 334 335 <para>should produce the Netatalk binaries (this step can take several 336 minutes to complete).</para> 337 338 <para>When the process finished you can use</para> 339 340 <screen><prompt>$></prompt> <userinput>make install</userinput></screen> 341 342 <para>to install the binaries and documentation (must be done as 343 "root" when using default locations).</para> 344 </sect3> 345 </sect2> 346 </sect1> 347</chapter> 348