Installing
Upload a ZIP, open a page, answer four questions.
Requirements
PHP 8.1 or newer, MySQL, MariaDB or SQLite, and Apache or nginx. Imagick for AVIF; without it Boxlet uses GD and serves WebP.
That's ordinary shared hosting. The installer checks all of it, and names anything that's missing in plain words.
On cPanel
Or any host where your domain always serves from public_html.
- Unpack the ZIP and upload everything inside its boxlet/ folder straight into public_html.
- There's no step two. Boxlet's .htaccess serves the site from its public/ folder and keeps everything else out of reach. Addresses stay clean: /about, never /public/about.
If you can choose the folder
Upload everything inside boxlet/ to a folder of your choice, and point the domain at the public/ folder inside it. The rest of Boxlet then sits outside the web entirely.
Then, in both cases
- For MySQL, create an empty database. If cPanel makes it in latin1, that's fine: the installer switches an empty database to utf8mb4.
- Open https://your-site/install.php and follow the four steps.
Before it asks you for anything, the installer checks that nothing beside public/ can be opened in a browser, the settings file with your database password included.
Proving you own the server
The installer writes a token to storage/install-token.txt and asks you to paste it in. Open the file over FTP or in your host's file manager.
The primary language can't be changed later, so choose it with care.
The demo
If you like, the installer adds a demo site: The Printworks, an arts centre in an old printing works. It's the one at demo.boxletcms.org. Its pictures aren't covered by the Boxlet licence; each one's source and licence is in CREDITS.md.
Clearing the demo
- In Pages, tick every page and delete them.
- In Media, choose Unused, tick everything and delete it.
The demo's forms, footer words and site name are yours to change or remove.
When something is in the way
public_html already has a .htaccess file
Don't overwrite it: cPanel sometimes writes your PHP version into one. Put Boxlet's lines below the ones already there. They sit between # BEGIN Boxlet and # END Boxlet, and an update replaces only those.
The server ignores .htaccess
The installer notices, says so and stops, before anything is written. Ask your host to allow .htaccess overrides, or point the domain at public/.
The installer can't delete itself
It tells you. Delete public/install.php by hand, then log in at /admin.