---
title: "Upgrading from version 6.x"
source: https://dev.pageseeder.com/guide/installation/upgrading/upgrading_from_version_6.x.html
description: "Instructions for upgrading PageSeeder from version 6.x on Linux, covering prerequisites, distribution identification, and upgrade procedures for el7, el8, and el9 systems with troubleshooting guidance."
last_updated: 2026-08-11T16:07:45+10:00
tokens: ~2261
---

# Upgrading from version 6.x

Use the following instructions to upgrade PageSeeder from version 6.0 or higher on Linux.

## Prerequisites

You must have **root** permissions on the server.

PageSeeder is installed correctly and running.

## Find the current distribution

The upgrade procedure depends on the current distribution of PageSeeder installed.

To find out whether the current distribution is `el7`, `el8` or `el9` look at the `baseurl` displayed from:

```shell
$ cat /etc/yum.repos.d/pageseeder.repo
```

In the following example response, the distribution is `el9`.

```ini
[pageseeder]
name=pageseeder
baseurl=https://download.pageseeder.com/pub/rpm/el9/noarch
enabled=1
gpgcheck=1
gpgkey=https://download.pageseeder.com/pub/rpm/RPM-GPG-KEY-pageseeder-2048.public
```

If there is no `el7`, `el8` or `el9` in the `baseurl` then the distribution is `el7`.

## Upgrading el8 or el9

Use these instructions if the current distribution is `el8` or `el9`.

**Stop** the PageSeeder service as follows (this could take a few minutes on large servers):

```shell
$ sudo systemctl stop pageseeder
```

If upgrading from PageSeeder 6.2 or lower check that Java 21 is installed and selected using:

```shell
$ sudo alternatives --config java
```

To upgrade to Open JDK 21 enter the following and for alternatives select `java-21-openjdk` (see [which version of java](/guide/installation/new_installation/which_version_of_java.md)):

```shell
$ sudo dnf install java-21-openjdk
$ sudo alternatives --config java
```

**Install** the latest PageSeeder production version as follows:

```shell
$ sudo dnf upgrade pageseeder
```

OR to upgrade to a beta version use `rpm` and remove hyphens from the version identifier. So, if the source version is called:   
`6.2000-beta-4`  
change it to this:  
`6.2000~beta4`  
fully expanded, the version name should follow this pattern:   
`pageseeder-6.2000~beta4-1.el8.noarch.rpm`

So, to upgrade to a beta PageSeeder, use the following URL but replace `[ver.num~ber]` with a valid beta identifier and the correct `el[8|9]`:

```shell
$ sudo rpm -Uvh https://download.pageseeder.com/pub/rpm/el[8|9]/beta/pageseeder-[ver.num~ber]-1.el[8|9].noarch.rpm
```

**Start** the PageSeeder service as follows:

```shell
$ sudo systemctl start pageseeder
```

## Upgrading el7 on CentOS v7

Use these instructions if the current distribution is `el7` and the operating system is RHEL version 7 or CentOS version 7. Check the operating system using:

```shell
$ cat /etc/os-release
```

**Stop** the PageSeeder service as follows:

```shell
$ sudo service pageseeder stop
```

If upgrading from PageSeeder 6.2 or lower check that Java 21 is installed and selected using:

```shell
$ sudo alternatives --config java
```

To upgrade to Open JDK 21 enter the following and for alternatives select `java-21-openjdk` (see [which version of java](/guide/installation/new_installation/which_version_of_java.md)):

```shell
$ sudo yum install java-21-openjdk
$ sudo alternatives --config java
```

**Install** the latest PageSeeder production version as follows:

```shell
$ sudo yum update pageseeder
```

OR to upgrade to a beta version use the following, where `[ver.num~ber]` is for example `6.2000~beta4`:

```shell
$ sudo rpm -Uvh https://download.pageseeder.com/pub/rpm/el7/beta/pageseeder-[ver.num~ber]-1.el7.noarch.rpm
```

**Start** the PageSeeder service as follows:

```shell
$ sudo service pageseeder start
```

## Upgrading from el7 to el8

Use these instructions if the current distribution is `el7` and the operating system is **NOT** RHEL version 7 or CentOS version 7. Check the operating system using:

```shell
$ cat /etc/os-release
```

### Set up firewalld

In this step, we ensure that the firewalld service is running and enabled before we install PageSeeder.

```shell
$ sudo systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead) since Tue 2024-10-08 06:12:46 UTC; 20h ago
```

If firewalld is not installed, install it with:

```shell
$ sudo dnf install firewalld
```

If the service status is **inactive**, start the service with:

```shell
$ sudo systemctl start firewalld
```

