diff options
Diffstat (limited to 'howto.txt')
-rw-r--r-- | howto.txt | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/howto.txt b/howto.txt new file mode 100644 index 0000000000..bc3978964e --- /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. + + |