Chapter 4. Installing Satellite Server
Use the following procedures to install Satellite Server in a disconnected environment, perform the initial configuration, and import subscription manifests.
When the intended host for Satellite Server is in a disconnected environment, you can install Satellite Server by using an external computer to download an ISO image of the packages, and copying the packages to the system you want to install Satellite Server on. This method is not recommended for any other situation as ISO images might not contain the latest updates, bug fixes, and functionality.
Before you continue, consider which manifests are relevant for your environment. For more information on manifests, see Managing Red Hat Subscriptions in Managing content.
You cannot register Satellite Server to itself.
4.1. Downloading the binary DVD images Copy linkLink copied to clipboard!
Use this procedure to download the ISO images for Red Hat Enterprise Linux and Red Hat Satellite.
Procedure
- Go to Red Hat Customer Portal and log in.
- Click DOWNLOADS.
- Select Red Hat Enterprise Linux.
- Click All Red Hat Enterprise Linux Downloads.
Ensure that you have the correct product and version for your environment.
- Product Variant is set to Red Hat Enterprise Linux for x86_64.
- Version is set to the latest minor version of the product you plan to use as the base operating system.
- Architecture is set to the 64 bit version.
- On the Product Software tab, download the Binary DVD image for the latest Red Hat Enterprise Linux for x86_64 version.
- Click DOWNLOADS and select Red Hat Satellite.
Ensure that you have the correct product and version for your environment.
- Product Variant is set to Red Hat Satellite.
- Version is set to the latest minor version of the product you plan to use.
- On the Product Software tab, download the Binary DVD image for the latest Red Hat Satellite version.
Copy the ISO files to
/var/tmpon the Satellite base operating system or other accessible storage device.# scp localfile username@hostname:remotefile
4.2. Configuring the base operating system with offline repositories Copy linkLink copied to clipboard!
Use this procedure to configure offline repositories for Red Hat Enterprise Linux 9 and Red Hat Satellite ISO images.
Procedure
Create a directory to serve as the mount point for the ISO file corresponding to the version of the base operating system.
# mkdir /media/rhelMount the ISO image for Red Hat Enterprise Linux to the mount point.
# mount -o loop rhel-DVD.iso /media/rhelTo copy the ISO file’s repository data file and change permissions, enter:
# cp /media/rhel/media.repo /etc/yum.repos.d/rhel.repo # chmod u+w /etc/yum.repos.d/rhel.repoEdit the repository data file and add the
baseurldirective.[RHEL-BaseOS] name=Red Hat Enterprise Linux BaseOS mediaid=None metadata_expire=-1 gpgcheck=0 cost=500 baseurl=file:///media/rhel/BaseOS/ [RHEL-AppStream] name=Red Hat Enterprise Linux AppStream mediaid=None metadata_expire=-1 gpgcheck=0 cost=500 baseurl=file:///media/rhel/AppStream/Verify that the repository has been configured.
# yum repolistCreate a directory to serve as the mount point for the ISO file of Satellite Server.
# mkdir /media/sat6Mount the ISO image for Satellite Server to the mount point.
# mount -o loop sat6-DVD.iso /media/sat6
4.3. Installing the Satellite packages from the offline repositories Copy linkLink copied to clipboard!
Use this procedure to install the Satellite packages from the offline repositories.
Procedure
Ensure the ISO images for Red Hat Enterprise Linux Server and Red Hat Satellite are mounted:
# findmnt -t iso9660Import the Red Hat GPG keys:
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-releaseEnsure the base operating system is up to date with the Binary DVD image:
# dnf upgradeChange to the directory where the Satellite ISO is mounted:
# cd /media/sat6/Run the installation script in the mounted directory:
# ./install_packagesIf you have successfully installed the Satellite packages, the following message is displayed:
Install is complete. Please run satellite-installer --scenario satellite.
4.4. Resolving package dependency errors Copy linkLink copied to clipboard!
If there are package dependency errors during installation of Satellite Server packages, you can resolve the errors by downloading and installing packages from Red Hat Customer Portal.
If you have successfully installed the Satellite packages, skip this procedure.
Procedure
- Go to the Red Hat Customer Portal and log in.
- Click DOWNLOADS.
- Click the product that contains the package that you want to download.
- Ensure that you have the correct Product Variant, Version, and Architecture for your environment.
- Click the Packages tab.
- In the Search field, enter the name of the package.
- Click the package.
- From the Version list, select the version of the package.
- At the bottom of the page, click Download Now.
- Copy the package to the Satellite base operating system.
On Satellite Server, change to the directory where the package is located:
# cd /path-to-package/Install the package locally:
# dnf install package_nameChange to the directory where the Satellite ISO is mounted:
# cd /media/sat6/Verify that you have resolved the package dependency errors by installing Satellite Server packages. If there are further package dependency errors, repeat this procedure.
# ./install_packagesIf you have successfully installed the Satellite packages, the following message is displayed:
Install is complete. Please run satellite-installer --scenario satellite.
Additional resources
4.5. Considerations for using the satellite-installer utility Copy linkLink copied to clipboard!
The satellite-installer utility is a collection of Puppet modules. Before using it to install Satellite Server, consider that installations can take tens of minutes and that repeated runs might overwrite manual configuration changes.
-
The installation process can take tens of minutes to complete. If you are connecting remotely to the system, use a utility such as
tmuxthat allows suspending and reattaching a communication session so that you can check the installation progress in case you become disconnected from the remote system. If you lose connection to the shell where the installation command is running, see the log at/var/log/foreman-installer/satellite.logto determine if the process completed successfully. The Satellite installation script is based on Puppet, which means that if you run the installation script more than once, it might overwrite any manual configuration changes.
To avoid this and determine which future changes apply, use the
--noopargument when you run the installation script. This argument ensures that no actual changes are made. Potential changes are written to/var/log/foreman-installer/satellite.log.Files are always backed up and so you can revert any unwanted changes. For example, in the logs of
foreman-installer, you can see an entry similar to the following about Filebucket:/Stage[main]/Dhcp/File[/etc/dhcp/dhcpd.conf]: Filebucketed /etc/dhcp/dhcpd.conf to puppet with sum 622d9820b8e764ab124367c68f5fa3a1You can restore the previous file as follows:
# puppet filebucket -l \ restore /etc/dhcp/dhcpd.conf 622d9820b8e764ab124367c68f5fa3a1-
Use the
satellite-installer --scenario satellite --helpcommand to display the most commonly used options and any default values. -
Use the
satellite-installer --scenario satellite --full-helpcommand to display advanced options.
4.6. Configuring Satellite Server Copy linkLink copied to clipboard!
Install Satellite Server by using the satellite-installer installation script. This initial configuration procedure creates an organization, location, user name, and password. After the initial configuration, you can create additional organizations and locations if required. The initial configuration also installs PostgreSQL databases on the same server.
This method is performed by running the installation script with one or more command options. The command options override the corresponding default initial configuration options and are recorded in the Satellite answer file. You can run the script as often as needed to configure any necessary options.
By default, all configuration files configured by the installer are managed. When satellite-installer runs, it overwrites any manual changes to the managed files with the intended values. This means that running the installer on a broken system should restore it to working order, regardless of changes made. For more information on how to apply custom configuration on other services, see Applying Custom Configuration to Satellite.
Prerequisites
- If you want to use an external PostgreSQL database for your Satellite Server, you must have a corresponding PostgreSQL access available, for example on a dedicated host. For more information, see Section 3.3, “Preparing Satellite for using external databases”.
Procedure
Depending on what type of database you want to use on your Satellite deployment, do one of the following:
NoteSpecify a meaningful value for the option:
--foreman-initial-organization. This can be your company name. An internal label that matches the value is also created and cannot be changed afterwards. If you do not specify a value, an organization called Default Organization with the label Default_Organization is created. You can rename the organization name but not the label.To install Satellite Server with the default local database, enter the following command with any additional options that you want to use:
# satellite-installer --scenario satellite \ --foreman-initial-organization "My_Organization" \ --foreman-initial-location "My_Location" \ --foreman-initial-admin-username admin_user_name \ --foreman-initial-admin-password admin_passwordTo install Satellite Server with an external PostgreSQL server, enter the following command:
# satellite-installer --scenario satellite \ --foreman-initial-organization "My_Organization" \ --foreman-initial-location "My_Location" \ --foreman-initial-admin-username admin_user_name \ --foreman-initial-admin-password admin_password \ --katello-candlepin-manage-db false \ --katello-candlepin-db-host postgres.example.com \ --katello-candlepin-db-name candlepin \ --katello-candlepin-db-user candlepin \ --katello-candlepin-db-password Candlepin_Password \ --foreman-proxy-content-pulpcore-manage-postgresql false \ --foreman-proxy-content-pulpcore-postgresql-host postgres.example.com \ --foreman-proxy-content-pulpcore-postgresql-db-name pulpcore \ --foreman-proxy-content-pulpcore-postgresql-user pulp \ --foreman-proxy-content-pulpcore-postgresql-password Pulpcore_Password \ --foreman-db-manage false \ --foreman-db-host postgres.example.com \ --foreman-db-database foreman \ --foreman-db-username foreman \ --foreman-db-password Foreman_PasswordTo also enable encrypted connections for these external databases, use the following command instead:
# satellite-installer --scenario satellite \ --foreman-initial-organization "My_Organization" \ --foreman-initial-location "My_Location" \ --foreman-initial-admin-username admin_user_name \ --foreman-initial-admin-password admin_password \ --katello-candlepin-manage-db false \ --katello-candlepin-db-host postgres.example.com \ --katello-candlepin-db-name candlepin \ --katello-candlepin-db-user candlepin \ --katello-candlepin-db-password Candlepin_Password \ --katello-candlepin-db-ssl true \ --katello-candlepin-db-ssl-ca My_CA_Certificate \ --katello-candlepin-db-ssl-verify true \ --foreman-proxy-content-pulpcore-manage-postgresql false \ --foreman-proxy-content-pulpcore-postgresql-host postgres.example.com \ --foreman-proxy-content-pulpcore-postgresql-db-name pulpcore \ --foreman-proxy-content-pulpcore-postgresql-user pulp \ --foreman-proxy-content-pulpcore-postgresql-password Pulpcore_Password \ --foreman-proxy-content-pulpcore-postgresql-ssl true \ --foreman-proxy-content-pulpcore-postgresql-ssl-root-ca My_CA_Certificate \ --foreman-db-manage false \ --foreman-db-host postgres.example.com \ --foreman-db-database foreman \ --foreman-db-username foreman \ --foreman-db-password Foreman_Password \ --foreman-db-root-cert My_CA_Certificate \ --foreman-db-sslmode verify-full
The script displays its progress and writes logs to
/var/log/foreman-installer/satellite.log.Unmount the ISO images:
# umount /media/sat6 # umount /media/rhel
4.7. Disabling subscription connection by using Satellite web UI Copy linkLink copied to clipboard!
Disable subscription connection on disconnected Satellite Server to avoid connecting to the Red Hat Portal. This will also prevent you from refreshing the manifest and updating upstream entitlements.
Procedure
- In the Satellite web UI, navigate to Administer > Settings.
- Click the Content tab.
-
Set the
Subscription Connection Enabledvalue toNo.
4.8. Disabling subscription connection by using Hammer CLI Copy linkLink copied to clipboard!
Disable subscription connection on disconnected Satellite Server to avoid connecting to the Red Hat Portal. This will also prevent you from refreshing the manifest and updating upstream entitlements.
Procedure
Enter the following command on Satellite Server:
$ hammer settings set --name subscription_connection_enabled --value false
4.9. Importing Red Hat subscription manifests into Satellite Copy linkLink copied to clipboard!
You can import a Red Hat subscription manifest into Satellite to provide subscription allocation to your organization in Satellite.
Simple Content Access (SCA) is set on the organization, not the manifest. Importing a manifest does not change your organization’s Simple Content Access status.
Simple Content Access simplifies the subscription experience for administrators. For more information, see the Subscription Management Administration Guide for Red Hat Enterprise Linux on the Red Hat Customer Portal.
4.9.1. Obtaining a Red Hat subscription manifest Copy linkLink copied to clipboard!
You can create and export a Red Hat subscription manifest to prepare subscriptions for import into Satellite.
Procedure
- Export your Red Hat subscription manifest from the Red Hat Customer Portal. You will use the same manifest in Section 6.4.3, “Configuring Satellite Server to synchronize content over a network by using Satellite web UI”. For more information, see Creating and managing manifests for a disconnected Satellite Server in Subscription Central.
- Disable subscription connection on your Satellite Server. For more information, see Section 4.7, “Disabling subscription connection by using Satellite web UI”.
4.9.2. Importing a Red Hat subscription manifest by using Satellite web UI Copy linkLink copied to clipboard!
You can import a Red Hat subscription manifest into Satellite Server by using Satellite web UI. Import the manifest so that you can enable and synchronize Red Hat repositories in your organization.
Prerequisites
- You have a Red Hat subscription manifest file. For more information, see Section 4.9.1, “Obtaining a Red Hat subscription manifest”.
Procedure
- In the Satellite web UI, ensure the context is set to the organization you want to use.
- Navigate to Content > Subscriptions.
- Click Manage Manifest.
- In the Manage Manifest window, click Choose File.
- Navigate to the location that contains the Red Hat subscription manifest file, then click Open.
Next steps
- You can now enable and synchronize Red Hat repositories. For more information, see Importing content in Managing content.
4.9.3. Importing a Red Hat subscription manifest by using Hammer CLI Copy linkLink copied to clipboard!
You can import a Red Hat subscription manifest into Satellite Server by using Hammer CLI. Import the manifest so that you can enable and synchronize Red Hat repositories in your organization.
Prerequisites
- You have a Red Hat subscription manifest file. For more information, see Section 4.9.1, “Obtaining a Red Hat subscription manifest”.
Procedure
Copy the Red Hat subscription manifest file from your local machine to Satellite Server:
$ scp ~/manifest_file.zip root@satellite.example.com:~/.-
Log in to Satellite Server over SSH as the
rootuser. Import the Red Hat subscription manifest file:
$ hammer subscription upload \ --file ~/manifest_file.zip \ --organization "My_Organization"
Next steps
- You can now enable and synchronize Red Hat repositories. For more information, see Importing content in Managing content.