]> arthur.barton.de Git - netatalk.git/blob - doc/INSTALL
Change all references to db3/DB3 to BDB. We now support Berkeley DB
[netatalk.git] / doc / INSTALL
1 Basic Installation
2 ==================
3
4 Netatalk is known to run on these operating systems:
5
6         OS      Versions        Hardware        Notes
7         --      --------        --------        -----
8         Solaris 2.5-8           Sparc
9         Linux   1.3.x,2.x       PC
10         FreeBSD 2.2-current     PC              after 12 Sept 96
11         NetBSD  1.3             PC
12         OpenBSD 2.2             PC
13         SunOS   4.1+            Sparc           kernel must have VDDRV
14                                                 option installed
15         Ultrix  4.[1-4]         3100,5000
16         Tru64   4.0             Alpha           afpd only
17
18 See README.platforms for more information.
19
20 Quickly:
21 $> ./configure [options]
22 $> make
23 $> make install
24
25
26 ----------------------------------------------------------------
27 0. Get the source
28
29 A. Download a binary. Several Linux distributions support netatalk
30 with a package. There are also Deb's and RPM packages available on the
31 the Netatalk Sourceforge
32 site. (http://sourceforge.net/projects/netatalk/)
33
34 B. Download the tarball. There are tar.gz and tar.bz2 files available
35 for download and compiling.
36 (http://sourceforge.net/projects/netatalk/)
37
38 C. Anonymous CVS. Downloading of the CVS source can be done quickly
39 and easily.
40
41 1. make sure you have cvs installed. 
42 $> which cvs 
43 should produce a path to cvs.
44
45 2. if you don't have one make a source directory. Mine is
46 ~lance/src/working/ cd to this directory.
47
48 3. Authenticate yourself with your local cvs and the remote cvs: (all
49 one line)
50
51 cvs \
52 -d:pserver:anonymous@cvs.netatalk.sourceforge.net:/cvsroot/netatalk \
53 login
54
55 Just hit enter for the password for the anonymous user.
56
57 4. Now that both machines know who you are, get the source: (all one
58 line)
59
60 cvs -z3 \
61 -d:pserver:anonymous@cvs.netatalk.sourceforge.net:/cvsroot/netatalk \
62 co netatalk
63
64 This tells cvs what compression, (-z3) what protocol, repository and
65 where the source is (-d:protocol:host:path) what to do (co is an alias
66 for checkout) and what (netatalk) module.
67
68 This will create a netatalk directory and download a complete and
69 fresh copy of the netatalk source
70
71
72 ----------------------------------------------------------------
73
74 1. ./autogen.sh (Not necessary for a release tarball.)
75 This shell script runs libtoolize, aclocal, autoheader, automake and
76 autoconf. This sets up all the conditions for the next step. You may
77 or may not have to do this. If you downloaded a release tarball, or if
78 your download contains a ./configure file then this has already been
79 run for you.
80
81 ----------------------------------------------------------------
82
83 2. ./configure 
84 This step reads the options to the ./configure program and checks your
85 system against the requirements of those options. It generally fails
86 if your system doesn't meet the requirements. You should read the
87 DEVELOPER file because some of these options require external sources
88 to function correctly. (PAM, OpenSSL, Berkeley DB, TCP Wrappers, etc).
89
90 Netatalk options to the ./configure script: Use ./configure --help for
91 a complete list.
92
93 --disable-admin-group: disable admin group (default on),
94
95 --disable-ddp: disable DDP support (AppleTalk),
96
97 --enable-debug: enable debugging messages in syslog,
98
99 --enable-dropkludge: enable the experimental dropbox fix
100         (INSECURE!),
101
102 --with-bdb=PATH: specify path to Berkeley DB installation,
103
104 --with-did=[scheme]: set DID scheme (cnid,last),
105         CNID is a new scheme using Berkeley DB files to store a
106         per-volume cnid database persistently.
107
108         The last DID scheme recreates version 37b behaviour where
109         directory id's are incrementally calculated versus the new
110         hash method. Unfortunately for machines that have a lot of
111         devices, and/or a lot of inodes the hash can fail with
112         multiple directories resolving to the same DID.
113
114 --with-message-dir=path: path to message files [default is DISABLED],
115
116 --enable-srvloc: Turn on Server Location Protocol support,
117
118 --with-pam: enable pluggable authentication modules support,
119         PAM provides a flexible mechanism for authenticating
120         users. PAM was invented by SUN Microsystems.
121
122         Linux-PAM is a suite of shared libraries that enable the local
123         system administrator to choose how applications authenticate users.
124         You can get the Linux PAM documentation and sources from
125         http://www.kernel.org/pub/linux/libs/pam/
126
127 --with-shadow: enable shadow password support,
128
129 --disable-shell-check: disable checking for a valid shell,
130
131 --with-flock-locks: enable flock locks support,
132
133 --with-tcp-wrappers: enable TCP wrappers support.
134         Wietse Venema's network logger, also known as TCPD or
135         LOG_TCP. These programs log the client host name of incoming
136         telnet, ftp, rsh, rlogin, finger etc. requests. Security
137         options are: access control per host, domain and/or service;
138         detection of host name spoofing or host address spoofing;
139         booby traps to implement an early-warning system.  TCP
140         Wrappers can be gotten at
141         ftp://ftp.porcupine.org/pub/security/
142
143 --with-ssl-dirs=[PATH]: specify path to OpenSSL installation. 
144         NOTE: This is dependent on the same directory layout as the
145         source distribution of Openssl. That is: ./include/ and
146         ./lib/ to be on the same level. Many .rpm formats do not
147         have their files laid out in this format.
148         The OpenSSL Project is a collaborative effort to develop a
149         robust, commercial-grade, full-featured, and Open Source
150         toolkit implementing the Secure Sockets Layer (SSL v2/v3)
151         and Transport Layer Security (TLS v1) protocols as well as a
152         full-strength general purpose cryptography library.
153         This is required to enable DHX login support, which
154         will encrypt all of the passwords being sent across the 
155         connection. (Some old mac clients don't support this, check
156         the FAQ for the section on AppleShare clients.)
157         Check to see if your unix has OpenSSL already, or
158         get everything at http://www.openssl.org/ 
159
160 --with-uams-path=path: path to UAMs [default=PKGCONF/uams]
161
162 --enable-fhs: use Filesystem Hierarchy Standard (FHS) compatibility
163
164 --with-ssl-dir=PATH: specify path to openssl installation (must contain
165         lib and include dirs) 
166
167 --enable-pgp-uam: enable build of PGP UAM module
168
169 --enable-krb4-uam: enable build of Kerberos v4 UAM module
170
171 --enable-overwrite: Overwrite configuration files in PKGCONFDIR
172
173 ----------------------------------------------------------------
174
175 3. make
176
177 Compile all of the programs.  
178 Note: GNU make is required to build netatalk.
179
180 ----------------------------------------------------------------
181
182 4. make install Install the programs, scripts and man pages in the
183 places specified by the ./configure process.