Installation

PageSeeder installation and upgrade instructions

Configuring MySQL

Install MySQL 5.7

PageSeeder supports MySQL 5.6.4 or higher and if this is a new installation, it is generally best to install the latest release of 5.7 from http://www.mysql.com .

Warning!

MySQL 8 is not yet supported by PageSeeder. See warning in JDBC section below.

  • On Linux use commands (CentOS 6) like:
$ rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
  • Or (CentOS 7)
$ rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
$ yum install mysql-server

Upgrading 5.6 to 5.7

Upgrading from MySQL 5.6 to 5.7 requires editing the following file:

pageseeder/webapp/WEB-INF/config/database.properties

To the end of the DBURL add:

?useSSL=false

for example.

DBURL=jdbc:mysql://localhost/pageseeder?useSSL=false

Also, add (or modify) the following line in my.ini or my.cnf:

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Finally, ensure that mysql-connector-java-5.1.39.jar or later is in pageseeder/webapp/WEB-INF/lib and drivers folders.

Restart PageSeeder after making these changes.

Install the JDBC driver

The PageSeeder application requires a JDBC driver to communicate with MySQL. Download the appropriate version of MySQL Connector/J (JDBC Driver) for your MySQL and install it on the server.

Warning!

Do not use Connector/J v8 or later due to the possible error: "The server time zone value 'AEDT' is unrecognized or represents more than one time zone".

Subject to Oracle/MySQL website changes, older versions of Connector/J versions should be listed under 'Archive' in the 'Downloads' section.

  • On Linux, use commands like below (URL and version may have changed):
$ wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.45.tar.gz
$ tar xzvf mysql-connector-java-5.1.45.tar.gz

The PageSeeder installer will ask for the location of the JDBC driver .jar file to be identified.

Use UTF-8mb4 character set

To correctly process special characters (see Character Encoding), MySQL must be configured for UTF-8mb4. To do this edit the following:

  • on Windows (to see the ProgramData folder may require showing “hidden” items)
\ProgramData\MySQL\MySQL Server 5.7\my.ini
  • on Linux
/etc/my.cnf

Warning!

When saving edits, do NOT change the file encoding from ascii. Doing so may prevent MySQL from starting.

Just below [mysqld] (add it if it doesn't exist), add or modify the following line:

character-set-server=utf8mb4

Change any other character-set properties to utf8mb4

Add (or modify) the following line as shown:

sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

If spare RAM is available increase the InnoDB buffer to 80% of available RAM (minus what is used by  other processes). For example, with 6GB total RAM and PageSeeder using 1GB, the InnoDB buffer could be set to 4GB by adding:

innodb_buffer_pool_size=4G

on Windows restart MySQL via the Services Control Panel, on Linux type:

service mysqld restart
or
service mysql restart

Warning!

On Amazon RDS, the only value that MUST be set using DB parameter groups is:


character-set-server=utf8mb4

Note

To increase the number of Database connections, see  Database Properties.

Backup and restore

Warning!

When manually creating a PageSeeder database, DO NOT use uft8mb4, DO use utf8 as shown below.

However, to backup use --default-character-set=utf8mb4 and -r flag.

To backup the PageSeeder database use a command like this:

$ mysqldump --single-transaction -u pageseeder -p --default-character-set=utf8mb4 -r ps.sql pageseeder

Restore with overwrite

To overwrite an existing database first drop it, then recreate it using commands like this:

$ mysql -u root -p
drop database pageseeder;
create database pageseeder character set utf8;
grant all on pageseeder.* to pageseeder@localhost;
quit

To restore the PageSeeder database use a command like this:

$ mysql -u pageseeder -p pageseeder < ps.sql

Restore with create

If no database or user exists, create them using commands like this:

$ mysql -u root -p
create database pageseeder character set utf8;
create user pageseeder@localhost identified by '<password>';
grant all on pageseeder.* to pageseeder@localhost;
quit

To restore the PageSeeder database use a command like this:

$ mysql -u pageseeder -p pageseeder < ps.sql

Note

If PageSeeder is running on a different server to MySQL, replace @localhost with @"%"

Created on , last edited on