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.

After a successful install, use 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:

  1. Go to Super Admin → Settings → License (or click Quick Activate on the notification banner).
  2. Enter your Envato Purchase Code (downloaded from CodeCanyon > Downloads > License Certificate & Purchase Code PDF or text file).
  3. Enter your Buyer Email Address.
  4. Click Verify & Activate Domain. The platform securely contacts the official Envato Market API to verify authenticity and registers your domain.
  5. 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.
Do not resell the source as a competing CodeCanyon item. Do not remove credits for third-party libraries listed in Credits.

3. Server requirements

The installer checks these on the first screen. If a row fails, ask your host to enable it, then refresh.

ItemMinimum
PHP8.2 or newer
ExtensionsPDO, Mbstring, OpenSSL, Tokenizer, XML, Ctype, JSON, BCMath, Fileinfo, Zip, and GD or Imagick
DatabaseMySQL 8 or MariaDB 10.3+ (empty database)
Web serverApache with mod_rewrite, or Nginx with the example below
Writable foldersstorage/ and bootstrap/cache/
Point the domain document root to the 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

  1. Turn on “show hidden files” in your file manager so .env.example and .htaccess are visible.
  2. 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_html and point the domain to .../public, or
  • Put the files from the public folder into public_html and keep the rest of the app one level up, then ask your host to match the paths — the first option is simpler.
Do not upload a .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
Creavix Desk 5-step installation wizard
Creavix Desk step-by-step installation wizard verifying PHP requirements, extensions, and directory permissions.

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.

Creavix Desk sign-in page after installation
Sign-in page after installation on desk-demo.creavix.io/login. Super Admin and company users use this same sign-in page.
If you need to re-run the installer on a failed attempt: set 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

  1. Create the database (step 4).
  2. Upload files (step 5). Set the domain document root to the public folder (cPanel → Domains → document root).
  3. Confirm PHP 8.2+ for that domain (Select PHP Version / MultiPHP).
  4. Open /install and finish the wizard.
  5. 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:

PanelUse it for
BrandName, logos, colors, RTL, light/dark
SystemLanguage, timezone, registration, email verification, landing page, maintenance
CurrencyDefault currency and number format
EmailSMTP + send test email
PayPalPlan checkout (the company pays you). Webhook /webhooks/paypal.
StripePlan checkout (the company pays you). Return URL is enough; webhook optional.
BankManual plan payments
AI assistantOptional. Off by default. Enable when you want wand drafts and Ask Desk.
StorageLocal, Amazon S3, or Wasabi
SEO / Cookies / CachePublic 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

  1. Back up the database, the .env file, and the storage folder.
  2. Upload the new package files. Keep your existing .env, storage, and uploaded files.
  3. 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
Always take a backup first. Support cannot restore data lost in an update without a backup.

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 .env and opens /install.
  • Installer skipped or 404 on /install? The domain must point at the public folder, rewrite must be on, and APP_INSTALLED in .env must be false until 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/build folder 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 to CHECKOUT.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), delete storage/app/installed, visit /install again.

© Creavix Desk