summaryrefslogtreecommitdiff
path: root/howto.txt
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2004-12-03 03:08:36 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:06:18 -0500
commit4e7d723dacc0d6d526721ee037502c02ffd3fdec (patch)
tree3f2c400a53864502d1ccec874ccdb6674d96180e /howto.txt
parent659a0b26e2fa466169078bab6dd4af1e5fffb48b (diff)
downloadsamba-4e7d723dacc0d6d526721ee037502c02ffd3fdec.tar.gz
r4048: a very simple howto for new developers to tell them how to build and install samba4
Diffstat (limited to 'howto.txt')
-rw-r--r--howto.txt118
1 files changed, 118 insertions, 0 deletions
diff --git a/howto.txt b/howto.txt
new file mode 100644
index 00000000000..bc3978964e3
--- /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.
+
+