Merge branch 'v4-0-test' of git://git.samba.org/samba into 4-0-local
[samba.git] / howto.txt
index de315dadbb02804aeef0dd37807299e9f5a42875..7b10b5960a4571933ea191b7828c894b47ba7d34 100644 (file)
--- 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,21 +38,23 @@ version at some future date using:
   $ cd samba4
   $ svn up
 
-
 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
-  $ make
+  $ ./configure
+  $ make proto 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
 ----------------------
 
@@ -57,33 +68,33 @@ configure above to change this.
 Step 4: provision Samba4
 ------------------------
 
-The "provision" step sets up a basic user database. 
+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.
 
-  $ cd source
-  $ ./setup/provision.pl --realm=YOUR.REALM --domain=YOURDOM --adminpass=SOMEPASSWORD
+  # cd source
+  # ./setup/provision --realm=YOUR.REALM --domain=YOURDOM \
+  #  --adminpass=SOMEPASSWORD --server-role='domain controller'
 
-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:
-
-  # 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
 -----------------------
@@ -91,11 +102,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
@@ -172,3 +183,5 @@ with the right options.
 
 If you get any "Operation not permitted" errors then it probably means
 you didn't try the test as root.
+
+