-
Notifications
You must be signed in to change notification settings - Fork 10
Modernize openvox-server install docs into structured section #148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
tuxmea
merged 4 commits into
OpenVoxProject:master
from
miharp:feat/modernize-openvox-server-install
May 4, 2026
Merged
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
4472a7c
Modernize openvox-server install docs into structured section
miharp 03cba90
Fix install_what_and_where paths verified against running server
miharp b6df841
Add time synchronization prerequisite to install_pre
miharp 206d81b
Merge branch 'master' into feat/modernize-openvox-server-install
tuxmea File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,100 +1,73 @@ | ||
| --- | ||
| layout: default | ||
| title: "Install Puppet Server" | ||
| canonical: "/puppetserver/latest/install_from_packages.html" | ||
| title: "Install OpenVox Server" | ||
| --- | ||
|
|
||
| [repodocs]: https://puppet.com/docs/puppet/latest/puppet_platform.html | ||
| [prereqs]: ./install_pre.html | ||
| [tuning]: ./tuning_guide.html | ||
| [install_linux]: /openvox/latest/install_linux.html | ||
| [openvoxdb]: /openvoxdb/latest/install_via_module.html | ||
| [downloads_page]: https://voxpupuli.org/openvox/install/ | ||
|
|
||
| Puppet Server is a required application that runs on the Java Virtual Machine (JVM). It controls the configuration information for one or more managed agent nodes. | ||
| Install `openvox-server` on the host that will act as the Puppet CA and catalog | ||
| compiler for your infrastructure. | ||
|
|
||
| > Note: If you have any issues with the steps below, submit these to our [bug tracker](https://tickets.puppet.com/browse/SERVER). | ||
| **Before you begin:** Review the [pre-install tasks][prereqs] to confirm your | ||
| platform is supported, your Java version is correct, and port 8140 is open. | ||
|
|
||
| ## Before you begin | ||
| 1. Enable the OpenVox repository for your distribution. | ||
|
|
||
| Review the supported operating systems and make sure you have a supported version of Java. | ||
| On apt-based systems, download and install the release package for your OS from | ||
| [apt.voxpupuli.org](https://apt.voxpupuli.org). For example, on Ubuntu 22.04: | ||
|
|
||
| ### Supported operating systems | ||
| ```bash | ||
| wget https://apt.voxpupuli.org/openvox8-release-ubuntu22.04.deb | ||
| sudo dpkg -i openvox8-release-ubuntu22.04.deb | ||
| sudo apt update | ||
| ``` | ||
|
|
||
| Puppet provides official packages that install Puppet Server 6 and all of its prerequisites on x86_64 architectures for the following platforms: | ||
| On yum/dnf-based systems, install the release package for your OS from | ||
| [yum.voxpupuli.org](https://yum.voxpupuli.org). For example, on EL 9: | ||
|
|
||
| * Red Hat Enterprise Linux 6, 7 | ||
| * Debian 8 (Jessie), 9 (Stretch), 10 (Buster) | ||
| * Ubuntu 16.04 (Xenial), 18.04 (Bionic) | ||
| * SLES 12 SP1 | ||
| ```bash | ||
| sudo rpm -Uvh https://yum.voxpupuli.org/openvox8-release-el-9.noarch.rpm | ||
| ``` | ||
|
|
||
| ### Java support | ||
| For the full list of supported distributions and release packages, see the | ||
| [Installing OpenVox][downloads_page] page. | ||
|
|
||
| Puppet Server versions are tested against the following versions of Java: | ||
| 2. Install the package. | ||
|
|
||
| | Puppet Server | Java | | ||
| |---|---| | ||
| | 2.x | 7, 8 | | ||
| | 5.x | 8 | | ||
| | 6.0-6.5 | 8, 11 (experimental) | | ||
| | 6.6 and later | 8, 11 | | ||
| On apt-based systems: | ||
|
|
||
| Some Java versions may work with other Puppet Server versions, but we do not test or support those cases. Community submitted patches for support greater than Java 11 are welcome. Both Java 8 and 11 are considered long-term support versions and are planned to be supported by upstream maintainers until 2022 or later. | ||
| ```bash | ||
| sudo apt install openvox-server | ||
| ``` | ||
|
|
||
| > Note: Java 8 runtime packages do not exist in the standard repositories for Debian 8 (Jessie) or Ubuntu 18.04 (Bionic). To install Puppet Server on Jessie, [configure the `jessie-backports` repository](https://backports.debian.org/Instructions/). To install Puppet Server on Bionic, enable the [universe repository](https://help.ubuntu.com/community/Repositories/Ubuntu). | ||
| On yum/dnf-based systems: | ||
|
|
||
| ## Install Puppet Server | ||
| ```bash | ||
| sudo yum install openvox-server | ||
| ``` | ||
|
|
||
| Puppet Server is configured to use 2 GB of RAM by default. If you're just testing an installation on a Virtual Machine, this much memory is not necessary. To change the memory allocation, see [Running Puppet Server on a VM](#Running-Puppet-Server-on-a-VM). | ||
| 3. Start and enable the service. | ||
|
|
||
| 1. [Enable the Puppet package repositories][repodocs], if you haven't already done so. | ||
| ```bash | ||
| sudo systemctl start puppetserver | ||
| sudo systemctl enable puppetserver | ||
| ``` | ||
|
|
||
| 2. Install the Puppet Server package by running one of the following commands. | ||
| 4. Verify the installation. | ||
|
|
||
| Red Hat operating systems: | ||
| ```bash | ||
| puppetserver --version | ||
| sudo systemctl status puppetserver | ||
| ``` | ||
|
|
||
| ```` | ||
| yum install puppetserver | ||
| ```` | ||
| The service should be active and you should see a version string printed. | ||
|
|
||
| Debian and Ubuntu: | ||
| ## What to do next | ||
|
|
||
| ``` | ||
| apt-get install puppetserver | ||
| ``` | ||
|
|
||
| There is no `-` in the package name. | ||
|
|
||
| > Note: If you're upgrading, stop any existing `puppetmaster` or `puppetserver` service by running `service <service_name> stop` or `systemctl stop <service_name>`. | ||
|
|
||
| 3. Start the Puppet Server service: | ||
|
|
||
| ``` | ||
| sudo systemctl start puppetserver | ||
| ``` | ||
|
|
||
| 4. To check you have installed the Puppet Server package correctnly, run the following command to check the version: | ||
|
|
||
| ``` | ||
| puppetserver -v | ||
| ``` | ||
|
|
||
| ### What to do next | ||
|
|
||
| Now that Puppet Server is installed, move on to these next steps: | ||
|
|
||
| 1. [Install a Puppet agent](https://puppet.com/docs/puppet/latest/install_agents.html) | ||
| 2. [Install PuppetDB](https://puppet.com/docs/puppetdb/latest/install_via_module.html) (optional) — if you would like to to enable extra features, including enhanced queries and reports about your infrastructure. | ||
|
|
||
| ## Running Puppet Server on a VM | ||
|
|
||
| By default, Puppet Server is configured to use 2GB of RAM. However, if you want to experiment with Puppet Server on a VM, you can safely allocate as little as 512MB of memory. To change the Puppet Server memory allocation, you can edit the init config file. | ||
|
|
||
| * For RHEL or CentOS, open `/etc/sysconfig/puppetserver` | ||
| * For Debian or Ubuntu, open `/etc/default/puppetserver` | ||
|
|
||
| 1. In your settings, update the line: | ||
|
|
||
| # Modify this if you'd like to change the memory allocation, enable JMX, etc | ||
| JAVA_ARGS="-Xms2g -Xmx2g" | ||
|
|
||
| Replace 2g with the amount of memory you want to allocate to Puppet Server. For example, to allocate 1GB of memory, use `JAVA_ARGS="-Xms1g -Xmx1g"`; for 512MB, use `JAVA_ARGS="-Xms512m -Xmx512m"`. | ||
|
|
||
| For more information about the recommended settings for the JVM, see [Oracle's docs on JVM tuning.](http://docs.oracle.com/cd/E15523_01/web.1111/e13814/jvm_tuning.htm) | ||
|
|
||
| 2. Restart the `puppetserver` service after making any changes to this file. | ||
| - [Install OpenVox agent on Linux][install_linux] — roll out agents to managed nodes. | ||
| - [Install OpenVoxDB][openvoxdb] (optional) — enables enhanced queries and reports about your infrastructure. | ||
| - Review the [tuning guide][tuning] if you need to adjust the default 2 GB JVM heap size. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,72 @@ | ||
| --- | ||
| layout: default | ||
| title: "Installing OpenVox Server: Before you begin" | ||
| --- | ||
|
|
||
| [architecture]: /openvox/latest/architecture.html | ||
|
|
||
| Before installing OpenVox Server: | ||
|
|
||
| 1. Confirm your platform is supported. | ||
|
|
||
| OpenVox Server is a Linux-only service. Packages are available from the OpenVox | ||
| repositories at [apt.voxpupuli.org](https://apt.voxpupuli.org) and | ||
| [yum.voxpupuli.org](https://yum.voxpupuli.org). | ||
|
|
||
| **apt-based systems:** | ||
|
|
||
| | Distribution | Versions | | ||
| | ------------ | -------- | | ||
| | Debian | 10, 11, 12, 13 | | ||
| | Ubuntu | 18.04, 20.04, 22.04, 24.04, 25.04, 26.04 | | ||
|
|
||
| **yum/dnf-based systems:** | ||
|
|
||
| | Distribution | Versions | Architectures | | ||
| | ------------ | -------- | ------------- | | ||
| | EL (RHEL, AlmaLinux, Rocky Linux, CentOS) | 7 | x86_64 | | ||
| | EL (RHEL, AlmaLinux, Rocky Linux, CentOS) | 8, 9 | x86_64, aarch64, ppc64le | | ||
| | EL (RHEL, AlmaLinux, Rocky Linux, CentOS) | 10 | x86_64, aarch64 | | ||
| | Amazon Linux | 2, 2023 | x86_64, aarch64 | | ||
| | Fedora | 36, 40, 41, 42, 43 | x86_64, aarch64 | | ||
| | SLES | 15, 16 | x86_64, aarch64 | | ||
| | RHEL FIPS | 8, 9 | x86_64, aarch64 | | ||
|
|
||
| 2. Verify your Java version. | ||
|
|
||
| OpenVox Server requires Java 17 or 21. Install a supported JDK from your | ||
| distribution's repositories before installing the OpenVox Server package. OpenVox | ||
| Server does not bundle a JDK. | ||
|
|
||
| 3. Plan memory allocation. | ||
|
|
||
| OpenVox Server is configured to use 2 GB of RAM by default. Make sure the host | ||
| has enough available memory. For testing on a VM, you can reduce this to 512 MB | ||
| after installation — see the [tuning guide](./tuning_guide.html). | ||
|
|
||
| 4. Open the required port. | ||
|
|
||
| OpenVox agents connect to the server on TCP port **8140**. Make sure this port is | ||
| reachable from all managed nodes. If you are using a firewall, open it before | ||
| starting the service. | ||
|
|
||
| 5. Verify DNS. | ||
|
|
||
| By default, agents look for the server at the hostname `puppet`. Make sure that | ||
| name resolves correctly on the network, or plan to set the `server` setting in | ||
| `puppet.conf` on each agent explicitly. | ||
|
|
||
| 6. Synchronize clocks. | ||
|
|
||
| OpenVox uses SSL certificates with time-based validity. If the clocks on the | ||
| server and agent nodes differ by more than a few minutes, certificate validation | ||
| will fail and agents will be unable to connect. Make sure NTP or a similar time | ||
| synchronization service is running on all nodes before deploying. | ||
|
|
||
| 7. Install and validate OpenVox Server before rolling out agents. | ||
|
|
||
| In an agent-server deployment, the server must be running and reachable before | ||
| agents can check in. See the [architecture overview][architecture] for background | ||
| on deployment models. | ||
|
|
||
| Once you have completed these checks, continue with [Install OpenVox Server](./install_from_packages.html). | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,80 @@ | ||
| --- | ||
| layout: default | ||
| title: "What gets installed and where (OpenVox Server)" | ||
| --- | ||
|
|
||
| When you install the `openvox-server` package, it places files and directories in the following locations. | ||
|
|
||
| ## Executables and binaries | ||
|
|
||
| | Location | Description | | ||
| | -------- | ----------- | | ||
| | `/opt/puppetlabs/bin/puppetserver` | Main `puppetserver` executable | | ||
| | `/opt/puppetlabs/bin/puppet` | Puppet CLI (installed by the `openvox-agent` dependency) | | ||
| | `/opt/puppetlabs/server/bin/` | `puppetserver` and `puppetdb` binaries — not on `PATH` by default | | ||
| | `/opt/puppetlabs/puppet/bin/` | Private Ruby runtime and agent binaries | | ||
|
|
||
| ## Configuration files | ||
|
|
||
| OpenVox Server uses two configuration directories: | ||
|
|
||
| **Server configuration** (`/etc/puppetlabs/puppetserver/`): | ||
|
|
||
| | File | Description | | ||
| | ---- | ----------- | | ||
| | `conf.d/puppetserver.conf` | Main server settings | | ||
| | `conf.d/webserver.conf` | Jetty web server settings | | ||
| | `conf.d/web-routes.conf` | Web application mount points | | ||
| | `conf.d/auth.conf` | HTTPS access control rules | | ||
| | `conf.d/ca.conf` | Certificate authority service settings | | ||
| | `conf.d/global.conf` | Global settings | | ||
| | `conf.d/metrics.conf` | Metrics service settings | | ||
| | `logback.xml` | Log level and output configuration | | ||
| | `ca/` | CA certificates, CRL, signed certs, and CSRs (`cadir`) | | ||
|
|
||
| **Puppet configuration** (`/etc/puppetlabs/puppet/`): | ||
|
|
||
| | File | Description | | ||
| | ---- | ----------- | | ||
| | `puppet.conf` | Main Puppet configuration — server settings go in the `[server]` section | | ||
| | `ssl/` | Server node certificate, private key, and CRL (`ssldir`) | | ||
| | `hiera.yaml` | Hiera lookup configuration | | ||
|
|
||
| ## Code directory | ||
|
|
||
| Puppet manifests and modules live under `/etc/puppetlabs/code/`. This is the | ||
| [codedir](/openvox/latest/dirs_codedir.html) used by the server when compiling catalogs. | ||
|
|
||
| ## Runtime data | ||
|
|
||
| | Path | Description | | ||
| | ---- | ----------- | | ||
| | `/opt/puppetlabs/server/data/puppetserver/` | Server runtime data (reports, state, JRuby gems, yaml cache) | | ||
| | `/var/run/puppetlabs/puppetserver/` | PID file | | ||
|
|
||
| ## Log files | ||
|
|
||
| | Path | Description | | ||
| | ---- | ----------- | | ||
| | `/var/log/puppetlabs/puppetserver/puppetserver.log` | Main server log | | ||
| | `/var/log/puppetlabs/puppetserver/puppetserver-access.log` | HTTP access log | | ||
| | `/var/log/puppetlabs/puppetserver/puppetserver-status.log` | Status service log | | ||
|
|
||
| ## Service | ||
|
|
||
| OpenVox Server runs as the `puppetserver` service, managed by systemd. | ||
|
|
||
| | Property | Value | | ||
| | -------- | ----- | | ||
| | Service name | `puppetserver` | | ||
| | Runs as user | `puppet` (created by the package installer) | | ||
| | JVM heap config | `/etc/sysconfig/puppetserver` (EL) or `/etc/default/puppetserver` (Debian/Ubuntu) | | ||
|
|
||
| ## Migrating from Puppet Server packages | ||
|
|
||
| OpenVox Server uses the same directory layout as Puppet Server. If you are replacing | ||
| legacy Puppet Server packages: | ||
|
|
||
| - Back up `/etc/puppetlabs/` and `/opt/puppetlabs/server/data/` before you begin. | ||
| - Expect the same command names, configuration paths, and service name after installation. | ||
| - Do not install Puppet Server and OpenVox Server packages side by side on the same host. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,65 @@ | ||
| --- | ||
| layout: default | ||
| title: "Upgrading OpenVox Server" | ||
| --- | ||
|
|
||
| Use this page for routine OpenVox Server upgrades and for in-place migrations from | ||
| legacy Puppet Server packages to OpenVox Server packages. | ||
|
|
||
| OpenVox Server is functionally equivalent to modern Puppet Server. A host cannot have | ||
| both Puppet Server and OpenVox Server packages installed at the same time. Back up | ||
| `/etc/puppetlabs/` and `/var/opt/puppetlabs/` before you start. | ||
|
|
||
| ## Recommended upgrade order | ||
|
|
||
| In an agent-server deployment, upgrade infrastructure components in this order: | ||
|
|
||
| 1. `openvox-server` | ||
| 2. `openvoxdb` | ||
| 3. `openvoxdb-termini` on server nodes | ||
| 4. `openvox-agent` on managed nodes | ||
|
|
||
| Keeping the server ahead of the agents it serves avoids compatibility issues during | ||
| the upgrade window. | ||
|
|
||
| ## Upgrading Linux packages | ||
|
|
||
| On apt-based systems: | ||
|
|
||
| ```bash | ||
| sudo apt update | ||
| sudo apt install --only-upgrade openvox-server | ||
| ``` | ||
|
|
||
| On yum/dnf-based systems: | ||
|
|
||
| ```bash | ||
| sudo yum update openvox-server | ||
| ``` | ||
|
|
||
| After upgrading the server, restart the service to load the new version: | ||
|
|
||
| ```bash | ||
| sudo systemctl restart puppetserver | ||
| sudo systemctl status puppetserver | ||
| ``` | ||
|
|
||
| ## Migrating from legacy Puppet Server packages | ||
|
|
||
| If you are replacing Puppet Server rather than upgrading an existing OpenVox | ||
| installation, enable the OpenVox repository first: | ||
|
|
||
| 1. Enable the OpenVox repository for your platform — see [OpenVox repositories and packages](/openvox/latest/openvox_platform.html). | ||
| 2. Install `openvox-server`. The package manager will replace the legacy Puppet Server package. | ||
| 3. Restore `/etc/puppetlabs/` from your backup if any configuration was lost. | ||
| 4. Start the service and validate. | ||
|
|
||
| ## After the upgrade | ||
|
|
||
| After upgrading: | ||
|
|
||
| 1. Confirm the service is running: `sudo systemctl status puppetserver` | ||
| 2. Check the server log for errors: `sudo journalctl -u puppetserver -n 50` | ||
| 3. Run a test agent check-in from a managed node: `sudo puppet agent --test` | ||
| 4. Verify certificate handling and OpenVoxDB connectivity where applicable. | ||
| 5. Review the [release notes](./release_notes.html) for version-specific changes. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.