Skip to content

Installation

Install on Nginx or a VPS

Point the web server at Laravel’s public/ directory. Do not expose app/, .env, or storage/ as document roots.

Last updated Aug 20, 2026 · 2 min read

Point the web server at Laravel’s public/ directory. Do not expose app/, .env, or storage/ as document roots.

1. Deploy files

Copy the application to a directory such as /var/www/profilesuite. From that directory:

composer install --no-dev --optimize-autoloader

Rebuild frontend assets only if you changed Vue/JS/CSS:

npm ci
npm run prod

Create the database and a dedicated MySQL user before running the wizard.

2. Permissions

sudo chown -R www-data:www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache

Replace www-data with your PHP-FPM user (nginx, apache, etc.).

3. Nginx example

server {
    listen 443 ssl http2;
    server_name example.com;
    root /var/www/profilesuite/public;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";

    index index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_hide_header X-Powered-By;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

Adjust the PHP-FPM socket to match the installed version. Use Certbot (or your usual TLS flow) for certificates.

4. Apache (VPS)

If you use Apache instead of Nginx:

  • Document root: /var/www/profilesuite/public
  • Enable mod_rewrite and AllowOverride All for that directory
  • The public/.htaccess file already routes requests to index.php

5. Open the wizard

Visit https://example.com/install and complete Setup wizard. Set Application URL to the public HTTPS URL.

6. PHP-FPM limits

Uploads (logos, card images, CSV import) need reasonable upload_max_filesize and post_max_size (for example 16M or higher). memory_limit of 256M is a comfortable floor for image work (GD).

← All ProfileSuite – Digital Business Card, Bio Link & Lead Capture Platform documentation

We use cookies to understand how visitors use this site. Cookie Policy