Installation
Nocly Shortener runs on ordinary cPanel shared hosting. It needs no Node.js, Composer or command line.
Requirements
| Requirement | Minimum |
|---|---|
| PHP | 8.1 or newer |
| Database | MySQL 5.7.8+ or MariaDB 10.3+ |
| Web server | Apache (or LiteSpeed) with mod_rewrite and .htaccess enabled |
| PHP extensions | pdo, pdo_mysql, mbstring, json, openssl, sodium, curl, ctype, zip, fileinfo |
| Recommended | gd (PNG QR codes), intl (international domain names) |
| Cron | One 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
- In cPanel open MySQL® Databases.
- Create a database, for example
account_shortlink. - Create a database user with a strong password.
- Add the user to the database with ALL PRIVILEGES.
The database must be empty.
2. Upload the files
- Open File Manager and go to
public_html(the root of your main domain). - Upload the ZIP file and choose Extract.
- Make sure the files are directly in
public_html(you should seeindex.php,cron.phpand theappfolder there), not in a subfolder. - Enable Show Hidden Files in File Manager settings and check that
.htaccessis 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:
- Welcome — what will be installed.
- Environment — PHP version, extensions, writable folders, protected folders and URL rewriting. Every failed check explains how to fix it.
- Database — host (usually
localhost), port, database name, user and password. The connection is tested and the tables are created. - Administrator — your super administrator account.
- Application — site name, base URL and time zone. The base URL is detected automatically.
- 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.
5. Recommended next steps
- 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
- Create a backup in Admin → Backup & restore and download it.
- Turn on maintenance mode.
- Upload the new files over the old ones. Do not delete
config/config.php,storageorassets/uploads. - Open Admin → System health to confirm everything is green, then turn maintenance mode off.