An NFS server on a Red Hat-family host needs the nfs-utils package and the nfs-server systemd unit before it can serve exports. Installing the package places rpc.nfsd, exportfs, showmount, and the unit files on the host; starting the service brings up the kernel-backed server process that clients contact.

Current RHEL, CentOS Stream, Fedora, and compatible distributions install the server package with dnf. The package also includes client-side helpers, but a server still needs a running nfs-server.service and at least one entry in /etc/exports before clients can mount a shared path.

The base install is complete when rpm reports nfs-utils, systemd reports nfs-server as active, and exportfs can read the active export table without an error. Firewall rules, export definitions, directory permissions, Kerberos, and NFS version policy are follow-on checks that should be verified before handing the server to clients.

Steps to install an NFS server on CentOS Stream, RHEL, and Fedora:

  1. Open a terminal with sudo privileges on the server host.
  2. Install the NFS server utilities.
    $ sudo dnf install --assumeyes nfs-utils
    Dependencies resolved.
    ================================================================================
     Package          Architecture  Version              Repository  Size
    ================================================================================
    Installing:
     nfs-utils        aarch64       1:2.8.3-5.el10       baseos      479 k
    ##### snipped #####
    Complete!

    Older RHEL-family hosts that expose only yum use the same package name: sudo yum install nfs-utils.

  3. Confirm the installed package.
    $ rpm -q nfs-utils
    nfs-utils-2.8.3-5.el10.aarch64

    The exact version and architecture differ by release. The package name should start with nfs-utils-.

  4. Confirm the server daemon installed with the package.
    $ command -v rpc.nfsd
    /usr/sbin/rpc.nfsd

    rpc.nfsd works with the kernel NFS server module. Container checks can prove the package and unit files, but a real systemd host is needed to start the server process.

  5. Enable the NFS server at boot and start it now.
    $ sudo systemctl enable --now nfs-server
    Created symlink '/etc/systemd/system/multi-user.target.wants/nfs-server.service' -> '/usr/lib/systemd/system/nfs-server.service'.
  6. Confirm the service is active.
    $ sudo systemctl is-active nfs-server
    active

    If this command does not return active, inspect sudo journalctl -u nfs-server before creating exports or opening firewall rules.

  7. Confirm the export management command is available.
    $ command -v exportfs
    /usr/sbin/exportfs
  8. Check the active export table before adding shares.
    $ sudo exportfs -v

    No output is expected on a newly installed server with no entries in /etc/exports. After adding an export, the same command should show the exported path, client selector, and options.

  9. Open the active firewall only after choosing the export and protocol policy.

    NFSv4-only servers normally need the nfs firewalld service. Servers that must support NFSv3 also need rpc-bind and mountd access, and may need fixed RPC ports before firewall rules are useful.