Landscape automates security patching, auditing, access management and compliance tasks across your Ubuntu estate. Use it in well-connected or airgapped environments: at sea, in space and everywhere in between. Landscape is available with an Ubuntu Pro subscription.
The following minimum requirements are required to install Landscape Server:
• Operating system: Ubuntu 20.04 LTS (Focal Fossa) or Ubuntu 22.04 LTS (Jammy Jellyfish)
• Hardware: A dual core 2 Ghz processor, 4 GB of RAM, and 1.5 TB GB of disk space
• Networking: An IP address and FQDN with TCP communication allowed for SSH (typically port 22), HTTP (port 80), and HTTPS (port 443)
• If you wish to use LetsEncrypt to obtain an SSL certificate, DNS administration access for the hostname you’ll use to access Landscape
Install landscape server
# Hostnamectl set-hostname landscape.example.com
# sudo apt update && sudo apt install -y ca-certificates software-properties-common
# sudo add-apt-repository ppa:landscape/self-hosted-23.03
# sudo apt-get update
# sudo DEBIAN_FRONTEND=noninteractive apt-get install -y landscape-server-quickstart
Setup SSL certificate
# sudo snap install certbot –classic
# sudo certbot –non-interactive –apache –no-redirect –agree-tos –email example@example.com –domains landscape.example.com
To configure local repositories to be able to install packages from landscape server directly follow bellow.
1-Create the gpg key
# sudo apt-get install rng-tools && sudo rngd -r /dev/urandom
gpg –gen-key
You will be prompted twice for:
Please enter the passphrase to protect your new key
Do not set any password. Choose `<OK>` to continue.
Next, at “Please confirm that you do not want to have any protection on your key” choose:
<Yes, protection is not needed>
Save the output key to file using bellow command
# gpg -a –export-secret-keys A1234B5678C9101112D12141516E17181920FGH0 > mirror-key.asc
Import gpg key to landscape
# landscape-api import-gpg-key mirror-key mirror-key.asc –json
2-Create the distribution,
Create the distribution first:
# landscape-api create-distribution ubuntu
3-create series and pockets
create series for bionic for example ubuntu 18.4.
# landscape-api create-series bionic ubuntu \
–pockets release,updates,security \
–components main,restricted,universe,multiverse \
–architectures amd64,i386 \
–gpg-key mirror-key \
–mirror-uri http://archive.ubuntu.com/ubuntu/ \
–mirror-series bionic
4-Sync pockets
# landscape-api sync-mirror-pocket release bionic ubuntu
# landscape-api sync-mirror-pocket updates bionic ubuntu
# landscape-api sync-mirror-pocket security bionic ubuntu
note: you need to wait for one sync to finish to start with the others
5-Create a repository profile
# landscape-api create-repository-profile \
–description “This profile is for self-hosted Landscape servers.” example-profile \
–json
6-Associate computers with repository profile
In this step you attach above profile with tag you can use when registering ubuntu server to be attach to the right repository
# landscape-api associate-repository-profile \
–tags ubuntu18.4-tag example-profile \
–json
7-Add pockets to the repository profile
In previous steps we did create pockets and profile , and we need to add pockets release, update, security to the profile.
# landscape-api add-pockets-to-repository-profile example-profile release,updates,security bionic ubuntu
8-register servers to this repository
Using the register command from landscape gui you need only to specify tag (ubuntu18.4-tag) to attach the server to the right repository and source.list will be updated.
Note: if you want to create multiple repositories 22.4, 20.4 you need to follow the guide from point 3 to create pockets and profile and sync the pockets.