r12892: Add a 'Migrate from Windows' page to our installation section in SWAT.
[jra/samba/.git] / howto.txt
index aa67d7df66e32fde1dad8a2a5bca04ba79782194..76e31c26936f567afb7ff7ecbb41bf45a4714b55 100644 (file)
--- a/howto.txt
+++ b/howto.txt
@@ -26,21 +26,20 @@ 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:
 
 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 2: compile Samba4
 ----------------------
 
 Run this:
 
 
 Step 2: compile Samba4
 ----------------------
 
 Run this:
 
-  cd samba4/source
-  ./autogen.sh
-  ./configure.developer -C
-  make
+  cd samba4/source
+  ./autogen.sh
+  $ ./configure.developer
+  $ make proto all
 
 
-If you have gcc 3.4 or newer, then run "make pch" before "make" to
+If you have gcc 3.4 or newer, then substitue "pch" for "proto" to
 greatly speed up the compile process (about 5x faster).
 
 
 greatly speed up the compile process (about 5x faster).
 
 
@@ -51,38 +50,31 @@ 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.
  
 directory (defaults to /usr/local/samba). Use --prefix option to
 configure above to change this.
  
-  make install
+  make install
 
 
 Step 4: provision Samba4
 ------------------------
 
 
 
 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
+The "provision" step sets up a basic user database. Make sure your smbscript
+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
 
 Step 5: Create a simple smb.conf
 --------------------------------
 
 
 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
+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:
 
   [test]
        path = /data/test
        read only = no
 
 
   [test]
        path = /data/test
        read only = no
 
-The workgroup must exactly match the --domain argument you gave to provision.pl
-
 
 Step 6: starting Samba4
 -----------------------
 
 Step 6: starting Samba4
 -----------------------
@@ -90,11 +82,15 @@ Step 6: starting Samba4
 The simplest is to just run "smbd", but as a developer you may find
 the following more useful:
 
 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
 
 that means "start smbd without messages in stdout, and running a
 
 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.
+single process. 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!
 
 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 +101,9 @@ Step 7: testing Samba4
 
 try these commands:
 
 
 try these commands:
 
-      smbclient //localhost/test -Uadministrator%SOMEPASSWORD
+     $ smbclient //localhost/test -Uadministrator%SOMEPASSWORD
     or
     or
-     ./script/tests/test_posix.sh //localhost/test administrator SOMEPASSWORD
+     ./script/tests/test_posix.sh //localhost/test administrator SOMEPASSWORD
 
 
 NOTE about filesystem support
 
 
 NOTE about filesystem support
@@ -127,6 +123,11 @@ options for your filesystem. For ext3 that means you need:
    CONFIG_EXT3_FS_XATTR=y
    CONFIG_EXT3_FS_SECURITY=y
 
    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:
 
 If you don't have a filesystem with xattr support, then you can
 simulate it by using the option:
 
@@ -142,11 +143,11 @@ Testing your filesystem
 To test your filesystem support, install the 'attr' package and run
 the following 4 commands as root:
 
 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 -d test.txt
+  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:
 
 
 You should see output like this:
 
@@ -162,3 +163,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.
 
 If you get any "Operation not permitted" errors then it probably means
 you didn't try the test as root.
+
+