Browse topics

Installation

Nocly Shortener runs on ordinary cPanel shared hosting. It needs no Node.js, Composer or command line.

Requirements

RequirementMinimum
PHP8.1 or newer
DatabaseMySQL 5.7.8+ or MariaDB 10.3+
Web serverApache (or LiteSpeed) with mod_rewrite and .htaccess enabled
PHP extensionspdo, pdo_mysql, mbstring, json, openssl, sodium, curl, ctype, zip, fileinfo
Recommendedgd (PNG QR codes), intl (international domain names)
CronOne cron job running every minute

In cPanel, choose the PHP version under MultiPHP Manager and enable extensions under Select PHP Version → Extensions.

1. Create a database

  1. In cPanel open MySQL® Databases.
  2. Create a database, for example account_shortlink.
  3. Create a database user with a strong password.
  4. Add the user to the database with ALL PRIVILEGES.

The database must be empty.

2. Upload the files

  1. Open File Manager and go to public_html (the root of your main domain).
  2. Upload the ZIP file and choose Extract.
  3. Make sure the files are directly in public_html (you should see index.php, cron.php and the app folder there), not in a subfolder.
  4. Enable Show Hidden Files in File Manager settings and check that .htaccess is present.

Important: Nocly Shortener is installed in the root of the domain. URLs never contain .php, and short links look like https://example.com/abc123.

3. Run the installer

Open your domain in a browser. You are taken to the installer, which guides you through:

  1. Welcome — what will be installed.
  2. Environment — PHP version, extensions, writable folders, protected folders and URL rewriting. Every failed check explains how to fix it.
  3. Database — host (usually localhost), port, database name, user and password. The connection is tested and the tables are created.
  4. Administrator — your super administrator account.
  5. Application — site name, base URL and time zone. The base URL is detected automatically.
  6. Finish — a final security check, then the configuration is written and the installer locks itself.

After installation, /install returns Not found. To reinstall you must delete config/config.php and storage/installed.lock and use an empty database.

4. Set up cron

The last step shows the exact cron command. Add it in cPanel under Cron Jobs, running once per minute. See Cron jobs.

  • Enable HTTPS with cPanel SSL/TLS Status → Run AutoSSL, then turn on HSTS in Admin → Settings → Security.
  • Configure email in Admin → Settings → Email and send a test message.
  • Upload a GeoLite2 database for location analytics (Configuration).
  • Set your brand in Admin → Settings → Branding (Branding).
  • Add custom short domains (Custom domains).
  • Create a first backup in Admin → Backup & restore.

File permissions

These folders must be writable by PHP: config, storage (and its subfolders logs, sessions, backups, geoip, tmp) and assets/uploads. On cPanel, PHP runs as your account, so the default permissions (755 for folders, 644 for files) are correct. Never use 777.

Upgrading

  1. Create a backup in Admin → Backup & restore and download it.
  2. Turn on maintenance mode.
  3. Upload the new files over the old ones. Do not delete config/config.php, storage or assets/uploads.
  4. Open Admin → System health to confirm everything is green, then turn maintenance mode off.