diff options
-rw-r--r-- | howto.txt | 59 |
1 files changed, 33 insertions, 26 deletions
@@ -1,9 +1,8 @@ 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. @@ -12,31 +11,32 @@ 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. +.. contents:: Step 1: download Samba4 ----------------------- There are 2 methods of doing this: - method 1: "rsync -avz samba.org::ftp/unpacked/samba4 ." + method 1: "rsync -avz samba.org::ftp/unpacked/samba_4_0_test/ samba4" - method 2: "svn co svn://svnanon.samba.org/samba/branches/SAMBA_4_0 samba4" + method 2: "git clone git://git.samba.org/samba.git samba4; cd samba4; git checkout v4-0-test; cd .." 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. +directory. If you don't have rsync or git then install one of them. Since only released versions of Samba contain a pregenerated configure script, -you will have to generate it by hand: +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: +Note that the above rsync command will give you a checked out git +repository. So if you also have git you can update it to the latest +version at some future date using:: $ cd samba4 - $ svn up + $ git pull origin v4-0-test Step 2: compile Samba4 ---------------------- @@ -46,7 +46,7 @@ Recommended optional development libraries: - gnutls - readline -Run this: +Run this:: $ cd samba4/source $ ./configure @@ -61,6 +61,8 @@ 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 @@ -73,6 +75,8 @@ 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 --realm=YOUR.REALM --domain=YOURDOM \ # --adminpass=SOMEPASSWORD --server-role='domain controller' @@ -89,7 +93,7 @@ Step 5: Create a simple smb.conf 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: +example:: [test] path = /data/test @@ -100,7 +104,7 @@ Step 6: starting Samba4 ----------------------- The simplest is to just run "smbd", but as a developer you may find -the following more useful: +the following more useful:: # smbd -i -M single @@ -119,11 +123,13 @@ in your $PATH. Make sure you run the right version! Step 7: testing Samba4 ---------------------- -try these commands: +try these commands:: - $ smbclient //localhost/test -Uadministrator%SOMEPASSWORD - or - $ ./script/tests/test_posix.sh //localhost/test administrator SOMEPASSWORD + $ smbclient //localhost/test -Uadministrator%SOMEPASSWORD + +or:: + + $ ./script/tests/test_posix.sh //localhost/test administrator SOMEPASSWORD NOTE about filesystem support @@ -133,23 +139,23 @@ To use the advanced features of Samba4 you need a filesystem that supports both the "user" and "system" xattr namespaces. If you run Linux with a 2.6 kernel and ext3 this means you need to -include the option "user_xattr" in your /etc/fstab. For example: +include the option "user_xattr" in your /etc/fstab. For example:: -/dev/hda3 /home ext3 user_xattr 1 1 + /dev/hda3 /home ext3 user_xattr 1 1 You also need to compile your kernel with the XATTR and SECURITY -options for your filesystem. For ext3 that means you need: +options for your filesystem. For ext3 that means you need:: CONFIG_EXT3_FS_XATTR=y CONFIG_EXT3_FS_SECURITY=y If you are running a Linux 2.6 kernel with CONFIG_IKCONFIG_PROC -defined you can check this with the following command: +defined you can check this with the following command:: $ zgrep CONFIG_EXT3_FS /proc/config.gz If you don't have a filesystem with xattr support, then you can -simulate it by using the option: +simulate it by using the option:: posix:eadb = /usr/local/samba/eadb.tdb @@ -161,7 +167,7 @@ Testing your filesystem ----------------------- To test your filesystem support, install the 'attr' package and run -the following 4 commands as root: +the following 4 commands as root:: # touch test.txt # setfattr -n user.test -v test test.txt @@ -169,11 +175,11 @@ the following 4 commands as root: # getfattr -d test.txt # getfattr -n security.test -d test.txt -You should see output like this: +You should see output like this:: # file: test.txt user.test="test" - + # file: test.txt security.test="test2" @@ -184,4 +190,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. - +.. + vim: ft=rest |