X-Git-Url: http://git.samba.org/?p=samba.git;a=blobdiff_plain;f=howto.txt;h=7b10b5960a4571933ea191b7828c894b47ba7d34;hp=de315dadbb02804aeef0dd37807299e9f5a42875;hb=955b110818c00170f7b93d2975de467551c8bc06;hpb=4f030437d02c2915628063badba6d2216a83876a diff --git a/howto.txt b/howto.txt index de315dadbb0..7b10b5960a4 100644 --- a/howto.txt +++ b/howto.txt @@ -4,6 +4,9 @@ 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. + 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 @@ -22,6 +25,12 @@ There are 2 methods of doing this: 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. +Since only released versions of Samba contain a pregenerated configure script, +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: @@ -29,21 +38,23 @@ version at some future date using: $ cd samba4 $ svn up - Step 2: compile Samba4 ---------------------- +Recommended optional development libraries: +- acl and xattr development libraries +- gnutls +- readline + Run this: $ cd samba4/source - $ ./autogen.sh - $ ./configure.developer -C - $ make + $ ./configure + $ 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 substitute "pch" for "proto" to greatly speed up the compile process (about 5x faster). - Step 3: install Samba4 ---------------------- @@ -57,33 +68,33 @@ configure above to change this. Step 4: provision Samba4 ------------------------ -The "provision" step sets up a basic user database. +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.pl --realm=YOUR.REALM --domain=YOURDOM --adminpass=SOMEPASSWORD + # cd source + # ./setup/provision --realm=YOUR.REALM --domain=YOURDOM \ + # --adminpass=SOMEPASSWORD --server-role='domain controller' -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: - - # mv newdb.123/*.ldb /usr/local/samba/private/ +REMINDER: Add the "bin" directory of the path you installed to + (e.g. /usr/local/samba/bin) to your path, or the provision command + will not work. +'YOURDOM' is the NT4 style domain name. 'YOUR.REALM' is your kerberos +realm, which is typically your DNS domain name. 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 -The workgroup must exactly match the --domain argument you gave to provision.pl - Step 6: starting Samba4 ----------------------- @@ -91,11 +102,11 @@ 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 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 @@ -172,3 +183,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. + +