• Logo
    Landscape
  • ubuntu.com/landscape
  • More resources
    • Discourse
    • GitHub
Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
Landscape documentation
Landscape documentation
  • Landscape Documentation
  • What is Landscape?
  • Tutorial
  • How-to guides
    • Landscape installation and set-up
      • Cloud providers
        • Install on Google Cloud
        • Install on Microsoft Azure
        • Set up Ubuntu Amazon WorkSpaces
      • Quickstart installation
      • SaaS account
      • Manual installation
      • Juju installation
      • Juju HA installation
      • Install in a LXD container
      • Install on FIPS-compliant machines
      • Install in a DISA STIG compliant environment
      • Install in an airgapped environment
      • Install Landscape Client
      • Configure Landscape Client
      • Configure RabbitMQ
      • Configure Postfix
    • Upgrade
      • Upgrade Landscape
      • Upgrade to Landscape 24.04 LTS
    • Backup and maintenance
      • Backup and restore
      • Backup and restore a charmed deployment
      • Manage maintenance cron jobs
      • Remove duplicate instances
    • Ubuntu Pro
      • Attach Ubuntu Pro
      • Enable Landscape
    • External authentication
      • Active Directory
      • OIDC
      • PAM
    • Repository mirrors
      • Manage repositories in the web portal
      • Manage repositories with the API
      • Manage repositories in an airgapped environment
      • Create tiered-repository mirrors
    • Web portal
      • Web portal (24.04 or later)
        • Manage instances
        • Manage administrators and roles
        • Manage access groups
        • Manage packages and snaps
        • Manage Livepatch and kernel updates
        • Use profiles
        • Use remote script execution
        • Use annotations
        • Sanitize instances
      • Classic web portal
        • Manage computers
        • Manage administrators and roles
        • Manage access groups
        • Manage packages
        • Manage snaps
        • Other tasks
    • IoT for devices
      • Install the snap
      • Configure the snap
      • Create an Ubuntu Core image that includes the snap
      • Use remote script execution
      • Use annotations
      • Secure removal
      • Manage snaps with validation sets
    • WSL integration
      • Configure Landscape after upgrade
      • Register WSL hosts
      • Manage WSL instances
      • Use WSL profiles
      • Perform common tasks
      • Get support
    • Ubuntu installer
      • Configure a deployment for autoinstall provisioning
      • Set up autoinstall provisioning
      • Provision a workstation
    • Security
      • Harden your deployment
      • Apply security updates
      • Use security profiles
    • API
      • Make a REST API request
      • Use the legacy API
      • Use the legacy API command-line client
      • Use the legacy API via HTTPS requests
      • Use the legacy API Python module
    • Troubleshooting
      • Idle activities
  • Reference
    • API
      • REST API endpoints
        • Accounts
        • Activities
        • Administrators
        • Alerts
        • Beta-only
        • Child Instance Profiles
        • Computers
        • Credentials
        • GPG Key
        • Invitations
        • License Management
        • Livepatch
        • Login
        • Packages
        • Password
        • Person
        • Preferences
        • Processes
        • Reboot Profiles
        • Repositories
        • Repository Profiles
        • Script Profiles
        • Scripts
        • Security Profiles
        • Snaps
        • Switch Account
        • Tokens
        • Users
        • WSL
      • Legacy API endpoints
        • Activities
        • Administrators
        • Alerts
        • Computers
        • Event Log
        • GPG
        • Package Profiles
        • Packages
        • Removal Profiles
        • Reporting
        • Repositories
        • Role Based Access Control
        • Saved Searches
        • Scripts
        • Upgrade Profiles
        • WSL
    • Release notes
      • What’s new in beta
      • 24.04 LTS release notes
      • 25.10 release notes
      • 25.04 release notes
      • 24.10 release notes
      • 23.10 release notes
      • 23.03 release notes
      • Older release notes
        • 19.10 release notes
        • 19.01 release notes
        • 18.03 release notes
        • 17.03 release notes
        • 16.06 release notes
        • 16.03 release notes
        • 15.11 release notes
        • 15.10 release notes
        • 15.01 release notes
        • 14.10 release notes
    • Configuration
      • Immutable configuration settings
      • The service.conf file
    • Networking
      • Internal network requirements
      • Network firewall
    • Terms
      • Access groups
      • Administrators
      • Profiles
      • Roles
      • Tags
    • Logs
    • Database
    • Known issues
    • lsctl
  • Explanation
    • Landscape
      • About Landscape
      • Deployment models
      • Self-hosted Landscape
      • Licenses
      • Landscape Server architecture
      • Landscape Client architecture
    • Landscape Server charm
      • Charm integration compatibility
    • Features
      • Activities
      • Alerts
      • Repository mirroring
      • Package reporting
      • Remote script execution
    • Security
      • Security overview
      • Cryptographic technology
      • Data handling
      • Authentication and authorization
      • AppArmor
      • Disclosure and reporting
    • Related tools
      • Landscape and Ansible
  • Contribute to our documentation
