====== Introduction ======
A fileserver is a machine other than your workstation, that keeps your files.\\
Usually, a single fileserver provides filesharing between multiple workstations.\\
There are a number of alternatives for sharing files:
* NFS
* Samba
* Rsync
* FTP-SFTP-TFTP
==== NFS server ====
The following is a simple recipe for setting up a NFS server that is available to all machines in a subnet.\\
To set up a NFS **server** under TinyCore, you need 2 packages. (To setup a NFS **client**, you only need the first package.)
- nfs-utils.tcz
- filesystems-`uname -r`.tcz __(note: shell backquotes to insert output of `uname -r` command.)__
The appropriate tce-ab install option for both packages is //OnBoot//
=== NFS server configuration files ===
The NFS server is configured by 3 files:
- /etc/hosts.deny\\
- /etc/hosts.allow\\
- /etc/exports\\
You can get away with leaving //hosts.deny// and //hosts.allow// empty, however,\\
please keep in mind that this arrangement is only secure enough within a home network behind a firewall.
Also keep in mind that TinyCore puts its root filesystem "/" in RAM, which gets populated by an //initrd// file. (core.gz)\\
This also applies to the /etc directory. The boot options for persistence do not help for this directory.\\
If you want to keep some /etc files persistent, you must arrange for them to be copied from some persistent location into /etc at boot time.\\
The easiest way is to create a /opt/etc directory, and keep persistent copies of your /etc files there.\\
At boot time, copy everything from /opt/etc into /etc by some command in file /opt/bootsync.sh or /opt/bootlocal.sh
To share the directory /home/nfs for read-write access, create the file **/etc/exports**, and add a line like the following
/home/nfs 192.168.2.0/255.255.255.0(rw,async,no_subtree_check)
This will make the directory /home/nfs available for any machine in the IP subnet (192.168.2.xxx).\\
You can also specify exact IP adresses.
=== Starting the NFS server ===
"/usr/local/etc/init.d/nfs-server start"
=== Approaching the NFS server by a client ===
If your TinyCore box with the NFS server has IP address 192.168.2.252 and a /etc/exports as shown in the previous text,\\
then you can access its files from any machine with an IP address like 192.168.2.xxx ; by entering the following command.
sudo mount 192.168.2.252:/home/nfs /mnt/nfs
( See [[boot option nodhcp]] to obtain a fixed IP address for the server)
See also:
* [[http://nfs.sourceforge.net/nfs-howto/index.html]]
* [[http://forum.tinycorelinux.net/index.php/topic,7940.msg42631.html#msg42631]]
* [[http://forum.tinycorelinux.net/index.php/topic,10948.0.html]]
* [[http://forum.tinycorelinux.net/index.php/topic,13923.0.html]]
=== Managing the file server ===
Occasionally, you may need to do some tasks that can't be done through NFS file access alone.\\
On such occasions, command-line access through a remote shell can come in handy.\\
A solution for this, which is secure as well as reasonably cheap on resources is a Secure Shell.\\
You can use [[OpenSSH]], or its light-weight alternative [[Dropbear]]. (both being more secure than plain old telnet)\\
If you want to use [[http://www.en.wikipedia.org/wiki/SSHFS|SSHFS]], then please note that you will need a SFTP server on your TinyCore box.\\
Dropbear does not come with a SFTP server, but it can borrow the SFTP-server that comes with OpenSSH.
==== Samba server ====
(Under construction)
==== rsync server ====
(Under construction)