Skip to content

Install Panopticon

Nicholas K. Dionysopoulos edited this page Oct 20, 2023 · 3 revisions

Overview

Installing Panopticon is not much different to installing Joomla or WordPress.

Make sure you have created a MySQL or MariaDB database. You will need to have the database connection information at hand, i.e. the database server hostname and port, your database user's username and password, and the name of the database.

  • Download the ZIP file.
  • Extract it in a new domain or subdomain.
  • Visit the (sub)domain's URL and follow the instructions on your screen.

ℹ The installation of Panopticon is designed to be self-documenting. Everything you need to know is presented to you on your screen. If there is anything missing, or not ideal, you will be told what it is and how you can fix it.

Welcome

The first time you open Panopticon you are greeted with the welcome page.

Click on “Let's go!” to start setting up Panopticon.

If Panopticon finds an issue with your PHP session save path being unwritable by PHP it will show you a page about it. We strongly recommend to follow our instructions in the Fixing your session save path page and then restarting the installation.

Check Requirements

The very next thing that happens is that Panopticon checks whether your server meets the minimum requirements.

If a requirement is not met it will let you know.

Otherwise, it tells you that everything is ready.

Click on “Next” to continue Panopticon's setup.

Database Configuration

ℹ If you need a reminder of each option means click the “Show/Hide Help” button at the top of the page. Then the page changes to look like this:

The Database type is a selection between MySQLi and PDO MySQL. These are the two available PHP database drivers. MySQLi is the older, slightly slower driver. PDO MySQL is the newer, slightly quirkier one. If both are available we recommend using PDO MySQL.

The database server host name is the hostname or IP address of your database server. On most commercial hosts this is either localhost or 127.0.0.1. If unsure, please ask your host.

❗️ IMPORTANT! Unlike everywhere else, localhost and 127.0.0.1 have a different meaning for MySQL. localhost means that PHP will try to connect to MySQL using shared memory (Windows) or a UNIX socket file (Linux, *BSD, macOS, …). 127.0.0.1 means that PHP will try to connect to MySQL using a TCP/IP connection. If unsure, ask your host.

If your host told you that you need to provide a custom path for the UNIX socket file or a custom TCP/IP port (other than 3306) add it after the hostname, separating it from it with a colon e.g. localhost:/var/run/mysql8.0.sock or 127.0.0.1:8306.

The username and password correspond to your database username and password, whereas the database name is the actual name of the database.

Please remember that when you are creating a database and a database user on most commercial hosts they might add a prefix to whatever your type. For example, this host below uses lmtbayxe_ as the prefix. Typing panopticon in the box to create a database actually creates a database with the name lmtbayxe_panopticon. Keep that in mind if you keep getting a message that you cannot connect to the database.

The database table name prefix is three to five letters and numbers, followed by an underscore. It's used to create unique names for Panopticon's database tables, in case it shares a database with another site or web application. If unsure, use the default: pnptc_.

❗️ IMPORTANT! Only use lowercase letters a-z (without accents or diacritics) and numbers 0-9. Do NOT use uppercase letters, or other characters as this could cause major problems on some servers.

Leave the rest of the settings as they are unless you know you need to change them. If you do not know if you need to change them, don't change them. They are used for the 0.01% of use cases where connecting to the database requires using TLS certificates. This is an extremely rare and very advanced connection mode which should never bother almost everyone reading this document.

Finally, click on “Next”

User Setup

After the database installation takes place, you get to the User Setup page.

To access Panopticon you need a Super Administrator user account. You will create one on this page.

Remember to note down your username and password. You'll need it to log into Panopticon.

CRON Job Setup

Panopticon is only truly useful if it's automated. For this, you need to create a CRON job which will run every minute.

ℹ You can read more about CRON jobs in the CRON Jobs documentation page.

There are two tabs, CLI and Web. We recommend creating CLI-based CRON jobs.

❗️ IMPORTANT! The CRON job you create must run every minute. The CRON expression for that is * * * * * (five stars) meaning that the CRON job runs every minute, of every hour, of every day, of every month, no matter what day of the week it is. DO NOT create CRON jobs running less frequently; it will cause problems.

After you create the CRON jobs and the first CRON job starts running, the page will change into a benchmark interface like the following:

At this point Panopticon is trying to determine how long a CRON job can run before the operating system forces it to stop. This page will appear for 10 to 185 seconds, depending on your server.

Finished

Finally, you will see the Finished page.

This means that the installation is complete, and you may start using Panopticon.

Congratulations, and welcome!

Clone this wiki locally