Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions _data/nav/openvox-server_8x.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,16 @@
link: deprecated_features.html
- text: Compatibility with Puppet agent
link: compatibility_with_puppet_agent.html
- text: Installing Puppet Server
link: install_from_packages.html
- text: Installing and upgrading
items:
- text: Before you begin
link: install_pre.html
- text: Install OpenVox Server
link: install_from_packages.html
- text: What gets installed and where
link: install_what_and_where.html
- text: Upgrading OpenVox Server
link: upgrade_minor.html
- text: Configuring Puppet Server
items:
- text: Configuring Puppet Server
Expand Down
125 changes: 49 additions & 76 deletions docs/_openvox-server_8x/install_from_packages.markdown
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.
72 changes: 72 additions & 0 deletions docs/_openvox-server_8x/install_pre.md
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.

Comment thread
tuxmea marked this conversation as resolved.
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).
80 changes: 80 additions & 0 deletions docs/_openvox-server_8x/install_what_and_where.md
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.
65 changes: 65 additions & 0 deletions docs/_openvox-server_8x/upgrade_minor.md
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.