All our products are Laravel applications, so they share the same basics. The exact PHP version and extensions are in each product's requirements page.
| What | What it needs |
|---|---|
| Web server | Apache with mod_rewrite, Nginx or LiteSpeed |
| Document root | The product's public/ folder |
| PHP | The version the product's guide asks for, with its extensions |
| Database | MySQL or MariaDB |
| Writable folders | storage/ and bootstrap/cache/, by the web server's user |
| Scheduler | A cron job running php artisan schedule:run every minute |
| HTTPS | A certificate on your domain |
Four checks that save the most time
- Point the domain at
public/. If your address ends up with/publicin it, the document root is the product folder instead of itspublic/folder. Fix the document root; don't move files around. - Upload the hidden files.
.envand.htaccessstart with a dot, and many FTP apps and file managers hide them. Upload the archive and extract it on the server, or turn on hidden files first. - Run the scheduler as the web server's user. Add the cron line to the crontab of the user your web server runs as, such as
www-data, not to root's. Files the scheduler creates as root can't be changed by the site afterwards. - Use the same PHP on the command line. Servers with several PHP versions often run an older one for cron. Check with
php -vand, if needed, use the full path to the right version.
Ubuntu or Debian
# Edit the web server user's crontab
sudo crontab -u www-data -e
# Then add this line
* * * * * cd /var/www/your-app && php artisan schedule:run >> /dev/null 2>&1cPanel or Plesk
# Cron Jobs: add a job that runs every minute, with this command
cd /home/your-user/your-app && /usr/local/bin/php artisan schedule:run >> /dev/null 2>&1Info
Installation help is available as a paid service. See Contact support.