First, in order to use Samba your machines must be on a single ethernet LAN segment using the TCP/IP protocol. Samba will not work using other network protocols. This is generally easy since Linux and Windows 95/98/NT ship with TCP/IP support. However, if you are using Windows 3.X machines TCP/IP support will need to be added. One of the most common questions that I get asked is why Samba "isn't working" when Windows machines are not using TCP/IP.
In order to setup Windows 95/98 to use TCP/IP, select Control Panel | Network, then add and configure Microsoft TCP/IP. Under Windows NT, select Control Panel | Network | Protocols.
To get the latest source version of Samba, go to this URL and pick the closest mirror site to you: ftp://ftp.samba.org/.
In most cases, though, your Linux distribution will already come with an installable package containing a recent version of Samba.
The following two daemons are required for the Samba package. They are typically installed in /usr/sbin and run either on boot from the systems startup scripts or from inetd. Example scripts are shown in Running the Daemons.
smbd (The SMB daemon) nmbd (Provides NetBIOS nameserver support to clients)
Please note that the name service provided by the nmbd daemon is different from the name service provided by the Domain Name Service (DNS). NetBIOS name service is a 'Windows-style' name service used for SMB. In other words, having DNS name service tells you nothing about the state of the ability for Samba to resolve host names.
Typically, the following Samba binaries are installed in /usr/bin or /usr/local/samba/bin, although the location is optional.
smbclient (An SMB client for UNIX machines) smbprint (A script to print to a printer on an SMB host) smbprint.sysv (As above, but for SVR4 UNIX machines) smbstatus (Lists the cuurent SMB connections for the local host) smbrun (A 'glue' script to facilitate runnning applciations on SMB hosts)
The binaries for smbfs file system support are discussed later in this document.
Additionally, a script called 'print' is included with this HOWTO, which serves as a useful front end to the smbprint script.
The Samba package is simple to install. Simply retrieve the source from the location mentioned above, and read the file README in the distribution. There is also a file called docs/INSTALL.txt in the distribution that provides a simple step-by-step set of instructions.
Following installation, place the daemons in /usr/sbin and the binaries in /usr/bin. Install the man pages in /usr/local/man.
When you made the Samba package, you would have specified in the Makefile the location for the configuration file, smb.conf. This is generally in /etc, but you can put it anywhere you like. For these directions, we will presume that you specified the location of the configuration file as /etc/smb.conf, the log file location as log file = /var/log/samba-log.%m and the lock directory as lock directory = /var/lock/samba.
Install the configuration file, smb.conf. Go to the directory where Samba was built. Look in the subdirectory examples/simple and read the file README. Copy the file smb.conf found in that directory to /etc. BE CAREFUL! If you have a Linux distribution that already has Samba installed, you may already have a Samba configuration file in /etc. You should probably start with that one.
If you don't want to have your configuration file in /etc, put it wherever you want to, then put a symlink in /etc:
ln -s /path/to/smb.conf /etc/smb.conf