If the service status is **disabled**, enable the service with:

```shell
$ sudo systemctl enable firewalld
```

### Update Yum repo

To update the PageSeeder yum repository use:

```shell
# rpm -Uvh https://download.pageseeder.com/pub/rpm/pageseeder-repository-1.3-1.el8.noarch.rpm
```

> **Note:** You must use the `el8` repository because this distribution contains the upgrade code, `el9` does not.

### Update PageSeeder

Stop the PageSeeder service:

```shell
# service pageseeder stop
```

If upgrading from PageSeeder 6.2 or lower check that Java 21 is installed and selected using:

```shell
# alternatives --config java
```

To upgrade to Open JDK 21 enter the following and for alternatives select `java-21-openjdk` (see [which version of java](/guide/installation/new_installation/which_version_of_java.md)):

```shell
# sudo dnf install java-21-openjdk
# sudo alternatives --config java
```

Update PageSeeder:

```shell
# dnf update pageseeder
```

Start the PageSeeder service:

```shell
# systemctl start pageseeder
```

> **Note:** From now on, the PageSeeder service is using systemd, so you should use the `systemctl`  command to start and stop service.

### Check (optional)

To check that the PageSeeder service is running and enabled:

```shell
$ sudo systemctl status pageseeder
● pageseeder.service - PageSeeder Server
   Loaded: loaded (/etc/systemd/system/pageseeder.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/pageseeder.service.d
           └─override.conf
   Active: active (running) since Wed 2024-10-09 02:53:03 UTC; 7s ago
```

To check that the service override contains your original java options:

```shell
$ cat /etc/systemd/system/pageseeder.service.d/override.conf
[service]
Environment="CATALINA_OPTS=-Xmx1024m -Djava.awt.headless=true -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/pageseeder"
```

To check that the old PageSeeder service has been removed, the following should not include ‘pageseeder’ in the listed files:

```shell
$ ls /etc/init.d/
```

To check that the xinetd service is inactive and disabled:

```shell
$ sudo systemctl status xinetd
● xinetd.service - Xinetd A Powerful Replacement For Inetd
   Loaded: loaded (/usr/lib/systemd/system/xinetd.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
```

To check the firewall configuration:

```shell
$ sudo firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: cockpit dhcpv6-client http https ssh
  ports: 25/tcp
  protocols:
  forward: no
  masquerade: no
  forward-ports:
      port=25:proto=tcp:toport=2525:toaddr=
  source-ports:
  icmp-blocks:
  rich rules:
```

### Script

If this guide is scriptable, provide shell script below.

```shell
#!/bin/bash

# 1. Start and enable firewalld
systemctl start firewalld
systemctl enable firewalld

# 2. Update repo
rpm -Uvh https://download.pageseeder.com/pub/rpm/pageseeder-repository-1.3-1.el8.noarch.rpm

# 3. Upgrade pageseeder
service pageseeder stop
dnf update -y pageseeder
systemctl start pageseeder
```

## Troubleshooting

If you get **Nothing to do** after `dnf upgrade pageseeder` try:

```shell
$ sudo dnf clean all
$ sudo dnf upgrade pageseeder
```

If you still get **Nothing to do** try:

```shell
$ sudo cat /etc/yum.repos.d/pageseeder.repo
```

The response should be similar to this example. If `enabled=0` or `gpgcheck=0`. modify them and try upgrading again.

```ini
[pageseeder]
name=pageseeder
baseurl=https://download.pageseeder.com/pub/rpm/el9/noarch
enabled=1
gpgcheck=1
gpgkey=https://download.pageseeder.com/pub/rpm/RPM-GPG-KEY-pageseeder-2048.public
```

## Reverting an upgrade

> **Warning:** Generally only maintenance upgrades (where just the last 2 digits of the version have changed) can be reverted to the previous version. Major, minor and el7 to el8 upgrades may contain database and other updates which can NOT be reverted. For example an upgrade from `5.9913` to `6.000` or `5.9811` to `5.9913` can NOT be reverted but an upgrade from `6.0009`  to `6.0010` can be reverted. You should always make a backup or clone of your PageSeeder server (including database) before any upgrade but because major and minor upgrades cannot be reverted it is even more important for those. The only way to go back a major or minor version is to restore from backup or use the clone.

If there is a problem caused by the upgrade and it is only a maintenance upgrade then you MAY be able to revert the upgrade in Linux using the command `yum downgrade pageseeder-[version]-1`after stopping PageSeeder. For example to revert to version `6.0009` use commands like:

```shell
$ sudo systemctl stop pageseeder
$ sudo dnf downgrade pageseeder-6.0009-1
```

