How to Install Multiple CentOS/RHEL Servers Using FTP Network Sources

This tutorial will demonstrate how you can install RHEL/CentOS 8/7, using an FTP server (vsftpd) as Network Source. This allows you to install RHEL/CentOS Linux on multiple machines from a single source point, using a minimal ISO image on the machines you perform installation and the extracted binary DVD ISO mounted on the FTP server path, on the server machine that holds the source tree.

For this to work, you must already have an installation of RHEL/CentOS 8/7 on a machine attached to your network, but you can, also, use other RHEL/CentOS versions, or even other Linux distributions with an FTP, HTTP or NFS server installed and functional, that you will mount RHEL/CentOS binary DVD ISO image, but this guide will concentrate on RHEL/CentOS 8/7 with Vsftpd server only.

Requirements

On Server Side

RHEL/CentOS 8/7 minimal installation with Vsftpd server and the binary DVD ISO image located on DVD/USB drive.

On Clients Side

Download RHEL/CentOS 8/7 minimal ISO image, that can be obtained from the following links.

Step 1: Prepare Network Sources on – Server Side

1. The first step will be to install Vsftp server on your CentOS/RHEL server by issuing the following yum command.

# yum install vsftpd
Install Vsftpd in CentOS
Install Vsftpd in CentOS

2. After Vsftpd binary package is installed on your system start, enable, and verify the status of the service.

# systemctl start vsftpd
# systemctl enable vsftpd
# systemctl status vsftpd
Verify Vsftpd Status
Verify Vsftpd Status

3. Next, get your system external IP Address using IP command or ifconfig, that you will later need to access your Network Sources from a remote location.

# ip addr show
OR
# ifconfig
Check Server IP Address
Check Server IP Address

4. To make the Vsftp server available to outside connections add a firewall rule on your system to open port 21 using the following command and restart Firewall to apply the new rule if you added with a permanent statement.

# firewall-cmd --add-service=ftp --permanent
# systemctl restart firewalld

5. Assuming that you already have downloaded RHEL/CentOS 8/7 binary DVD ISO image, put it on your machine DVD-ROM/USB drive and mount it as a loop with read-only attributes to Vsftp server path – for vsftpd usually, the location is /var/ftp/pub/, using the following command.

# mount -o loop,ro /dev/sr0  /var/ftp/pub/           [Mount DVD/USB]
OR
# mount -o loop,ro path-to-isofile  /var/ftp/pub/    [If downloaded on the server]
Mount ISO File
Mount ISO File

6. To see the result so far, open a browser from a remote location and navigate to the address ftp://system_IP/pub/ using FTP protocol.

Check FTP from Browser
Check FTP from Browser

As you can see from the screenshot above an installation tree directory should appear with the extracted contents of the binary DVD ISO image. Now the FTP Network Sources are prepared to be used for remote installations.

Step 2: Add Network Installation Sources to – Remote Clients

6. Now it’s time to install RHEL/CentOS 8/7 on other machines using as a FTP Source Installation the above-configured server. On the system that you will perform the installation of RHEL/CentOS 8/7 put the minimal bootable binary ISO image on DVD-ROM/USB drive, for creating bootable USB drive, use Unetbootin Bootable or Rufus tool.

We use the same procedure as described in our earlier articles for RHEL/CentOS 8/7 installation process, but slightly change the in the Installation Summary order.

After you have configured your Date and Time, Keyboard and Language, move Network and Hostname and switch your system Ethernet card to ON to automatically obtain network configurations and gain network connectivity if you have a DHCP server on your network or configure it with a static IP Address.

CentOS 8 Installation Summary
CentOS 8 Installation Summary
Enable Network Card
Enable Network Card

7. After the Network Card is active and operational it’s time to add the Network Installation Sources. Go to Software -> Installation Source from Installation Summary menu. Choose Network Installation Sources using FTP protocol and add you sources configured earlier with the FTP server IP Address and path, like in the image below.

ftp://remote_FTP_IP/pub/
CentOS Installation Sources
CentOS Installation Sources
CentOS FTP Network Installation Sources
CentOS FTP Network Installation Sources

8. After you added the Network Installation Sources, hit on above Done button to apply changes and wait for the installer to detect and automatically configure your Network Sources. After everything is configured you can move forward with the installation procedure in the same manner as if you are using a local binary DVD ISO image.

Begin CentOS Installation
Begin CentOS Installation

9. Another approach to add Network Sources is to set them up from command line on Boot menu by pressing TAB key on the Boot menu to add extra options on your installation process and append the following line.

ip=dhcp inst.rep=ftp://192.168.1.70/pub/
  1. ip=dhcp -> automatically starts your NIC and configures using the DHCP method.
  2. inst.rep=ftp://192.168.1.70/pub/ -> your FTP server IP Address and path that holds the DVD mounted Installation Sources.
Add Network Sources in Boot Menu
Add Network Sources in Boot Menu

10. After finishing editing the Boot command line, press Enter key to start the installation process, and the FTP Network Installation Sources should automatically be configured and appear on Installation Summary.

CentOS Installation From FTP Sources
CentOS Installation From FTP Sources

Although this tutorial only presents using as Network Location for Sources Installation only the FTP protocol, in the same manner, you can use other protocols, such as HTTPS and HTTP, the only change is for NFS protocol which uses the copy of the binary DVD ISO image on the exported path configured in /etc/exports file, without the need to mount the DVD ISO image on your system.

Matei Cezar
I'am a computer addicted guy, a fan of open source and linux based system software, have about 4 years experience with Linux distributions desktop, servers and bash scripting.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

Got something to say? Join the discussion.

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.