NextCloud: Unleashing the Power of Self-Hosted File Sharing and Collaboration

In today's interconnected world, efficient file sharing and access across networks are essential for collaborative work environments. NFS (Network File System) provides a reliable and scalable solution for sharing files and directories between Unix-like systems. In this blog post, we'll walk you through the step-by-step process of setting up NFS on Ubuntu, allowing seamless file sharing within your network.

Step 1: Install NFS Server Package

Begin by updating the package repository and installing the NFS server package on your Ubuntu system. Open a terminal and execute the following commands:

sudo apt update

sudo apt install nfs-kernel-server -y


Step 2: Create a Directory to Share

Choose or create a directory on your Ubuntu system that you want to share with other machines on the network. For demonstration purposes, let's create a directory named "nfs_share" in the "/mnt" directory:

sudo mkdir /mnt/nfs_share


Step 3: Configure NFS Exports

Next, you need to configure NFS exports to specify which directories you want to share and the permissions associated with them. Open the NFS exports file in a text editor:

sudo nano /etc/exports


Add the following line to the file to export the directory you created earlier:

bash

Copy code

/mnt/nfs_share *(rw,sync,no_subtree_check)


This line allows any client to mount the "/mnt/nfs_share" directory with read and write permissions.

Step 4: Export the Shared Directory

Once you've configured NFS exports, you need to export the shared directory and apply the changes:

sudo exportfs -a

Step 5: Configure Firewall

If you have a firewall enabled on your Ubuntu system, you need to allow NFS traffic. Execute the following commands to open the necessary ports:

sudo ufw allow from any to any port nfs

sudo ufw allow from any to any port nfsd

sudo ufw reload


Step 6: Restart NFS Services

Restart the NFS server to apply the changes:

sudo systemctl restart nfs-kernel-server


Step 7: Verify NFS Share

To verify that the NFS share is working correctly, you can use the "showmount" command to list the shared directories:

showmount -e localhost


This command should display the exported directory "/mnt/nfs_share" and the allowed clients.

Step 8: Mount NFS Share on Client Machines

On the client machines (other Unix-like systems), you can mount the NFS share using the following command:

sudo mount <NFS_Server_IP>:/mnt/nfs_share /mnt/remote_share


Replace <NFS_Server_IP> with the IP address of your Ubuntu NFS server.

Conclusion:

By following these step-by-step instructions, you can easily set up NFS on your Ubuntu system, enabling seamless file sharing and access across your network. NFS provides a reliable and efficient solution for sharing files and directories between Unix-like systems, enhancing collaboration and productivity in your networked environment.