Back to top
Contribute to this page

How to configure WSL-related services after upgrading Landscape¶

Note

This guide is only for upgrades from Landscape 23.10 or earlier.

This guide describes how to configure WSL-related services if you’ve upgraded from an older version of Landscape (23.10 or earlier). If this is your first time installing Landscape, you don’t need to perform these steps.

Update the service.conf file¶

Open the service.conf file located in the /etc/landscape directory and add:

[broker]
hostagent_virtual_host = landscape-hostagent
hostagent_task_queue = landscape-server-hostagent-task-queue

[hostagent-message-consumer]
threads = 1
stores = main account-1

[features]
enable-wsl-child-instance-profiles = true

Update your Apache config¶

Open your Apache config (commonly located in /etc/apache2/sites-available/{hostname}.conf) and add the following at the end:

Listen 6554

<VirtualHost *:6554>
  ServerName ${hostname}
  ServerAdmin webmaster@${hostname}

  ErrorLog /var/log/apache2/landscape_error.log
  CustomLog /var/log/apache2/landscape_access.log combined

  SSLEngine On
  SSLCertificateFile ${ssl_certificate_crt}
  SSLCertificateKeyFile ${ssl_certificate_key}
  # Disable to avoid POODLE attack
  SSLProtocol all -SSLv3 -SSLv2 -TLSv1
  SSLHonorCipherOrder On
  SSLCompression Off
  SSLCipherSuite EECDH+AESGCM+AES128:EDH+AESGCM+AES128:EECDH+AES128:EDH+AES128:ECDH+AESGCM+AES128:aRSA+AESGCM+AES128:ECDH+AES128:DH+AES128:aRSA+AES128:EECDH+AESGCM:EDH+AESGCM:EECDH:EDH:ECDH+AESGCM:aRSA+AESGCM:ECDH:DH:aRSA:HIGH:!MEDIUM:!aNULL:!NULL:!LOW:!3DES:!DSS:!EXP:!PSK:!SRP:!CAMELLIA:!DHE-RSA-AES128-SHA:!DHE-RSA-AES256-SHA:!aECDH
  # If you have either an SSLCertificateChainFile or, a self-signed CA signed certificate
  # uncomment the line below.
  # Note: Some versions of Apache will not accept the SSLCertificateChainFile
  # directive. Try using SSLCACertificateFile instead
  # SSLCertificateChainFile /etc/ssl/certs/landscape_server_ca.crt
 
  ProxyPass / h2c://localhost:50052/
  ProxyPassReverse / http://localhost:50052/
</VirtualHost>

Then enable proxy_http2:

sudo a2enmod proxy_http2

You can see a full Apache config example with details in our how to configure the web server guide.

Add a virtual host to RabbitMQ¶

Add a new virtual host to RabbitMQ:

sudo rabbitmqctl add_vhost landscape-hostagent
sudo rabbitmqctl set_permissions -p landscape-hostagent landscape ".*" ".*" ".*"

The ".*" characters in the set_permissions command are regular expressions that match any character. They grant all permissions (configure, write, read) on all resources (exchanges, queues, bindings, etc.) to the landscape user for the landscape-hostagent virtual host.

Restart the services¶

Restart the Landscape services:

sudo service landscape-hostagent-messenger restart
sudo service landscape-hostagent-consumer restart

Now, you’re ready to use WSL with Landscape. See How to set up Ubuntu Pro for WSL and register WSL hosts to Landscape.

Copyright © 2026 CC-BY-SA, Canonical Ltd.
Last updated on Apr 08, 2026
Manage your tracker settings
Ask a question on Discourse
Edit this page on GitHub
Contents
  • How to configure WSL-related services after upgrading Landscape
    • Update the service.conf file
    • Update your Apache config
    • Add a virtual host to RabbitMQ
    • Restart the services