r4048: a very simple howto for new developers to tell them how to build and install...
authorAndrew Tridgell <tridge@samba.org>
Fri, 3 Dec 2004 03:08:36 +0000 (03:08 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:06:18 +0000 (13:06 -0500)
(This used to be commit 4e7d723dacc0d6d526721ee037502c02ffd3fdec)

howto.txt [new file with mode: 0644]

diff --git a/howto.txt b/howto.txt
new file mode 100644 (file)
index 0000000..bc39789
--- /dev/null
+++ b/howto.txt
@@ -0,0 +1,118 @@
+Samba4 developer howto
+----------------------
+
+tridge@samba.org, December 2004
+
+
+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
+aimed at production use of Samba4.
+
+
+Step 1: download Samba4
+-----------------------
+
+There are 2 methods of doing this:
+
+  method 1:  "rsync -avz samba.org::ftp/unpacked/samba4 ."
+
+  method 2:  "svn co svn://svnanon.samba.org/samba/branches/SAMBA_4_0 samba4"
+
+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. 
+
+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:
+
+  cd samba4
+  svn up
+
+
+Step 2: compile Samba4
+----------------------
+
+Run this:
+
+  cd samba4/source
+  ./autogen.sh
+  ./configure.developer -C
+  make
+
+If you have gcc 3.4 or newer, then run "make pch" before "make" to
+greatly speed up the compile process (about 5x faster).
+
+
+Step 3: install Samba4
+----------------------
+
+Run this as a user who have permission to write to the install
+directory (defaults to /usr/local/samba). Use --prefix option to
+configure above to change this.
+  make install
+
+
+Step 4: provision Samba4
+------------------------
+
+The "provision" step sets up a basic user database. 
+
+  cd source
+  ./script/provision.pl --realm=YOUR.REALM --domain=YOURDOM --adminpass=SOMEPASSWORD
+
+This will create a file called newsam.ldb. You need to copy this to
+sam.ldb in the "private" subdirectory of your install. For example:
+
+  cp newsam.ldb /usr/local/samba/private/sam.ldb
+
+
+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
+
+  [test]
+       path = /data/test
+       read only = no
+
+The workgroup must exactly match the --domain argument you gave to provision.pl
+
+
+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
+
+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.
+
+Make sure you put the bin and sbin directories from your new install
+in your $PATH. Make sure you run the right version!
+
+
+Step 7: testing Samba4
+----------------------
+
+try these commands:
+
+      smbclient //localhost/test -Uadministrator%SOMEPASSWORD
+    or
+     ./script/tests/test_posix.sh //localhost/test administrator
+    SOMEPASSWORD
+
+Note that to pass all the tests you would need to be using a
+filesystem with user_xattr support. On many Linux systems with an ext3
+filesystem this means mounting with the "-o user_xattr"
+option. Consult your filesystem and kernel docs for more details.
+
+