NFS Server for Notes on local server

F

NFS Server for Notes on local server

Setting Up a Raspberry Pi 4 as an NFS Server

Overview

Setting up a Raspberry Pi 4 as an NFS (Network File System) server is ideal for Linux and macOS users who require efficient file sharing. This guide covers installing Raspberry Pi OS, enabling SSH, and setting up NFS.

Parts

  • Raspberry Pi 4
  • MicroSD card
  • Raspberry Pi Imager

Steps

Choosing the Right Raspberry Pi OS

For an efficient NFS server, use Raspberry Pi OS Lite (64-bit) as it is lightweight and optimized for server tasks.

  • Best Option: Raspberry Pi OS Lite (64-bit) (no desktop, minimal resources used)
  • Alternative: Raspberry Pi OS with Desktop (64-bit) (if a GUI is needed)

**Note**: Choose 64-bit unless you have older software requiring 32-bit.

Installing Raspberry Pi OS

1. **Download Raspberry Pi Imager** - Install the official Raspberry Pi Imager on your computer.

2. **Flash the SD Card** - Insert your microSD card into your computer. - Open Raspberry Pi Imager. - Click "Choose OS" → Select Raspberry Pi OS Lite (64-bit). - Click "Choose Storage" → Select your SD card. - Click "Settings" (⚙️ icon in the bottom-right corner).

Enable SSH and Set Username

  • Enable SSH via OS Customization (Recommended)

- Set Hostname (optional, e.g., raspberrypi-nfs). - Enable SSH → Choose "Use password authentication" (unless using SSH keys). - Set Username & Password (prevents setup later). - Click Save, then Write the OS to the SD card.

  • Alternative: Manually Enable SSH After Flashing

- Insert the SD card into your computer. - Navigate to the boot partition and create an empty file named `ssh`: `touch /boot/ssh` - Eject the SD card, insert it into the Raspberry Pi, and boot it up.

Connect to Raspberry Pi via SSH

  • Find your Raspberry Pi's IP using your router or raspberrypi.local (mDNS).
  • Connect using: ssh pi@<IP_ADDRESS>

Setting Up the NFS Server

1. **Install NFS Server** - Update the system and install NFS: ```bash sudo apt update && sudo apt upgrade -y sudo apt install nfs-kernel-server -y ```

2. **Create a Shared Directory** - Set up a folder to share over the network: ```bash sudo mkdir -p /mnt/nfs_share sudo chown nobody:nogroup /mnt/nfs_share sudo chmod 777 /mnt/nfs_share ```

3. **Configure NFS Exports** - Edit the NFS configuration file: ```bash sudo nano /etc/exports ``` - Add this line (adjust for your LAN subnet): ``` /mnt/nfs_share 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check) ``` - Save and exit (CTRL + X, then Y, then ENTER).

4. **Apply Changes and Restart NFS Service** ```bash sudo exportfs -a sudo systemctl restart nfs-kernel-server sudo systemctl enable nfs-kernel-server ```

Mounting the NFS Share on Clients

**Linux Clients** 1. Install NFS support: ```bash sudo apt install nfs-common -y ```

2. Create a local mount point: ```bash sudo mkdir -p /mnt/nfs_client ```

3. Mount the NFS share: ```bash sudo mount -t nfs 192.168.1.X:/mnt/nfs_share /mnt/nfs_client ``` - Replace `192.168.1.X` with the Raspberry Pi’s IP.

4. Make the mount permanent: Add this line to `/etc/fstab`: ``` 192.168.1.X:/mnt/nfs_share /mnt/nfs_client nfs defaults 0 0 ```

**macOS Clients** 1. Create a local mount point: ```bash sudo mkdir -p /mnt/nfs_client ```

2. Mount the NFS share: ```bash sudo mount -t nfs -o vers=4 192.168.1.X:/mnt/nfs_share /mnt/nfs_client ```

3. Make the mount persistent: Edit `/etc/auto_nfs` and add: ``` /mnt/nfs_client -fstype=nfs,resvport,vers=4 192.168.1.X:/mnt/nfs_share ``` - Then update AutoFS: ```bash sudo automount -vc ```

Notes

  • Your Raspberry Pi 4 is now a fully functional NFS server, providing fast and efficient file sharing for Linux and macOS devices.
  • If you run into any issues, check logs using:

```bash sudo journalctl -xe ```

Want to join the discussion? Create a free account to reply and post.

Join ForumLA Free →