Home / Docs / installation
Getting Started

Installation & Setup Guide

Step-by-step 4-step web installer wizard, file permissions, and database configuration.

Installation & Setup Guide

Encrypt CMS features a streamlined, interactive 4-step guided web installer that verifies requirements, checks permissions, configures database credentials, and sets up the primary administrator account in minutes.


Pre-Installation Checklist

  1. Download the latest official release archive (e.g. Encrypt-CMS-v1.3.x.zip) from the Download page.
  2. Verify the SHA-256 checksum against the published manifest:
    sha256sum Encrypt-CMS-*.zip
  3. Create an empty MySQL or MariaDB database (e.g., encrypt_cms) and an associated database user with full privileges (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER).
  4. Upload and extract the archive to your web root (public_html or /var/www/html).

File & Directory Permissions

Ensure that the web server user (such as www-data, apache, or your cPanel/StackCP user) has write permissions to the following paths:

chmod 755 config
chmod -R 775 storage
chmod -R 755 themes
chmod -R 755 plugins

Note: The core distribution contains hardened .htaccess files inside config/ and storage/ that explicitly deny direct web execution of PHP scripts.


The 4-Step Guided Installer

Open your web browser and navigate to your domain (https://yourdomain.com/install or https://yourdomain.com). The front controller will automatically redirect uninstalled instances to /install.

Step 1: System Requirements Check

The installer tests your PHP runtime version, required extensions (pdo, pdo_mysql, curl, mbstring, json, gd/imagick, zip, fileinfo, openssl), and configuration values. All items must show a green checkmark before proceeding.

Step 2: File & Directory Permissions

The installer verifies that config/ and storage/ (including storage/uploads, storage/framework, and storage/logs) are writable by PHP.

Step 3: Database Configuration

Enter your database connection parameters:

  • Database Host: Typically localhost or 127.0.0.1 (or your cloud DB socket).
  • Database Port: 3306 (default).
  • Database Name: The empty database you created.
  • Database Username: Database user.
  • Database Password: Database password.
  • Table Prefix: enc_ (recommended to avoid collisions in shared databases).

Click Test Connection & Run Migrations. The installer executes the 8 core migration scripts:

  1. 001_create_users_table.php
  2. 002_create_posts_table.php
  3. 003_create_taxonomies_table.php
  4. 004_create_media_table.php
  5. 005_create_comments_table.php
  6. 006_create_settings_table.php
  7. 007_create_activity_logs_table.php
  8. 008_create_extensions_table.php

Step 4: Administrator Account Setup

Provide your administrative credentials:

  • Site Title: The public title of your website.
  • Site URL: Canonical domain URL (e.g., https://yourdomain.com).
  • Admin Full Name: Your name.
  • Admin Username: Administrative login username.
  • Admin Email: Contact email for system notifications and password recovery.
  • Admin Password: Strong password (minimum 8 characters, letters, numbers, and symbols).

Post-Installation Security Lock

Upon successful completion, the installer automatically creates a lock file: storage/installed.lock

As long as this lock file exists, access to the /install route is permanently blocked to prevent unauthorized re-installation attempts.

You can now log in at: https://yourdomain.com/admin/login