Home / Setup
Install & go live
Setup & installation
Install Creavix Desk on your hosting, then log in and start using it. The product includes a browser installer. For a normal cPanel install you do not need SSH. You do need a MySQL database and PHP 8.2 or newer.
1. Welcome
This guide walks you through installing Creavix Desk on a web server. Some steps need a basic understanding of databases and file managers. If you are not comfortable with that, ask your host to create an empty MySQL database and to point the domain at the public folder, then continue from step 6.
https://your-domain.com/login for either account created by the wizard: Super Admin for platform management or Company Admin for daily business operations. The installer does not create extra demo users.2. License
This item is sold on CodeCanyon under the Envato license that you purchased:
- Regular License — use, by you or one client, in a single end product which end users are not charged for.
- Extended License — use, by you or one client, in a single end product which end users can be charged for (SaaS).
If you will sell Desk as a hosted service (tenants pay you), purchase an Extended License. See the Envato license policy.
Item support is 6 months from purchase via CodeCanyon item support. Details: Support.
Activating your license & domain
After completing installation, log in as Super Admin to register your domain:
- Go to Super Admin → Settings → License (or click Quick Activate on the notification banner).
- Enter your Envato Purchase Code (downloaded from CodeCanyon > Downloads > License Certificate & Purchase Code PDF or text file).
- Enter your Buyer Email Address.
- Click Verify & Activate Domain. The platform securely contacts the official Envato Market API to verify authenticity and registers your domain.
- Server / Domain Transfer: If you ever move your application to a new domain or host, click Deactivate License first to free the purchase code for re-activation.
3. Server requirements
The installer checks these on the first screen. If a row fails, ask your host to enable it, then refresh.
| Item | Minimum |
|---|---|
| PHP | 8.2 or newer |
| Extensions | PDO, Mbstring, OpenSSL, Tokenizer, XML, Ctype, JSON, BCMath, Fileinfo, Zip, and GD or Imagick |
| Database | MySQL 8 or MariaDB 10.3+ (empty database) |
| Web server | Apache with mod_rewrite, or Nginx with the example below |
| Writable folders | storage/ and bootstrap/cache/ |
public directory. Never expose .env or the project root on the web.4. Create a database
Create an empty MySQL database and a user with full rights on that database. Note host (usually localhost or 127.0.0.1), port (3306), database name, username, and password. You will paste them into the installer.
Useful host docs: cPanel MySQL Database Wizard · Plesk website databases.
5. Upload files
- Turn on “show hidden files” in your file manager so
.env.exampleand.htaccessare visible. - The CodeCanyon ZIP unzipped looks like this:
Creavix-Desk-v1.0.0/ README.txt Documentation/ ← open index.html (help file) Licensing/ ← LICENSE.txt and credits Main Files/ ← Laravel app — upload THIS folder
Upload the contents of Main Files/ to the server (not the Documentation or Licensing folders). Typical layout on the server:
your-account/ app/ addons/ documentation/ public/ ← point the domain here storage/ .env.example ...
If your host only allows uploads into public_html, either:
- Upload the whole project above
public_htmland point the domain to.../public, or - Put the files from the
publicfolder intopublic_htmland keep the rest of the app one level up, then ask your host to match the paths — the first option is simpler.
.env file from your computer. The package ships .env.example only. The first visit creates .env, generates APP_KEY, and opens the installer.6. Installation wizard
The first installer screen shows a setup key. The last step submits that key automatically. Do not leave /install on a public domain unattended until the wizard finishes.
https://your-domain.com/install
6.1 Requirements
The first screen lists PHP version, extensions, and writable folders. All rows must show OK. Click Continue.
6.2 Database / environment
Enter application name, application URL (with https://), and database credentials. The installer writes quoted values into .env, tests MySQL, and sets APP_DEBUG=false for production.
6.3 Migrate
This step runs migrations, seeds core data (plans, settings, email templates — no demo users), syncs bundled addons, and creates the storage link. APP_KEY is created on the first visit if it was empty.
6.4 Administrator accounts
Create two secure logins: a Super Admin for the full platform and a Company Admin for the first business workspace. Use different email addresses. Both accounts use the same /login page and open the correct dashboard automatically.
6.5 Finished
The installer shows both login IDs and passwords once, sets APP_INSTALLED=true, and writes storage/app/installed. Save the credentials securely; further visits to /install are blocked. Log in at /login.
APP_INSTALLED=false in .env and delete storage/app/installed. Use an empty database or you will hit duplicate-table errors.7. Directory permissions
On Linux, the web user must write to storage and cache:
chmod -R 775 storage bootstrap/cache chown -R www-data:www-data storage bootstrap/cache
Replace www-data with your host’s PHP user (often nobody, apache, or your cPanel username). Avoid chmod 777 on a public server.
Then, if logos or uploads do not open in the browser, ask your host to create the public storage link. The installer usually does this for you.
8. Nginx
Apache users can skip this if public/.htaccess is in place and rewrite is on. For Nginx, use a server block whose document root is the product’s public folder:
server {
listen 80;
server_name your-domain.com;
root /var/www/desk/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(env|ht|git) {
deny all;
}
}
Reload Nginx after saving. Enable HTTPS with your host’s SSL tool or Certbot.
To force HTTPS on Apache, you may add to public/.htaccess:
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
9. cPanel / Plesk
- Create the database (step 4).
- Upload files (step 5). Set the domain document root to the
publicfolder (cPanel → Domains → document root). - Confirm PHP 8.2+ for that domain (Select PHP Version / MultiPHP).
- Open
/installand finish the wizard. - Set a cron job (step 11) from cPanel → Cron Jobs.
10. What to set after install
Open Super Admin → Settings. You do not need to edit server files for day-to-day use:
| Panel | Use it for |
|---|---|
| Brand | Name, logos, colors, RTL, light/dark |
| System | Language, timezone, registration, email verification, landing page, maintenance |
| Currency | Default currency and number format |
| SMTP + send test email | |
| PayPal | Plan checkout (the company pays you). Webhook /webhooks/paypal. |
| Stripe | Plan checkout (the company pays you). Return URL is enough; webhook optional. |
| Bank | Manual plan payments |
| AI assistant | Optional. Off by default. Enable when you want wand drafts and Ask Desk. |
| Storage | Local, Amazon S3, or Wasabi |
| SEO / Cookies / Cache | Public site and performance |
Leave debug mode off on a live site. A company can still set its own email, logo, and currency in company Settings.
11. Cron (required for reminders)
In cPanel go to Cron Jobs and add a job that runs once per minute. Paste this command (change the path to your product folder):
* * * * * cd /path/to/desk && php artisan schedule:run >> /dev/null 2>&1
This sends invoice reminders and creates due recurring invoices (daily). You can turn those off later under Super Admin → Settings → Recurring / Reminder.
If emails sit unsent, ask your host to also run the mail queue, or add a second every-minute cron:
* * * * * cd /path/to/desk && php artisan queue:work --stop-when-empty >> /dev/null 2>&1
12. Upgrade
- Back up the database, the
.envfile, and thestoragefolder. - Upload the new package files. Keep your existing
.env,storage, and uploaded files. - Ask your host (or use cPanel Terminal in the product folder) to run the update commands from the new package’s Setup notes. Typical commands:
php artisan migrate --force php artisan addons:sync php artisan storage:link php artisan config:cache
14. Offline & online documentation
You can read this documentation offline directly by opening documentation/index.html in any web browser. You can also host the entire documentation/ folder on your own domain or subdomain (for example docs.yourdomain.com) to provide self-service help for your team and company tenants. Media specifications: Logos & media guide.
15. FAQ / troubleshooting
- 500 or “No application encryption key” instead of the installer? Do not upload your own
.env. Upload.env.example, make the app root writable, then reload — the first visit creates.envand opens/install. - Installer skipped or 404 on /install? The domain must point at the
publicfolder, rewrite must be on, andAPP_INSTALLEDin.envmust befalseuntil the wizard finishes. - Blank page or 500? Check folder permissions and ask your host to read
storage/logs/laravel.log. - Site has no styling? Make sure the
public/buildfolder was uploaded with the rest of the files. - Icons, fonts, or charts missing? Also upload
public/vendor/(self-hosted fonts, Font Awesome, Chart.js, Quill, JsBarcode). The product does not load those from a CDN. - Emails not sending? Super Admin → Settings → Email, send a test, then confirm the matching email template is active.
- PayPal paid but plan not active? Confirm webhook
https://your-domain.com/webhooks/paypal, save the Webhook ID in Super Admin → Settings → PayPal, and subscribe toCHECKOUT.ORDER.APPROVED,PAYMENT.CAPTURE.COMPLETED. The browser return URL still captures if the tab stays open. - Stripe paid but plan not active? The buyer must return to the site after Checkout. Company invoice Stripe uses
https://your-domain.com/pay/stripe/webhook— see PayPal & Stripe. - 419 on forms? The page sat too long — refresh and try again. Use one address only (
your-domain.com), not mixed with another host name. - Logo did not change? Hard refresh (Ctrl+F5) or another browser. Confirm the file uploaded under Brand settings.
- Module missing in the company sidebar? Super Admin → Add-ons Manager: module must be Active. Super Admin → Plans: include that module. Then the company user needs permission on their role.
- Need to reinstall? Empty the database, set install to not finished in
.env(APP_INSTALLED=false), deletestorage/app/installed, visit/installagain.
© Creavix Desk