FlowCRM AI Installation Guide
Follow this guide to install FlowCRM AI on a production server from the downloaded package. The browser installer runs at /installer and checks the server before setup can continue.
1. Download Installation Package
After downloading the product package from your purchase source, unzip the main package on your computer first. The downloaded package is normally organized like this:
Documentation/- offline documentation files included with the product package.install.zip- the application files that must be uploaded to your server.changelog.txt- version history and release notes.license.txt- license information.
Upload the contents of install.zip to the target web root or subdomain folder. Do not upload only the outer package folder, because the web server must point to the extracted application files.
2. Create Domain or Subdomain
Create the domain or subdomain that will run FlowCRM AI, then point it to your server IP address.
yourdomain.com -> your server IP address
agency.yourdomain.com -> your server IP address
Wait until DNS is resolved before starting installation. If the domain does not open the uploaded app correctly, fix DNS or web server configuration before using the installer.
3. System Requirements
FlowCRM AI is built on Laravel and Livewire. The installer checks PHP version, PHP extensions, server software, writable paths, and purchase verification configuration.
Minimum Requirements
- PHP: 8.3.0 or higher.
- Database: MySQL or MariaDB with PDO MySQL support.
- Web server: Apache, Nginx, LiteSpeed, or another PHP-capable web server.
- PHP memory limit: 256 MB or higher is recommended.
- HTTPS: strongly recommended for login, billing, client portals, file delivery, and workspace security.
Required PHP Extensions
- ctype
- fileinfo
- filter
- hash
- json
- mbstring
- openssl
- pdo
- tokenizer
- xml
Recommended Extensions
pdo_mysqlfor MySQL database connection.curlfor API calls, licensing checks, AI providers, and external integrations.gdorimagickfor image and file preview workflows.zipfor package handling where hosting tools require it.intlfor better locale and text handling.
Writable Paths
The installer checks these paths and will not continue until they are writable:
.envbootstrap/cachestorage
If a hosting panel blocks file permissions, set folders to writable from the file manager or SSH. After installation, keep permissions secure and avoid making the whole project publicly writable.
4. Configure Web Server
The recommended production setup is to point the domain document root to the application public folder. This protects framework files, environment files, logs, and storage paths from direct public access.
Apache
Point the virtual host document root to:
/path/to/flowcrmai/public
Make sure URL rewriting is enabled. On most hosting panels, this means Apache mod_rewrite must be available and .htaccess must be respected.
Nginx
Use the public folder as the web root and send all non-file requests to Laravel:
server {
server_name yourdomain.com;
root /path/to/flowcrmai/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
}
}
Restart Nginx after saving the configuration. If your server points at the project root instead of public, fix that before installation.
5. Set Up SSL
Install SSL before final production use. HTTPS is important because FlowCRM AI handles login sessions, admin access, team workspaces, client portals, payments, file delivery, and AI-related workspace data.
- Use Let's Encrypt when your hosting supports free SSL.
- Use a paid SSL certificate if required by your hosting provider.
- Confirm the browser opens the site with
https://before inviting users.
6. Create a Fresh Database
Create a new empty database from your hosting panel, phpMyAdmin, or MySQL console. The installer expects a clean database because installation runs migrations and default seeders.
You will need these values during setup:
- Database host, usually
localhost. - Database port, usually
3306. - Database name.
- Database username.
- Database password.
Important: do not use a database that already belongs to another application. The installer expects an empty database and may stop if tables already exist.
7. Run the Browser Installer
Open your domain in the browser and go to:
https://yourdomain.com/installer
The installer has three visible stages: Requirements, Setup, and Finish.
Step 1: Requirements
The Requirements screen validates the server before allowing installation to continue. It checks:
- PHP version is 8.3.0 or higher.
- Server software is available.
- Required PHP extensions are loaded.
.env,bootstrap/cache, andstorageare writable.- Purchase verification endpoint is configured.
If any item fails, fix the server requirement and refresh the installer page. The setup form remains locked until all requirements pass.
Step 2: Setup Details
After requirements pass, click Next Step to open the setup form.
License Verification
- Enter the purchase code used for this product.
- The installer verifies the purchase code with the licensing service.
- The domain is sent with the request, so run the installer from the real installation domain.
Website Settings
- Website title: public application name.
- Website description: short meta description.
- Website keywords: optional SEO keywords.
Database Connection
- Host: usually
localhost. - Port: usually
3306. - Database name: the empty database created earlier.
- Username: database user with permission to create tables.
- Password: database password.
Administrator Account
- Full name: administrator display name.
- Username: at least 3 characters; letters, numbers, dot, underscore, and dash are supported.
- Email: admin login email.
- Timezone: application timezone used for admin account and schedules.
- Password: at least 8 characters and must be confirmed.
What Happens During Installation
- Creates and writes the
.envenvironment file. - Generates the Laravel application key.
- Connects to the selected MySQL database.
- Confirms the selected database is ready for installation.
- Runs database migrations.
- Seeds default plans, AI templates, workspace data, and required settings.
- Creates the first super administrator account.
- Assigns the configured administrator plan when available.
- Saves website title, description, keywords, contact email, timezone, theme settings, and license metadata.
- Sets installed runtime options such as database session, database cache, and database queue connection.
Step 3: Finish
When installation completes, the Finish screen confirms the application is ready. You can continue to the home page or login page.
8. Post-Installation Checklist
- Open Admin Dashboard and confirm widgets load correctly.
- Review website title, contact email, timezone, and SEO settings.
- Configure payment gateways if plans and subscriptions will be sold.
- Review plans, workspace limits, client limits, project limits, AI access, automation access, report access, storage limits, and team limits.
- Configure mail settings before sending password reset, support, workspace, approval, or delivery emails.
- Configure cron and queue processing if scheduled jobs, notifications, subscriptions, automations, or background tasks are enabled.
- Test registration, login, workspace creation, client creation, project creation, task assignment, approval flow, file upload, deliverable delivery, report generation, and admin support flow.
9. Security Notes
- Keep the domain pointed to the
publicfolder only. - Do not expose
.env, storage logs, vendor files, or application source folders publicly. - Use HTTPS for production.
- Use a strong admin password and a private admin email.
- Back up database and uploaded files before updating the product.
- If the installer URL is still accessible after installation, confirm
APP_INSTALLED=trueis written in.env.
10. Common Installation Problems
Requirement check does not pass
Check the exact failed row. Most failures are caused by missing PHP extensions, unsupported PHP version, or folders that are not writable.
Purchase code verification fails
Confirm the code is copied without spaces, the server can reach the licensing endpoint, and the installation is being run from the correct domain.
Database error
Confirm host, port, database name, username, and password. Also confirm the database is fresh and does not belong to another application.
White page or 404 after upload
Confirm the web server document root points to the public folder and URL rewriting is enabled.
Login or session issue after installation
Confirm APP_URL is correct in .env. If the site uses HTTPS, make sure SSL is installed correctly and clear application cache after changing environment values.