Installing Samba
Use the Puppy package manager and get the file "Samba-3.0.25b:SMB file and print server", this will install automatically but throw an error saying it needs a file called libdm.so.0 but doesn't know where to find it. Get the file from here and unzip it into the folder /lib then open up a terminal and type "ln -s /lib/libdm.so.0.0.4 /lib/libdm.so.0" without the quotes.
Setting up Samba
Now edit the file /etc/smb.conf using you favourite text editor, it may be a good idea to back this file up first just in case. This file can be very complicated so it is best to go here and use this example as it is what i used and it worked. The only change i had to make was to leave out the line "msdfs proxy = no" as for some reason this caused an error and samba would not work.
Testing samba
Open a terminal window and type "testparm", the output from this will tell you if there are any errors in the syntax of your smb.conf file. If all is ok type "/usr/sbin/smbd" then "/usr/sbin/nmbd" and samba should be up and running. Type "smbclient -L \\\\\puppypc\\" (change puppypc to whatever your machine is called or type your machines IP address in place of it's name), this should give a status report for samba.
Sharing a folder
I created a new folder called /sharedstuff and gave it full read/write permissions for everyone and can now access it from any windows box on my network.
My smb.conf file is included below for reference, it does seem i can comment out many of these lines and things still work fine, but most tutorials on setting up Samba say to use these line, although none seem to explain why in plain english, so i leave them in.
Code: Select all
[GLOBAL SECTION]
workgroup = HOME
server string = Samba Server
security = share
server signing = no
paranoid server security = no
read only = no
case sensitive = no
restrict anonymous = no
netbios name = PUPPYPC
max protocol = NT
socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
domain master = no
prefered master = no
dns proxy = no
ldap ssl = no
[puppypc section]
path = /
guest ok = yes
writable = yes
force user = root
browseable = yes
[sharedstuff section]
Path = /sharedstuff
guest ok = yes
writable = yes
force user = root
browseable = yes
Finally a big thank you to all the people who helped me get this far, Hiro