1 | <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 42. How to Compile Samba</title><link rel="stylesheet" href="../samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="The Official Samba 3.5.x HOWTO and Reference Guide"><link rel="up" href="Appendix.html" title="Part VI. Reference Section"><link rel="prev" href="Appendix.html" title="Part VI. Reference Section"><link rel="next" href="Portability.html" title="Chapter 43. Portability"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 42. How to Compile Samba</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Appendix.html">Prev</a> </td><th width="60%" align="center">Part VI. Reference Section</th><td width="20%" align="right"> <a accesskey="n" href="Portability.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter 42. How to Compile Samba"><div class="titlepage"><div><div><h2 class="title"><a name="compiling"></a>Chapter 42. How to Compile Samba</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Jelmer</span> <span class="othername">R.</span> <span class="surname">Vernooij</span></h3><div class="affiliation"><span class="orgname">The Samba Team<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:jelmer@samba.org">jelmer@samba.org</a>></code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">John</span> <span class="othername">H.</span> <span class="surname">Terpstra</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:jht@samba.org">jht@samba.org</a>></code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">Andrew</span> <span class="surname">Tridgell</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:tridge@samba.org">tridge@samba.org</a>></code></p></div></div></div></div><div><p class="pubdate"> 22 May 2001 </p></div><div><p class="pubdate"> 18 March 2003 </p></div><div><p class="pubdate"> June 2005 </p></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="compiling.html#id447463">Access Samba Source Code via Subversion</a></span></dt><dd><dl><dt><span class="sect2"><a href="compiling.html#id447469">Introduction</a></span></dt><dt><span class="sect2"><a href="compiling.html#id447507">Subversion Access to samba.org</a></span></dt></dl></dd><dt><span class="sect1"><a href="compiling.html#id447680">Accessing the Samba Sources via rsync and ftp</a></span></dt><dt><span class="sect1"><a href="compiling.html#id447747">Verifying Samba's PGP Signature</a></span></dt><dt><span class="sect1"><a href="compiling.html#id447876">Building the Binaries</a></span></dt><dd><dl><dt><span class="sect2"><a href="compiling.html#id448099">Compiling Samba with Active Directory Support</a></span></dt></dl></dd><dt><span class="sect1"><a href="compiling.html#startingSamba">Starting the <span class="application">smbd</span> <span class="application">nmbd</span> and <span class="application">winbindd</span></a></span></dt><dd><dl><dt><span class="sect2"><a href="compiling.html#id448348">Starting from inetd.conf</a></span></dt><dt><span class="sect2"><a href="compiling.html#id448555">Alternative: Starting <span class="application">smbd</span> as a Daemon</a></span></dt></dl></dd></dl></div><p>
|
---|
2 | You can obtain the Samba source file from the
|
---|
3 | <a class="ulink" href="http://samba.org/" target="_top">Samba Web site</a>. To obtain a development version,
|
---|
4 | you can download Samba from Subversion or using <code class="literal">rsync</code>.
|
---|
5 | </p><div class="sect1" title="Access Samba Source Code via Subversion"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id447463"></a>Access Samba Source Code via Subversion</h2></div></div></div><div class="sect2" title="Introduction"><div class="titlepage"><div><div><h3 class="title"><a name="id447469"></a>Introduction</h3></div></div></div><p>
|
---|
6 | <a class="indexterm" name="id447477"></a>
|
---|
7 | Samba is developed in an open environment. Developers use a
|
---|
8 | Subversion to <span class="quote">“<span class="quote">checkin</span>”</span> (also known as
|
---|
9 | <span class="quote">“<span class="quote">commit</span>”</span>) new source code. Samba's various Subversion branches can
|
---|
10 | be accessed via anonymous Subversion using the instructions
|
---|
11 | detailed in this chapter.
|
---|
12 | </p><p>
|
---|
13 | This chapter is a modified version of the instructions found at the
|
---|
14 | <a class="ulink" href="http://samba.org/samba/subversion.html" target="_top">Samba</a> Web site.
|
---|
15 | </p></div><div class="sect2" title="Subversion Access to samba.org"><div class="titlepage"><div><div><h3 class="title"><a name="id447507"></a>Subversion Access to samba.org</h3></div></div></div><p>
|
---|
16 | The machine samba.org runs a publicly accessible Subversion
|
---|
17 | repository for access to the source code of several packages,
|
---|
18 | including Samba, rsync, distcc, ccache, and jitterbug. There are two main ways
|
---|
19 | of accessing the Subversion server on this host.
|
---|
20 | </p><div class="sect3" title="Access via ViewCVS"><div class="titlepage"><div><div><h4 class="title"><a name="id447518"></a>Access via ViewCVS</h4></div></div></div><p>
|
---|
21 | <a class="indexterm" name="id447526"></a>
|
---|
22 | You can access the source code via your favorite WWW browser. This allows you to access
|
---|
23 | the contents of individual files in the repository and also to look at the revision
|
---|
24 | history and commit logs of individual files. You can also ask for a diff
|
---|
25 | listing between any two versions on the repository.
|
---|
26 | </p><p>
|
---|
27 | Use the URL
|
---|
28 | <a class="ulink" href="http://viewcvs.samba.org/" target="_top">http://viewcvs.samba.org/</a>.
|
---|
29 | </p></div><div class="sect3" title="Access via Subversion"><div class="titlepage"><div><div><h4 class="title"><a name="id447551"></a>Access via Subversion</h4></div></div></div><p>
|
---|
30 | <a class="indexterm" name="id447559"></a>
|
---|
31 | You can also access the source code via a normal Subversion client. This gives you much more control over what
|
---|
32 | you can do with the repository and allows you to check out whole source trees and keep them up to date via
|
---|
33 | normal Subversion commands. This is the preferred method of access if you are a developer and not just a
|
---|
34 | casual browser.
|
---|
35 | </p><p>In order to be able to download the Samba sources off Subversion, you need
|
---|
36 | a Subversion client. Your distribution might include one, or you can download the
|
---|
37 | sources from <a class="ulink" href="http://subversion.tigris.org/" target="_top">http://subversion.tigris.org/</a>.
|
---|
38 | </p><p>
|
---|
39 | To gain access via anonymous Subversion, use the following steps.
|
---|
40 | </p><div class="procedure" title="Procedure 42.1. Retrieving Samba using Subversion"><a name="id447586"></a><p class="title"><b>Procedure 42.1. Retrieving Samba using Subversion</b></p><ol class="procedure" type="1"><li class="step" title="Step 1"><p>
|
---|
41 | Install a recent copy of Subversion. All you really need is a
|
---|
42 | copy of the Subversion client binary.
|
---|
43 | </p></li><li class="step" title="Step 2"><p>
|
---|
44 | Run the command
|
---|
45 | </p><pre class="screen">
|
---|
46 | <strong class="userinput"><code>svn co svn://svnanon.samba.org/samba/trunk samba</code></strong>.
|
---|
47 | </pre><p>
|
---|
48 | </p><p>
|
---|
49 | This will create a directory called <code class="filename">samba</code> containing the
|
---|
50 | latest Samba source code (usually the branch that is going to be the next major release). This
|
---|
51 | currently corresponds to the 3.1 development tree.
|
---|
52 | </p><p>
|
---|
53 | Subversion branches other then trunk can be obtained by adding branches/BRANCH_NAME to the URL you check
|
---|
54 | out. A list of branch names can be found on the <span class="quote">“<span class="quote">Development</span>”</span> page of the Samba Web site. A
|
---|
55 | common request is to obtain the latest 3.0 release code. This could be done by using the following command:
|
---|
56 | </p><pre class="screen">
|
---|
57 | <strong class="userinput"><code>svn co svn://svnanon.samba.org/samba/branches/SAMBA_3_0 samba_3</code></strong>.
|
---|
58 | </pre><p>
|
---|
59 | </p></li><li class="step" title="Step 3"><p>
|
---|
60 | Whenever you want to merge in the latest code changes, use the following command from within the Samba
|
---|
61 | directory:
|
---|
62 | </p><pre class="screen">
|
---|
63 | <strong class="userinput"><code>svn update</code></strong>
|
---|
64 | </pre><p>
|
---|
65 | </p></li></ol></div></div></div></div><div class="sect1" title="Accessing the Samba Sources via rsync and ftp"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id447680"></a>Accessing the Samba Sources via rsync and ftp</h2></div></div></div><p>
|
---|
66 | <a class="indexterm" name="id447688"></a>
|
---|
67 | <a class="indexterm" name="id447694"></a>
|
---|
68 | <em class="parameter"><code>pserver.samba.org</code></em> also exports unpacked copies of most parts of the Subversion tree
|
---|
69 | at the Samba <a class="ulink" href="ftp://pserver.samba.org/pub/unpacked" target="_top">pserver</a> location and also
|
---|
70 | via anonymous rsync at the Samba <a class="ulink" href="rsync://pserver.samba.org/ftp/unpacked/" target="_top">rsync</a> server location. I recommend using rsync rather
|
---|
71 | than ftp, because rsync is capable of compressing data streams, but it is also more useful than FTP because
|
---|
72 | during a partial update it will transfer only the data that is missing plus a small overhead. See <a class="ulink" href="http://rsync.samba.org/" target="_top">the rsync home page</a> for more info on rsync.
|
---|
73 | </p><p>
|
---|
74 | The disadvantage of the unpacked trees is that they do not support automatic
|
---|
75 | merging of local changes as Subversion does. <code class="literal">rsync</code> access is most convenient
|
---|
76 | for an initial install.
|
---|
77 | </p></div><div class="sect1" title="Verifying Samba's PGP Signature"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id447747"></a>Verifying Samba's PGP Signature</h2></div></div></div><p>
|
---|
78 | <a class="indexterm" name="id447755"></a>
|
---|
79 | <a class="indexterm" name="id447762"></a>
|
---|
80 | It is strongly recommended that you verify the PGP signature for any source file before
|
---|
81 | installing it. Even if you're not downloading from a mirror site, verifying PGP signatures
|
---|
82 | should be a standard reflex. Many people today use the GNU GPG tool set in place of PGP.
|
---|
83 | GPG can substitute for PGP.
|
---|
84 | </p><p>
|
---|
85 | With that said, go ahead and download the following files:
|
---|
86 | </p><pre class="screen">
|
---|
87 | <code class="prompt">$ </code><strong class="userinput"><code>wget http://us1.samba.org/samba/ftp/samba-3.0.20.tar.asc</code></strong>
|
---|
88 | <code class="prompt">$ </code><strong class="userinput"><code>wget http://us1.samba.org/samba/ftp/samba-pubkey.asc</code></strong>
|
---|
89 | </pre><p>
|
---|
90 | <a class="indexterm" name="id447805"></a>
|
---|
91 | The first file is the PGP signature for the Samba source file; the other is the Samba public
|
---|
92 | PGP key itself. Import the public PGP key with:
|
---|
93 | </p><pre class="screen">
|
---|
94 | <code class="prompt">$ </code><strong class="userinput"><code>gpg --import samba-pubkey.asc</code></strong>
|
---|
95 | </pre><p>
|
---|
96 | and verify the Samba source code integrity with:
|
---|
97 | </p><pre class="screen">
|
---|
98 | <code class="prompt">$ </code><strong class="userinput"><code>gzip -d samba-3.0.20.tar.gz</code></strong>
|
---|
99 | <code class="prompt">$ </code><strong class="userinput"><code>gpg --verify samba-3.0.20.tar.asc</code></strong>
|
---|
100 | </pre><p>
|
---|
101 | </p><p>
|
---|
102 | If you receive a message like, <span class="quote">“<span class="quote">Good signature from Samba Distribution Verification Key...,</span>”</span>
|
---|
103 | then all is well. The warnings about trust relationships can be ignored. An
|
---|
104 | example of what you would not want to see would be:
|
---|
105 | </p><pre class="screen">
|
---|
106 | gpg: BAD signature from <span class="quote">“<span class="quote">Samba Distribution Verification Key</span>”</span>
|
---|
107 | </pre><p>
|
---|
108 | </p></div><div class="sect1" title="Building the Binaries"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id447876"></a>Building the Binaries</h2></div></div></div><p>
|
---|
109 | <a class="indexterm" name="id447883"></a>
|
---|
110 | <a class="indexterm" name="id447890"></a>
|
---|
111 | After the source tarball has been unpacked, the next step involves
|
---|
112 | configuration to match Samba to your operating system platform.
|
---|
113 | If your source directory does not contain the <code class="literal">configure</code> script,
|
---|
114 | it is necessary to build it before you can continue. Building of
|
---|
115 | the configure script requires the correct version of the autoconf
|
---|
116 | tool kit. Where the necessary version of autoconf is present,
|
---|
117 | the configure script can be generated by executing the following
|
---|
118 | (please note that in Samba 3.4.x, the directory is called source3 instead
|
---|
119 | of source):
|
---|
120 | </p><pre class="screen">
|
---|
121 | <code class="prompt">root# </code> cd samba-3.0.20/source
|
---|
122 | <code class="prompt">root# </code> ./autogen.sh
|
---|
123 | </pre><p>
|
---|
124 | </p><p>
|
---|
125 | <a class="indexterm" name="id447929"></a>
|
---|
126 | To build the binaries, run the program <strong class="userinput"><code>./configure
|
---|
127 | </code></strong> in the source directory. This should automatically
|
---|
128 | configure Samba for your operating system. If you have unusual
|
---|
129 | needs, then you may wish to first run:
|
---|
130 | </p><pre class="screen">
|
---|
131 | <code class="prompt">root# </code><strong class="userinput"><code>./configure --help</code></strong>
|
---|
132 | </pre><p>
|
---|
133 | </p><p>
|
---|
134 | This will help you to see what special options can be enabled. Now execute
|
---|
135 | <strong class="userinput"><code>./configure</code></strong> with any arguments it might need:
|
---|
136 | </p><pre class="screen">
|
---|
137 | <code class="prompt">root# </code><strong class="userinput"><code>./configure <em class="replaceable"><code>[... arguments ...]</code></em></code></strong>
|
---|
138 | </pre><p>
|
---|
139 | </p><p>
|
---|
140 | <a class="indexterm" name="id447991"></a>
|
---|
141 | Execute the following create the binaries:
|
---|
142 | </p><pre class="screen">
|
---|
143 | <code class="prompt">root# </code> <strong class="userinput"><code>make</code></strong>
|
---|
144 | </pre><p>
|
---|
145 | Once it is successfully compiled, you can execute the command shown here to
|
---|
146 | install the binaries and manual pages:
|
---|
147 | </p><pre class="screen">
|
---|
148 | <code class="prompt">root# </code> <strong class="userinput"><code>make install</code></strong>
|
---|
149 | </pre><p>
|
---|
150 | </p><p>
|
---|
151 | Some people prefer to install binary files and man pages separately. If this is
|
---|
152 | your wish, the binary files can be installed by executing:
|
---|
153 | </p><pre class="screen">
|
---|
154 | <code class="prompt">root# </code> <strong class="userinput"><code>make installbin</code></strong>
|
---|
155 | </pre><p>
|
---|
156 | The man pages can be installed using this command:
|
---|
157 | </p><pre class="screen">
|
---|
158 | <code class="prompt">root# </code> <strong class="userinput"><code>make installman</code></strong>
|
---|
159 | </pre><p>
|
---|
160 | </p><p>
|
---|
161 | Note that if you are upgrading from a previous version of Samba the old
|
---|
162 | versions of the binaries will be renamed with an <span class="quote">“<span class="quote">.old</span>”</span> extension.
|
---|
163 | You can go back to the previous version by executing:
|
---|
164 | </p><pre class="screen">
|
---|
165 | <code class="prompt">root# </code> <strong class="userinput"><code>make revert</code></strong>
|
---|
166 | </pre><p>
|
---|
167 | As you can see from this, building and installing Samba does not need to
|
---|
168 | result in disaster!
|
---|
169 | </p><div class="sect2" title="Compiling Samba with Active Directory Support"><div class="titlepage"><div><div><h3 class="title"><a name="id448099"></a>Compiling Samba with Active Directory Support</h3></div></div></div><p>
|
---|
170 | In order to compile Samba with ADS support, you need to have installed
|
---|
171 | on your system:
|
---|
172 | </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
---|
173 | The MIT or Heimdal Kerberos development libraries
|
---|
174 | (either install from the sources or use a package).
|
---|
175 | </p></li><li class="listitem"><p>
|
---|
176 | The OpenLDAP development libraries.
|
---|
177 | </p></li></ul></div><p>
|
---|
178 | If your Kerberos libraries are in a nonstandard location, then
|
---|
179 | remember to add the configure option
|
---|
180 | <code class="option">--with-krb5=<em class="replaceable"><code>DIR</code></em></code>.
|
---|
181 | </p><p>
|
---|
182 | After you run configure, make sure that the
|
---|
183 | <code class="filename">include/config.h</code> it generates contain lines like this:
|
---|
184 | </p><pre class="programlisting">
|
---|
185 | #define HAVE_KRB5 1
|
---|
186 | #define HAVE_LDAP 1
|
---|
187 | </pre><p>
|
---|
188 | </p><p>
|
---|
189 | If it does not, configure did not find your KRB5 libraries or
|
---|
190 | your LDAP libraries. Look in <code class="filename">config.log</code> to figure
|
---|
191 | out why and fix it.
|
---|
192 | </p><div class="sect3" title="Installing the Required Packages for Debian"><div class="titlepage"><div><div><h4 class="title"><a name="id448159"></a>Installing the Required Packages for Debian</h4></div></div></div><p>On Debian, you need to install the following packages:</p><p>
|
---|
193 | </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>libkrb5-dev</p></li><li class="listitem"><p>krb5-user</p></li></ul></div><p>
|
---|
194 | </p></div><div class="sect3" title="Installing the Required Packages for Red Hat Linux"><div class="titlepage"><div><div><h4 class="title"><a name="id448185"></a>Installing the Required Packages for Red Hat Linux</h4></div></div></div><p>On Red Hat Linux, this means you should have at least: </p><p>
|
---|
195 | </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>krb5-workstation (for kinit)</p></li><li class="listitem"><p>krb5-libs (for linking with)</p></li><li class="listitem"><p>krb5-devel (because you are compiling from source)</p></li></ul></div><p>
|
---|
196 | </p><p>in addition to the standard development environment.</p><p>If these files are not installed on your system, you should check the installation
|
---|
197 | CDs to find which has them and install the files using your tool of choice. If in doubt
|
---|
198 | about what tool to use, refer to the Red Hat Linux documentation.</p></div><div class="sect3" title="SuSE Linux Package Requirements"><div class="titlepage"><div><div><h4 class="title"><a name="id448225"></a>SuSE Linux Package Requirements</h4></div></div></div><p>
|
---|
199 | SuSE Linux installs Heimdal packages that may be required to allow you to build
|
---|
200 | binary packages. You should verify that the development libraries have been installed on
|
---|
201 | your system.
|
---|
202 | </p><p>
|
---|
203 | SuSE Linux Samba RPMs support Kerberos. Please refer to the documentation for
|
---|
204 | your SuSE Linux system for information regarding SuSE Linux specific configuration.
|
---|
205 | Additionally, SuSE is very active in the maintenance of Samba packages that provide
|
---|
206 | the maximum capabilities that are available. You should consider using SuSE-provided
|
---|
207 | packages where they are available.
|
---|
208 | </p></div></div></div><div class="sect1" title="Starting the smbd nmbd and winbindd"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="startingSamba"></a>Starting the <span class="application">smbd</span> <span class="application">nmbd</span> and <span class="application">winbindd</span></h2></div></div></div><p>
|
---|
209 | <a class="indexterm" name="id448273"></a>
|
---|
210 | You must choose to start <span class="application">smbd</span>, <span class="application">winbindd</span> and <span class="application">nmbd</span> either as daemons or from
|
---|
211 | <span class="application">inetd</span>. Don't try to do both! Either you can put
|
---|
212 | them in <code class="filename"> inetd.conf</code> and have them started on demand by
|
---|
213 | <span class="application">inetd</span> or <span class="application">xinetd</span>, or you
|
---|
214 | can start them as daemons either from the command-line or in
|
---|
215 | <code class="filename">/etc/rc.local</code>. See the man pages for details on the
|
---|
216 | command line options. Take particular care to read the bit about what user
|
---|
217 | you need to have to start Samba. In many cases, you must be root.
|
---|
218 | </p><p>
|
---|
219 | The main advantage of starting <span class="application">smbd</span> and <span class="application">nmbd</span> using the recommended daemon method
|
---|
220 | is that they will respond slightly more quickly to an initial connection request.
|
---|
221 | </p><div class="sect2" title="Starting from inetd.conf"><div class="titlepage"><div><div><h3 class="title"><a name="id448348"></a>Starting from inetd.conf</h3></div></div></div><a class="indexterm" name="id448354"></a><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The following will be different if
|
---|
222 | you use NIS, NIS+, or LDAP to distribute services maps.</p></div><p>Look at your <code class="filename">/etc/services</code>.
|
---|
223 | What is defined at port 139/tcp? If nothing is defined,
|
---|
224 | then add a line like this:</p><pre class="programlisting">netbios-ssn 139/tcp</pre><p>Similarly for 137/udp, you should have an entry like:</p><pre class="programlisting">netbios-ns 137/udp</pre><p>
|
---|
225 | Next, edit your <code class="filename">/etc/inetd.conf</code> and add two lines like this:
|
---|
226 | </p><pre class="programlisting">
|
---|
227 | netbios-ssn stream tcp nowait root /usr/local/samba/sbin/smbd smbd
|
---|
228 | netbios-ns dgram udp wait root /usr/local/samba/sbin/nmbd nmbd
|
---|
229 | </pre><p>
|
---|
230 | </p><a class="indexterm" name="id448412"></a><p>
|
---|
231 | The exact syntax of <code class="filename">/etc/inetd.conf</code>
|
---|
232 | varies between UNIXes. Look at the other entries in inetd.conf
|
---|
233 | for a guide.
|
---|
234 | </p><p>
|
---|
235 | <a class="indexterm" name="id448431"></a>
|
---|
236 | Some distributions use xinetd instead of inetd. Consult the
|
---|
237 | xinetd manual for configuration information.
|
---|
238 | </p><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>Some UNIXes already have entries like netbios_ns
|
---|
239 | (note the underscore) in <code class="filename">/etc/services</code>.
|
---|
240 | You must edit <code class="filename">/etc/services</code> or
|
---|
241 | <code class="filename">/etc/inetd.conf</code> to make them consistent.
|
---|
242 | </p></div><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
|
---|
243 | <a class="indexterm" name="id448466"></a>
|
---|
244 | On many systems you may need to use the
|
---|
245 | <a class="link" href="smb.conf.5.html#INTERFACES" target="_top">interfaces</a> option in <code class="filename">smb.conf</code> to specify
|
---|
246 | the IP address and netmask of your interfaces. Run
|
---|
247 | <span class="application">ifconfig</span> as root if you do
|
---|
248 | not know what the broadcast is for your net. <span class="application">nmbd</span> tries
|
---|
249 | to determine it at runtime, but fails on some UNIXes.
|
---|
250 | </p></div><div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p>
|
---|
251 | Many UNIXes only accept around five parameters on the command
|
---|
252 | line in <code class="filename">inetd.conf</code>. This means you shouldn't
|
---|
253 | use spaces between the options and arguments, or you should use
|
---|
254 | a script and start the script from <code class="literal">inetd</code>.
|
---|
255 | </p></div><p>
|
---|
256 | Restart <span class="application">inetd</span>, perhaps just send it a HUP,
|
---|
257 | like this:
|
---|
258 | <a class="indexterm" name="id448531"></a>
|
---|
259 | </p><pre class="screen">
|
---|
260 | <code class="prompt">root# </code><strong class="userinput"><code>killall -HUP inetd</code></strong>
|
---|
261 | </pre><p>
|
---|
262 | </p></div><div class="sect2" title="Alternative: Starting smbd as a Daemon"><div class="titlepage"><div><div><h3 class="title"><a name="id448555"></a>Alternative: Starting <span class="application">smbd</span> as a Daemon</h3></div></div></div><p>
|
---|
263 | <a class="indexterm" name="id448569"></a>
|
---|
264 | <a class="indexterm" name="id448576"></a>
|
---|
265 | To start the server as a daemon, you should create a script something
|
---|
266 | like this one, perhaps calling it <code class="filename">startsmb</code>.
|
---|
267 | </p><pre class="programlisting">
|
---|
268 | #!/bin/sh
|
---|
269 | /usr/local/samba/sbin/smbd -D
|
---|
270 | /usr/local/samba/sbin/winbindd -D
|
---|
271 | /usr/local/samba/sbin/nmbd -D
|
---|
272 | </pre><p>
|
---|
273 | Make it executable with <code class="literal">chmod +x startsmb</code>.
|
---|
274 | </p><p>
|
---|
275 | You can then run <code class="literal">startsmb</code> by hand or execute
|
---|
276 | it from <code class="filename">/etc/rc.local</code>.
|
---|
277 | </p><p>
|
---|
278 | To kill it, send a kill signal to the processes <span class="application">nmbd</span> and <span class="application">smbd</span>.
|
---|
279 | </p><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
|
---|
280 | If you use the SVR4-style init system, you may like to look at the
|
---|
281 | <code class="filename">examples/svr4-startup</code> script to make Samba fit
|
---|
282 | into that system.
|
---|
283 | </p></div><div class="sect3" title="Starting Samba for Red Hat Linux"><div class="titlepage"><div><div><h4 class="title"><a name="id448650"></a>Starting Samba for Red Hat Linux</h4></div></div></div><p>
|
---|
284 | Red Hat Linux has not always included all Samba components in the standard installation.
|
---|
285 | So versions of Red Hat Linux do not install the winbind utility, even though it is present
|
---|
286 | on the installation CDROM media. Check to see if the <code class="literal">winbindd</code> is present
|
---|
287 | on the system:
|
---|
288 | </p><pre class="screen">
|
---|
289 | <code class="prompt">root# </code> ls /usr/sbin/winbindd
|
---|
290 | /usr/sbin/winbindd
|
---|
291 | </pre><p>
|
---|
292 | This means that the appropriate RPM package was installed. The following response means
|
---|
293 | that it is not installed:
|
---|
294 | </p><pre class="screen">
|
---|
295 | /bin/ls: /usr/sbin/winbind: No such file or directory
|
---|
296 | </pre><p>
|
---|
297 | In this case, it should be installed if you intend to use <code class="literal">winbindd</code>. Search
|
---|
298 | the CDROM installation media for the samba-winbind RPM and install it following Red Hat
|
---|
299 | guidelines.
|
---|
300 | </p><p>
|
---|
301 | The process for starting Samba will now be outlined. Be sure to configure Samba's <code class="filename">smb.conf</code>
|
---|
302 | file before starting Samba. When configured, start Samba by executing:
|
---|
303 | </p><pre class="screen">
|
---|
304 | <code class="prompt">root# </code> service smb start
|
---|
305 | <code class="prompt">root# </code> service winbind start
|
---|
306 | </pre><p>
|
---|
307 | These steps will start <span class="application">nmbd</span>, <span class="application">smbd</span> and <span class="application">winbindd</span>.
|
---|
308 | </p><p>
|
---|
309 | To ensure that these services will be automatically restarted when the system is rebooted
|
---|
310 | execute:
|
---|
311 | </p><pre class="screen">
|
---|
312 | <code class="prompt">root# </code> chkconfig smb on
|
---|
313 | <code class="prompt">root# </code> chkconfig winbind on
|
---|
314 | </pre><p>
|
---|
315 | Samba will be started automatically at every system reboot.
|
---|
316 | </p></div><div class="sect3" title="Starting Samba for Novell SUSE Linux"><div class="titlepage"><div><div><h4 class="title"><a name="id448762"></a>Starting Samba for Novell SUSE Linux</h4></div></div></div><p>
|
---|
317 | Novell SUSE Linux products automatically install all essential Samba components in a default installation.
|
---|
318 | Configure your <code class="filename">smb.conf</code> file, then execute the following to start Samba:
|
---|
319 | </p><pre class="screen">
|
---|
320 | <code class="prompt">root# </code> rcnmb start
|
---|
321 | <code class="prompt">root# </code> rcsmb start
|
---|
322 | <code class="prompt">root# </code> rcwinbind start
|
---|
323 | </pre><p>
|
---|
324 | Now execute these commands so that Samba will be started automatically following a system
|
---|
325 | reboot:
|
---|
326 | </p><pre class="screen">
|
---|
327 | <code class="prompt">root# </code> chkconfig nmb on
|
---|
328 | <code class="prompt">root# </code> chkconfig smb on
|
---|
329 | <code class="prompt">root# </code> chkconfig winbind on
|
---|
330 | </pre><p>
|
---|
331 | The Samba services will now be started automatically following a system reboot.
|
---|
332 | </p></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Appendix.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Appendix.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Portability.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Part VI. Reference Section </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 43. Portability</td></tr></table></div></body></html>
|
---|