Installation Source on a Network
Placing the installation source on a network has the advantage of allowing you to install multiple systems from a single source, without having to connect and disconnect any physical media. Network-based installations can be especially useful when used together with a TFTP server, which allows you to boot the installation program from the network as well. This approach completely eliminates the need for creating physical media, allowing easy deployment of CentOS on multiple systems at the same time. For further information about setting up a TFTP server, see Preparing for a Network Installation.
Installation Source on an NFS Server
The NFS
installation method uses an ISO image of the CentOS binary DVD placed in a Network File System
server’s exported directory, which the installation system must be able to read. To perform an NFS-based installation, you will need another running system which will act as the NFS host.
For more information about NFS servers, see the Red Hat Enterprise Linux 7 Storage Administration Guide.
The following procedure is only meant as a basic outline of the process. The precise steps you must take to set up an NFS server will vary based on the system’s architecture, operating system, package manager, service manager, and other factors. On CentOS 7 systems, the procedure can be followed exactly as documented. For procedures describing the installation source creation process on earlier releases of CentOS, see the appropriate Installation Guide for that release.
-
Install the nfs-utils package by running the following command as
root
:#
yum install nfs-utils -
Copy the full CentOS 7 binary DVD ISO image to a suitable directory on the NFS server. For example, you can create directory
/CentOS-install/
for this purpose and save the ISO image here. -
Open the
/etc/exports
file using a text editor and add a line with the following syntax:/exported_directory/ clients
Replace /exported_directory/ with the full path to the directory holding the ISO image. Instead of clients, use the host name or IP address of the computer which is to be installed from this NFS server, the subnetwork from which all computers are to have access the ISO image, or the asterisk sign (
*
) if you want to allow any computer with network access to the NFS server to use the ISO image. See theexports(5)
man page for detailed information about the format of this field.The following is a basic configuration which makes the
/CentOS-install/
directory available as read-only to all clients:/CentOS-install *
-
Save the
/etc/exports
file after finishing the configuration and exit the text editor. -
Start the
nfs
service:#
systemctl start nfs.service
If the service was already running before you changed the
/etc/exports
file, enter the following command instead, in order for the running NFS server to reload its configuration:#
systemctl reload nfs.service
After completing the procedure above, the ISO image is accessible over NFS
and ready to be used as an installation source.
When configuring the installation source before or during the installation, use nfs:
as the protocol, the server’s host name or IP address, the colon sign (:
), and the directory holding the ISO image. For example, if the server’s host name is myserver.example.com
and you have saved the ISO image in /CentOS-install/
, specify nfs:myserver.example.com:/CentOS-install/
as the installation source.
Installation Source on an HTTP, HTTPS or FTP Server
This installation method allows for a network-based installation using an installation tree, which is a directory containing extracted contents of the binary DVD ISO image and a valid .treeinfo
file. The installation source is accessed over HTTP
, HTTPS
, or FTP
.
For more information about HTTP and FTP servers, see the CentOS 7 System Administrator’s Guide.
The following procedure is only meant as a basic outline of the process. The precise steps you must take to set up an FTP server will vary based on the system’s architecture, operating system, package manager, service manager, and other factors. On CentOS 7 systems, the procedure can be followed exactly as documented. For procedures describing the installation source creation process on earlier releases of CentOS, see the appropriate Installation Guide for that release.
-
Install the httpd package by running the following command as
root
:#
yum install httpd
An
HTTPS
server needs additional configuration. For detailed information, see section Setting Up an SSL Server in the Red Hat Enterprise Linux 7 System Administrator’s Guide. However,HTTPS
is not necessary in most cases, because no sensitive data is sent between the installation source and the installer, andHTTP
is sufficient.If your Apache web server configuration enables SSL security, make sure to only enable the
TLSv1
protocol, and disableSSLv2
andSSLv3
. This is due to the POODLE SSL vulnerability (CVE-2014-3566). See https://access.redhat.com/solutions/1232413 for details.If you decide to use
HTTPS
and the server is using a self-signed certificate, you must boot the installer with thenoverifyssl
option. -
Copy the full CentOS 7 binary DVD ISO image to the HTTP(S) server.
-
Mount the binary DVD ISO image, using the
mount
command, to a suitable directory:#
mount -o loop,ro -t iso9660 /image_directory/image.iso /mount_point/
Replace /image_directory/image.iso with the path to the binary DVD ISO image, and /mount_point/ with the path to the directory in which you want the content of the ISO image to appear. For example, you can create directory
/mnt/CentOS-install/
for this purpose and use that as the parameter of themount
command. -
Copy the files from the mounted image to the HTTP server root.
#
cp -r /mnt/CentOS-install/ /var/www/html/
This command creates the
/var/www/html/CentOS-install/
directory with the content of the image. -
Start the
httpd
service:#
systemctl start httpd.service
After completing the procedure above, the installation tree is accessible and ready to be used as the installation source.
When configuring the installation source before or during the installation, use http://
or https://
as the protocol, the server’s host name or IP address, and the directory in which you have stored the files from the ISO image, relative to the HTTP server root. For example, if you are using HTTP
, the server’s host name is myserver.example.com
, and you have copied the files from the image to /var/www/html/CentOS-install/
, specify http://myserver.example.com/CentOS-install/
as the installation source.
-
Install the vsftpd package by running the following command as
root
:#
yum install vsftpd
-
Optionally, open the
/etc/vsftpd/vsftpd.conf
configuration file in a text editor, and edit any options you want to change. For available options, see thevsftpd.conf(5)
man page. The rest of this procedure assumes that default options are used; notably, to follow the rest of the procedure, anonymous users of the FTP server must be permitted to download files.If you configured SSL/TLS security in your
vsftpd.conf
file, make sure to only enable theTLSv1
protocol, and disableSSLv2
andSSLv3
. This is due to the POODLE SSL vulnerability (CVE-2014-3566). See https://access.redhat.com/solutions/1234773 for details. -
Copy the full CentOS 7 binary DVD ISO image to the FTP server.
-
Mount the binary DVD ISO image, using the
mount
command, to a suitable directory:#
mount -o loop,ro -t iso9660 /image_directory/image.iso /mount_point
Replace /image_directory/image.iso with the path to the binary DVD ISO image, and /mount_point with the path to the directory in which you want the content of the ISO image to appear. For example, you can create directory
/mnt/CentOS-install/
for this purpose and use that as the parameter of themount
command. -
Copy the files from the mounted image to the FTP server root:
#
cp -r /mnt/CentOS-install/ /var/ftp/
This command creates the
/var/ftp/CentOS-install/
directory with the content of the image. -
Start the
vsftpd
service:#
systemctl start vsftpd.service
If the service was already running before you changed the
/etc/vsftpd/vsftpd.conf
file, restart it to ensure the edited file is loaded. To restart, execute the following command:#
systemctl restart vsftpd.service
After completing the procedure above, the installation tree is accessible and ready to be used as the installation source.
When configuring the installation source before or during the installation, use ftp://
as the protocol, the server’s host name or IP address, and the directory in which you have stored the files from the ISO image, relative to the FTP server root. For example, if the server’s host name is myserver.example.com
and you have copied the files from the image to /var/ftp/CentOS-install/
, specify ftp://myserver.example.com/CentOS-install/
as the installation source.
Firewall Considerations for Network-based Installations
When using a network-based installation source, make sure that your firewall allows the server you are installing to access the remote installation source. The following table shows which ports must be open for each type of network-based installation
Protocol used | Ports to open |
---|---|
|
|
|
|
|
|
|
|
|
|
For information about opening specific firewall ports, see the Red Hat Enterprise Linux 7 Security Guide.