X-Git-Url: http://git.samba.org/samba.git/?a=blobdiff_plain;f=howto.txt;h=4e148495d680633bfe43d7c62d6987288e848219;hb=544e17896eb52efea904be2bcd821185c6d1b4c9;hp=cc728b904a27dc423fc4d58c93491294f7848d01;hpb=4c0f86f828719dce09e0923330d7e625bce55c3e;p=sfrench%2Fsamba-autobuild%2F.git diff --git a/howto.txt b/howto.txt index cc728b904a2..4e148495d68 100644 --- a/howto.txt +++ b/howto.txt @@ -4,6 +4,9 @@ Samba4 developer howto tridge@samba.org, December 2004 +A more up to date version of this howto can be found in the wiki +at http://wiki.samba.org/index.php/Samba4/HOWTO. + This is a very basic document on how to setup a simple Samba4 server. This is aimed at developers who are already familiar with Samba3 and wish to participate in Samba4 development. This is not @@ -22,6 +25,12 @@ There are 2 methods of doing this: both methods will create a directory called "samba4" in the current directory. If you don't have rsync or svn then install one of them. +Since only released versions of Samba contain a pregenerated configure script, +you will have to generate it by hand: + + $ cd samba4/source + $ ./autogen.sh + Note that the above rsync command will give you a checked out svn repository. So if you also have svn you can update it to the latest version at some future date using: @@ -29,49 +38,23 @@ version at some future date using: $ cd samba4 $ svn up -Step 1a: Use Lorikeet/Heimdal ------------------------------ - -If you want to use Kerberos in Samba4, you must use -'Lorikeet/heimdal', and place a checkout into samba4/source/heimdal - -There are 2 methods of doing this: - - method 1: - $ cd samba4/source - $ rsync -avz samba.org::ftp/unpacked/lorikeet-heimdal heimdal - - method 2: - - $ cd samba4/source - $ svn co svn://svnanon.samba.org/lorikeet/trunk/heimdal heimdal - -both methods will create a directory called "heimdal" in the samba4/source -directory. - -(Long-term, we will either import Heimdal from 'lorikeet', or setup a -reference between the repositories, so this and svn update works -automaticly. In the short term, you must manually update this directory). - Step 2: compile Samba4 ---------------------- +Recommended optional development libraries: +- acl and xattr development libraries +- gnutls +- readline + Run this: $ cd samba4/source - $ ./autogen.sh - $ ./configure.developer -C - -If you did not include heimdal, run this: - $ make + $ ./configure + $ make proto all -If you did include Heimdal, a different step is required: - $ make HEIMDAL_EXTERNAL all - -If you have gcc 3.4 or newer, then run "make pch" before "make" to +If you have gcc 3.4 or newer, then substitute "pch" for "proto" to greatly speed up the compile process (about 5x faster). - Step 3: install Samba4 ---------------------- @@ -85,33 +68,32 @@ configure above to change this. Step 4: provision Samba4 ------------------------ -The "provision" step sets up a basic user database. - - $ cd source - $ ./setup/provision.pl --realm=YOUR.REALM --domain=YOURDOM --adminpass=SOMEPASSWORD +The "provision" step sets up a basic user database. Make sure your smbscript +binary is installed in a directory listed in your PATH environment variable. +It is presumed it's available just like any other commands from your shell. +Must be run as a user with permission to write to the install directory. -This will create a number of new 'ldb' database files in a directory -newdb.XXX. You need to move these to the "private" subdirectory of -your install. For example: + # cd source + # ./setup/provision --realm=YOUR.REALM --domain=YOURDOM --adminpass=SOMEPASSWORD - # mv newdb.123/*.ldb /usr/local/samba/private/ +REMINDER: Add the "bin" directory of the path you installed to + (e.g. /usr/local/samba/bin) to your path, or the provision command + will not work. +'YOURDOM' is the NT4 style domain name. 'YOUR.REALM' is your kerberos +realm, which is typically your DNS domain name. Step 5: Create a simple smb.conf -------------------------------- -You need to create a smb.conf file in the lib/ directory of your -install. The default is /usr/local/samba/lib/smb.conf. A minimal -smb.conf would be: - - workgroup = YOURDOM +The provisioning will create a very simple smb.conf with no shares by +default. You will need to update it to add at least one share. For +example: [test] path = /data/test read only = no -The workgroup must exactly match the --domain argument you gave to provision.pl - Step 6: starting Samba4 ----------------------- @@ -119,11 +101,11 @@ Step 6: starting Samba4 The simplest is to just run "smbd", but as a developer you may find the following more useful: - # smbd -i -M single -d3 + # smbd -i -M single that means "start smbd without messages in stdout, and running a -single process, with level 3 debugging". That mode of operation makes -debugging smbd with gdb particularly easy. +single process. That mode of operation makes debugging smbd with gdb +particularly easy. Note that now it is no longer necessary to have an instance of nmbd from Samba 3 running. If you are running any smbd or nmbd processes