Here's how to compile and get started with SAMBA, which may come in handy if you need to set up a mixed environment.
Compiling
sudo apt-get install build-essential
wget http://ftp.samba.org/pub/samba/samba-latest.tar.gz
tar -xvf samba-latest.tar.gz
cd samba-3.6.3/
cd source3
./configure
make
sudo checkinstall
You may want to look through the checkinstall settings:
sudo ln -s /usr/local/samba/lib/libtalloc.so.2 /usr/lib/libtalloc.so.2
sudo ln -s /usr/local/samba/lib/libtdb.so.1 /usr/lib/libtdb.so.1
Finally, create smb.conf in /etc/samba/ and make samba find it using a symlink
sudo mkdir /etc/samba
sudo touch /etc/samba/smb.conf
sudo ln -s /etc/samba/smb.conf /usr/local/samba/lib/smb.conf
Errors:
Solution:
sudo apt-get install build-essential
error:
put /usr/local/samba/bin in PATH
export $PATH=PATH:/usr/local/samba/bin
error:
sudo ln -s /usr/local/samba/lib/libtalloc.so.2 /usr/lib/libtalloc.so.2
error:
sudo ln -s /usr/local/samba/lib/libtdb.so.1 /usr/lib/libtdb.so.1
Error:
sudo ln -s /usr/local/samba/lib/libwbclient.so.0 /usr/lib/libwbclient.so.0
error:
/usr/local/samba/bin/smbclient: Can't load /usr/local/samba/lib/smb.conf - run testparm to debug it
solution:
because I know where debian normally puts the smb.conf --
sudo mkdir /etc/samba
sudo touch /etc/samba/smb.conf
sudo ln -s /etc/samba/smb.conf /usr/local/samba/lib/smb.conf
Configuration:
Following https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/install.html#id2551954
Minimal /etc/samba/smb.conf:
Iptables
sudo iptables -A INPUT -p udp -m udp --dport 137 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp --dport 138 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 139 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 445 -j ACCEPT
Compiling
sudo apt-get install build-essential
wget http://ftp.samba.org/pub/samba/samba-latest.tar.gz
tar -xvf samba-latest.tar.gz
cd samba-3.6.3/
cd source3
./configure
make
sudo checkinstall
You may want to look through the checkinstall settings:
*****************************************Once the package is installed you need to put symlinks in your /usr/lib to the installed samba libs:
**** Debian package creation selected ***
*****************************************
This package will be built according to these values:
0 - Maintainer: [ root@barebone ]
1 - Summary: [ samba 3.6.3 ]
2 - Name: [ samba ]
3 - Version: [ 3.6.3 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ amd64 ]
8 - Source location: [ source3 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ source3 ]
12 - Conflicts: [ ]
13 - Replaces: [ ]
Enter a number to change any of them or press ENTER to continue:
sudo ln -s /usr/local/samba/lib/libtalloc.so.2 /usr/lib/libtalloc.so.2
sudo ln -s /usr/local/samba/lib/libtdb.so.1 /usr/lib/libtdb.so.1
Finally, create smb.conf in /etc/samba/ and make samba find it using a symlink
sudo mkdir /etc/samba
sudo touch /etc/samba/smb.conf
sudo ln -s /etc/samba/smb.conf /usr/local/samba/lib/smb.conf
Done. Sort of. You need to configure samba using smb.conf...a minimal configuration file can be found at the end of the post.
Errors:
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/home/verahill/tmp/samba-3.6.3/source3':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
Solution:
sudo apt-get install build-essential
error:
-bash: smbclient: command not foundsolution:
put /usr/local/samba/bin in PATH
export $PATH=PATH:/usr/local/samba/bin
error:
/usr/local/samba/bin/smbclient: error while loading shared libraries: libtalloc.so.2: cannot open shared object file: No such file or directorysolution:
sudo ln -s /usr/local/samba/lib/libtalloc.so.2 /usr/lib/libtalloc.so.2
error:
/usr/local/samba/bin/smbclient: error while loading shared libraries: libtdb.so.1: cannot open shared object file: No such file or directorysolution:
sudo ln -s /usr/local/samba/lib/libtdb.so.1 /usr/lib/libtdb.so.1
Error:
/usr/local/samba/bin/smbclient: error while loading shared libraries: libwbclient.so.0: cannot open shared object file: No such file or directorySolution:
sudo ln -s /usr/local/samba/lib/libwbclient.so.0 /usr/lib/libwbclient.so.0
error:
/usr/local/samba/bin/smbclient: Can't load /usr/local/samba/lib/smb.conf - run testparm to debug it
solution:
because I know where debian normally puts the smb.conf --
sudo mkdir /etc/samba
sudo touch /etc/samba/smb.conf
sudo ln -s /etc/samba/smb.conf /usr/local/samba/lib/smb.conf
Configuration:
Following https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/install.html#id2551954
Minimal /etc/samba/smb.conf:
[global]Also, open up the relevant ports in your firewall:
workgroup = WKG
netbios name = MYNAME
[share1]
path = /tmp
Iptables
sudo iptables -A INPUT -p udp -m udp --dport 137 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp --dport 138 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 139 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 445 -j ACCEPT
ConversionConversion EmoticonEmoticon