Installation
Buyers can install without SSH for the common path: upload → create DB → open /install.
Web wizard (recommended)
- Upload the package so the site document root points at
public/(not the project root). - Meet Requirements.
- Create an empty database + DB user.
- Visit
https://your-domain.example/install. - Complete steps:
| Step | What it does |
|---|---|
| Requirements | Checks PHP, extensions, writability, assets |
| Database | Writes DB settings to .env and tests connection |
| APP_URL | Sets public URL (use HTTPS in production) |
| Admin | Creates first Super Admin + workspace |
| Optional SMTP (or skip → log mailer) | |
| License | Optional activation |
| Migrate | Runs migrations + essential seed (roles/plans) |
| Finalize | Writes storage/app/installed.lock |
- Sign in at
/login.
After finalize, /install redirects away. Only remove installed.lock if you intentionally reinstall.
CLI installer
php artisan pulsevia:install
Non-interactive example:
php artisan pulsevia:install \
--db-connection=mysql \
--db-host=127.0.0.1 \
--db-port=3306 \
--db-database=pulsevia \
--db-username=pulsevia \
--db-password='secret' \
--app-url=https://feedback.example.com \
--admin-name='Site Admin' \
--admin-email=admin@example.com \
--admin-password='ChooseAStrongPass1!' \
--workspace='My Company' \
--license='YOUR-KEY' \
--skip-mail \
--no-interaction
Flags: --force, --db-connection=mysql|pgsql|sqlite, --skip-mail, --license, --workspace, --no-interaction.
After install (required)
- Cron — Cron & Queue
- Mail — Email if you skipped SMTP
- License — License Activation if not activated
- Invite users and assign Roles
Security notes
- Never commit
.envor private signing keys - Keep
installed.lockon production - Point the vhost only at
public/