]> arthur.barton.de Git - netatalk.git/blob - doc/manual/install.xml
Merge remote-tracking branch 'origin/branch-netatalk-3-0' into develop
[netatalk.git] / doc / manual / install.xml
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>$&gt;</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>$&gt;</prompt> <userinput>mkdir /path/to/new/source/dir</userinput>
118 <prompt>$&gt;</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>$&gt;</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.
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>$&gt;</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>$&gt;</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>$&gt; <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>$&gt;</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>$&gt;</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>$&gt;</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>