Install inside a hosting-panel account¶
If the server runs a control panel, you do not need root or any of step 0 - the panel already carries PHP, MySQL and (on Panelica) Node. This is the exact shape our own production installs use:
- Create the hosting account and its domain in the panel, and set the
domain's PHP version to 8.4 - this is the step that bites: if the
site's PHP-FPM stays at 8.3 while you ran composer with a 8.4 CLI, every
request answers
500 - Composer detected issues in your platform. - Create the MySQL database and user from the panel. Panels prefix names
(
account_pnlcs) - put the prefixed name in.env. - As the account user, clone into the site directory - next to the
webroot, not inside it:
cd ~/example.com && git clone https://github.com/Panelica/pnlcs.git pnlcs composer install,.env,key:generate,migrate --forceas in steps 2-6 of the server installation, using the panel's PHP 8.4 binary (on Panelica:php84). If MySQL listens on a socket, addDB_SOCKET=with the panel's socket path.- Build the assets with the panel's Node (on Panelica, install one under
Node.js Versions and use its
npm). - Point the webroot at
pnlcs/publicwith a same-owner symlink:mv public_html public_html.default && ln -s pnlcs/public public_html. A symlink owned by the same account passes the panel'sdisable_symlinks if_not_ownerprotection. - Add the cron line from step 13 as a panel cron job for the account.
- Open
https://example.com/installand finish the wizard.