r8353: Use a PNG instead of a GIF for padding. Also fixes a file not found
[sfrench/samba-autobuild/.git] / howto.txt
index db585f695894228dd5ab2e5991de3c1d8d20058c..6f27f3e0d0243dd19e8088b8c7cddcbf687cf984 100644 (file)
--- a/howto.txt
+++ b/howto.txt
@@ -26,21 +26,49 @@ 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
+  cd samba4
+  svn up
 
+Step 1a: Use Lorikeet/Heimdal
+-----------------------------
+
+If you want to use Kerberos in Samba4, you must use
+'Lorikeet/heimdal', and place a checkout into samba4/source/heimdal
+
+There are 2 methods of doing this:
+
+  method 1:  
+    $ cd samba4/source
+    $ rsync -avz samba.org::ftp/unpacked/lorikeet-heimdal heimdal
+
+  method 2:  
+
+    $ cd samba4/source
+    $ svn co svn://svnanon.samba.org/lorikeet/trunk/heimdal heimdal
+
+both methods will create a directory called "heimdal" in the samba4/source
+directory. 
+
+(Long-term, we will either import Heimdal from 'lorikeet', or setup a
+reference between the repositories, so this and svn update works
+automaticly. In the short term, you must manually update this directory). 
 
 Step 2: compile Samba4
 ----------------------
 
 Run this:
 
-  cd samba4/source
-  ./autogen.sh
-  ./configure.developer -C
-  make
+  $ cd samba4/source
+  $ ./autogen.sh
+  $ ./configure.developer -C
+
+If you did not include heimdal, run this:
+  $ make proto all
 
-If you have gcc 3.4 or newer, then run "make pch" before "make" to
+If you did include Heimdal, a different step is required:
+  $ make proto HEIMDAL_EXTERNAL all
+
+If you have gcc 3.4 or newer, then substitue "pch" for "proto" to
 greatly speed up the compile process (about 5x faster).
 
 
@@ -51,7 +79,7 @@ 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
+  make install
 
 
 Step 4: provision Samba4
@@ -59,13 +87,14 @@ 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
+  cd source
+  $ ./setup/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:
+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:
 
-  cp newsam.ldb /usr/local/samba/private/sam.ldb
+  # mv newdb.123/*.ldb /usr/local/samba/private/
 
 
 Step 5: Create a simple smb.conf
@@ -90,12 +119,16 @@ 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 -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.
 
+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
+they need to be stopped before starting smbd from Samba 4.
+
 Make sure you put the bin and sbin directories from your new install
 in your $PATH. Make sure you run the right version!
 
@@ -105,9 +138,9 @@ Step 7: testing Samba4
 
 try these commands:
 
-      smbclient //localhost/test -Uadministrator%SOMEPASSWORD
+     $ smbclient //localhost/test -Uadministrator%SOMEPASSWORD
     or
-     ./script/tests/test_posix.sh //localhost/test administrator SOMEPASSWORD
+     ./script/tests/test_posix.sh //localhost/test administrator SOMEPASSWORD
 
 
 NOTE about filesystem support
@@ -127,6 +160,11 @@ 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:
+
+   $ 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:
 
@@ -135,3 +173,32 @@ simulate it by using the option:
 that will place all extra file attributes (NT ACLs, DOS EAs, streams
 etc), in that tdb. It is not efficient, and doesn't scale well, but at
 least it gives you a choice when you don't have a modern filesystem.
+
+Testing your filesystem
+-----------------------
+
+To test your filesystem support, install the 'attr' package and run
+the following 4 commands as root:
+
+  # touch test.txt
+  # setfattr -n user.test -v test test.txt
+  # setfattr -n security.test -v test2 test.txt
+  # getfattr -d test.txt
+  # getfattr -n security.test -d test.txt
+
+You should see output like this:
+
+  # file: test.txt
+  user.test="test"
+
+  # file: test.txt
+  security.test="test2"
+
+If you get any "Operation not supported" errors then it means your
+kernel is not configured correctly, or your filesystem is not mounted
+with the right options.
+
+If you get any "Operation not permitted" errors then it probably means
+you didn't try the test as root.
+
+