8 Setting Up the Server Holding the Installation Sources #
There are several methods of installing the target SUSE® Linux Enterprise Server via network, for example by using any of NFS, FTP, HTTP, or SMB protocols. This chapter describes how to set up the installation server depending on the preferred network protocol.
Each method is introduced by means of two short checklists: one listing the prerequisites for this method and the other illustrating the basic procedure. More detail is then provided for all the techniques used in these installation scenarios.
In the following sections, the system to hold your new SUSE Linux Enterprise Server installation is called target system or installation target. The term repository (previously called “installation source”) is used for all sources of installation data. This includes physical media, such as CD and DVD, and network servers distributing the installation data in your network.
Depending on the operating system of the machine used as the network installation source for SUSE Linux Enterprise Server, there are several options for the server configuration. The easiest way to set up an installation server is to use YaST on SUSE Linux Enterprise Server or openSUSE.
You can even use a Microsoft Windows machine as the installation server for your Linux deployment. See Section 8.5, “Managing an SMB Repository” for details.
8.1 Setting Up an Installation Server Using YaST #
YaST offers a graphical tool for creating network repositories. It supports HTTP, FTP, and NFS network installation servers.
Log in as
root
to the machine that should act as installation server.Start
› › .Select the repository type (HTTP, FTP, or NFS). The selected service is started automatically every time the system starts. If a service of the selected type is already running on your system and you want to configure it manually for the server, deactivate the automatic configuration of the server service with
. In both cases, define the directory in which the installation data should be made available on the server.Configure the required repository type. This step relates to the automatic configuration of server services. It is skipped when automatic configuration is deactivated.
Define an alias for the root directory of the FTP or HTTP server on which the installation data should be found. The repository will later be located under
ftp://Server-IP/Alias/Name
(FTP) or underhttp://Server-IP/Alias/Name
(HTTP). Name stands for the name of the repository, which is defined in the following step. If you selected NFS in the previous step, define wild cards and export options. The NFS server will be accessible undernfs://Server-IP/Name
. Details of NFS and exports can be found in Chapter 29, Sharing File Systems with NFS.Tip: Firewall SettingsMake sure that the firewall settings of your server system allow traffic on the ports for HTTP, NFS, and FTP. If they currently do not, enable
or check first.Configure the repository. Before the installation media are copied to their destination, define the name of the repository (ideally, an easily remembered abbreviation of the product and version). YaST allows providing ISO images of the media instead of copies of the installation DVDs. If you want this, activate the relevant check box and specify the directory path under which the ISO files can be found locally. Depending on the product to distribute using this installation server, it might be necessary to add additional media, such as service pack DVDs as extra repositories. To announce your installation server in the network via OpenSLP, activate the appropriate option.
Tip: Announcing the RepositoryConsider announcing your repository via OpenSLP if your network setup supports this option. This saves you from entering the network installation path on every target machine. The target systems are booted using the SLP boot option and find the network repository without any further configuration. For details on this option, refer to Section 11.2, “Booting the Target System for Installation”.
Configuring extra repositories. YaST follows a specific naming convention to configure add-on CDs or service pack CDs repositories. Configuration is accepted only if the repository name of the add-on CDs starts with the repository name of the installation media. In other words, if you chose
SLES12SP1
as the repository name for DVD1, then you should chooseSLES12SP1addon
as the repository name for DVD2. The same applies to SDK CDs.Upload the installation data. The most lengthy step in configuring an installation server is copying the actual installation media. Insert the media in the sequence requested by YaST and wait for the copying procedure to end. When the sources have been fully copied, return to the overview of existing repositories and close the configuration by selecting
.Your installation server is now fully configured and ready for service. It is automatically started every time the system is started. No further intervention is required. You only need to configure and start this service correctly by hand if you have deactivated the automatic configuration of the selected network service with YaST as an initial step.
To deactivate a repository, select the repository to remove then select
. The installation data are removed from the system. To deactivate the network service, use the respective YaST module.If your installation server needs to provide the installation data for more than one product of the product version, start the YaST installation server module and select
in the overview of existing repositories to configure the new repository.8.2 Setting Up an NFS Repository Manually #
This assumes that you are a SLE-based operating system on the machine that will serve as installation server. If this is not the case, turn to the other vendor's documentation on NFS instead of following these instructions.
Setting up an NFS source for installation is done in two main steps. In the first step, create the directory structure holding the installation data and copy the installation media over to this structure. Second, export the directory holding the installation data to the network.
To create a directory to hold the installation data, proceed as follows:
Log in as
root
.Create a directory that will later hold all installation data and change into this directory. For example:
root #
mkdir -p /srv/install/PRODUCT/PRODUCTVERSIONroot #
cd /srv/install/PRODUCT/PRODUCTVERSIONReplace PRODUCT with an abbreviation of the product name and PRODUCTVERSION with a string that contains the product name and version.
For each DVD contained in the media kit execute the following commands:
Copy the entire content of the installation DVD into the installation server directory:
root #
cp -a /media/PATH_TO_YOUR_DVD_DRIVE .Replace PATH_TO_YOUR_DVD_DRIVE with the actual path under which your DVD drive is addressed. Depending on the type of drive used in your system, this can be
cdrom
,cdrecorder
,dvd
, ordvdrecorder
.Rename the directory to the DVD number:
root #
mv PATH_TO_YOUR_DVD_DRIVE DVDXReplace X with the actual number of your DVD.
On SUSE Linux Enterprise Server, you can export the repository with NFS using YaST. Proceed as follows:
Log in as
root
.Start
› › .Select
and and click .Select
and browse for the directory containing the installation sources, in this case,PRODUCTVERSION
.Select
and enter the host names of the machines to which to export the installation data. Instead of specifying host names here, you could also use wild cards, ranges of network addresses, or the domain name of your network. Enter the appropriate export options or leave the default, which works fine in most setups. For more information about the syntax used in exporting NFS shares, read theexports
man page.Click SUSE Linux Enterprise Server repository is automatically started and integrated into the boot process.
. The NFS server holding the
If you prefer manually exporting the repository via NFS instead of using the YaST NFS Server module, proceed as follows:
Log in as
root
.Open the file
/etc/exports
and enter the following line:/PRODUCTVERSION *(ro,root_squash,sync)
This exports the directory
/PRODUCTVERSION
to any host that is part of this network or to any host that can connect to this server. To limit the access to this server, use netmasks or domain names instead of the general wild card*
. Refer to theexport
man page for details. Save and exit this configuration file.To add the NFS service to the list of servers started during system boot, execute the following commands:
root #
systemctl enable nfsserverStart the NFS server with
systemctl start nfsserver
. If you need to change the configuration of your NFS server later, modify the configuration file and restart the NFS daemon withsystemctl restart nfsserver
.
Announcing the NFS server via OpenSLP makes its address known to all clients in your network.
Log in as
root
.Create the
/etc/slp.reg.d/install.suse.nfs.reg
configuration file with the following lines:# Register the NFS Installation Server service:install.suse:nfs://$HOSTNAME/PATH_TO_REPOSITORY/DVD1,en,65535 description=NFS Repository
Replace PATH_TO_REPOSITORY with the actual path to the installation source on your server.
Start the OpenSLP daemon with
systemctl start slpd
.
For more information about OpenSLP, refer to the package documentation
located under /usr/share/doc/packages/openslp/
or refer
to Chapter 32, SLP. More Information about NFS, refer to
Chapter 29, Sharing File Systems with NFS.
8.3 Setting Up an FTP Repository Manually #
Creating an FTP repository is very similar to creating an NFS repository. An FTP repository can be announced over the network using OpenSLP as well.
Create a directory holding the installation sources as described in Section 8.2, “Setting Up an NFS Repository Manually”.
Configure the FTP server to distribute the contents of your installation directory:
Log in as
root
and install the packagevsftpd
using the YaST software management.Enter the FTP server root directory:
root #
cd/srv/ftp
Create a subdirectory holding the installation sources in the FTP root directory:
root #
mkdir REPOSITORYReplace REPOSITORY with the product name.
Mount the contents of the installation repository into the change root environment of the FTP server:
root #
mount --bind PATH_TO_REPOSITORY /srv/ftp/REPOSITORYReplace PATH_TO_REPOSITORY and REPOSITORY with values matching your setup. If you need to make this permanent, add it to
/etc/fstab
.Start vsftpd with
vsftpd
.
Announce the repository via OpenSLP, if this is supported by your network setup:
Create the
/etc/slp.reg.d/install.suse.ftp.reg
configuration file with the following lines:# Register the FTP Installation Server service:install.suse:ftp://$HOSTNAME/REPOSITORY/DVD1,en,65535 description=FTP Repository
Replace REPOSITORY with the actual name to the repository directory on your server. The
service:
line should be entered as one continuous line.Start the OpenSLP daemon with
systemctl start slpd
.
If you prefer to use YaST rather than manually configuring the FTP installation server, refer to Chapter 34, Setting Up an FTP Server with YaST for more information on how to use the YaST FTP server module.
8.4 Setting Up an HTTP Repository Manually #
Creating an HTTP repository is very similar to creating an NFS repository. An HTTP repository can be announced over the network using OpenSLP as well.
Create a directory holding the installation sources as described in Section 8.2, “Setting Up an NFS Repository Manually”.
Configure the HTTP server to distribute the contents of your installation directory:
Install the Web server Apache as described in Section 33.1.2, “Installation”.
Enter the root directory of the HTTP server (
/srv/www/htdocs
) and create the subdirectory that will hold the installation sources:root #
mkdir REPOSITORYReplace REPOSITORY with the product name.
Create a symbolic link from the location of the installation sources to the root directory of the Web server (
/srv/www/htdocs
):root #
ln -s /PATH_TO_REPOSITORY/srv/www/htdocs/REPOSITORYModify the configuration file of the HTTP server (
/etc/apache2/default-server.conf
) to make it follow symbolic links. Replace the following line:Options None
with
Options Indexes FollowSymLinks
Reload the HTTP server configuration using
systemctl reload apache2
.
Announce the repository via OpenSLP, if this is supported by your network setup:
Create the
/etc/slp.reg.d/install.suse.http.reg
configuration file with the following lines:# Register the HTTP Installation Server service:install.suse:http://$HOSTNAME/REPOSITORY/DVD1/,en,65535 description=HTTP Repository
Replace REPOSITORY with the actual path to the repository on your server. The
service:
line should be entered as one continuous line.Start the OpenSLP daemon using
systemctl start slpd
.
8.5 Managing an SMB Repository #
Using SMB, you can import the installation sources from a Microsoft Windows server and start your Linux deployment even with no Linux machine around.
To set up an exported Windows Share holding your SUSE Linux Enterprise Server repository, proceed as follows:
Log in to your Windows machine.
Create a new directory that will hold the entire installation tree and name it
INSTALL
, for example.Export this share according the procedure outlined in your Windows documentation.
Enter this share and create a subdirectory, called
PRODUCT
. Replace PRODUCT with the actual product name.Enter the
INSTALL/PRODUCT
directory and copy each DVD to a separate directory, such asDVD1
andDVD2
.
To use an SMB mounted share as a repository, proceed as follows:
Boot the installation target.
Select
.Press F4 for a selection of the repository.
Choose SMB and enter the Windows machine's name or IP address, the share name (
INSTALL/PRODUCT/DVD1
, in this example), user name, and password. The syntax looks like this:smb://workdomain;user:password@server/INSTALL/DVD1
After you press Enter, YaST starts and you can perform the installation.
8.6 Using ISO Images of the Installation Media on the Server #
Instead of copying physical media into your server directory manually, you can also mount the ISO images of the installation media into your installation server and use them as a repository. To set up an HTTP, NFS or FTP server that uses ISO images instead of media copies, proceed as follows:
Download the ISO images and save them to the machine to use as the installation server.
Log in as
root
.Choose and create an appropriate location for the installation data, as described in Section 8.2, “Setting Up an NFS Repository Manually”, Section 8.3, “Setting Up an FTP Repository Manually”, or Section 8.4, “Setting Up an HTTP Repository Manually”.
Create subdirectories for each DVD.
To mount and unpack each ISO image to the final location, issue the following command:
root #
mount -o loop PATH_TO_ISO PATH_TO_REPOSITORY/PRODUCT/MEDIUMXReplace PATH_TO_ISO with the path to your local copy of the ISO image, PATH_TO_REPOSITORY with the source directory of your server, PRODUCT with the product name, and MEDIUMX with the type (CD or DVD) and number of media you are using.
Repeat the previous step to mount all ISO images needed for your product.
Start your installation server as usual, as described in Section 8.2, “Setting Up an NFS Repository Manually”, Section 8.3, “Setting Up an FTP Repository Manually”, or Section 8.4, “Setting Up an HTTP Repository Manually”.
To automatically mount the ISO images at boot time, add the respective mount
entries to /etc/fstab
. An entry according to the
previous example would look like the following:
PATH_TO_ISO PATH_TO_REPOSITORY/PRODUCTMEDIUM auto loop