How To

Install YetiForceCRM on Ubuntu 24.04

YetiForceCRM is an open-source Customer Relationship Management system built on PHP and MariaDB. It provides sales force automation, project management, inventory tracking, email integration, and workflow automation – all in a self-hosted package. The project is developed by YetiForce Company and released under a custom open-source license.

Original content from computingforgeeks.com - post 44625

This guide covers a complete YetiForceCRM 6.5 installation on Ubuntu 24.04 LTS using Apache, PHP 8.3, and MariaDB. By the end, you will have a working CRM instance accessible over HTTPS.

Prerequisites

  • A server running Ubuntu 24.04 LTS with at least 2GB RAM and 20GB disk space
  • Root or sudo access
  • A domain name pointed to the server IP (for SSL setup)
  • Ports 80 and 443 (TCP) open in the firewall

Step 1: Install Apache, PHP 8.3 and Required Extensions

YetiForceCRM requires PHP 8.1 or newer with a large set of extensions. Ubuntu 24.04 ships PHP 8.3 in its default repositories, which is the recommended version. Start by updating the package index and installing Apache with PHP and all required extensions.

sudo apt update
sudo apt install -y apache2 libapache2-mod-php php php-cli php-common php-mysql php-curl php-gd php-mbstring php-xml php-zip php-imap php-soap php-intl php-bcmath php-ldap php-imagick php-apcu php-opcache php-fileinfo unzip curl

After the installation completes, verify the PHP version to confirm it is 8.3:

php -v

The output should show PHP 8.3.x installed and active:

PHP 8.3.6 (cli) (built: Mar 12 2025 10:00:00) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.3.6, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.6, Copyright (c), by Zend Technologies

YetiForceCRM has specific PHP configuration requirements for memory limits and upload sizes. Open the Apache PHP configuration file to adjust these settings.

sudo vi /etc/php/8.3/apache2/php.ini

Update the following directives to match YetiForceCRM requirements:

memory_limit = 1024M
max_execution_time = 600
max_input_time = 600
post_max_size = 100M
upload_max_filesize = 100M
error_reporting = E_ALL & ~E_NOTICE
display_errors = Off
log_errors = On
session.auto_start = Off

Save the file and enable the Apache modules required by YetiForceCRM:

sudo a2enmod rewrite headers ssl
sudo systemctl restart apache2

Step 2: Install MariaDB Database Server

YetiForceCRM supports MariaDB 10.6 or newer. Ubuntu 24.04 includes MariaDB 10.11 in its repositories. If you need a newer version, check our guide on installing MariaDB on Ubuntu. For this guide, the default repository version works well.

sudo apt install -y mariadb-server mariadb-client

Enable and start the MariaDB service, then verify it is running:

sudo systemctl enable --now mariadb
sudo systemctl status mariadb

The output should show the service as active (running):

● mariadb.service - MariaDB 10.11.8 database server
     Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; preset: enabled)
     Active: active (running) since Sat 2026-03-22 10:00:00 UTC; 5s ago

Run the security hardening script to set a root password and remove test databases:

sudo mariadb-secure-installation

Answer the prompts: set a strong root password, remove anonymous users, disallow remote root login, remove the test database, and reload privileges.

Step 3: Create the YetiForceCRM Database and User

YetiForceCRM requires a dedicated database with specific character set and collation settings. Log into MariaDB as root and create the database and user.

sudo mariadb -u root -p

Run the following SQL statements to create the database, user, and set the required configuration. Replace StrongPassword123! with your own secure password:

CREATE DATABASE yetiforce CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'yetiforce'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON yetiforce.* TO 'yetiforce'@'localhost';
FLUSH PRIVILEGES;
EXIT;

YetiForceCRM also requires specific MariaDB server settings. Open the MariaDB configuration file to adjust them.

sudo vi /etc/mysql/mariadb.conf.d/99-yetiforce.cnf

Add the following configuration under the [mysqld] section:

[mysqld]
innodb_lock_wait_timeout = 600
max_allowed_packet = 128M
sql_mode = ""

Restart MariaDB to apply the changes:

sudo systemctl restart mariadb

Step 4: Download and Extract YetiForceCRM

Download the latest YetiForceCRM 6.5.0 release from the official GitHub repository and extract it to the web server directory.

cd /tmp
curl -LO https://github.com/YetiForceCompany/YetiForceCRM/releases/download/6.5.0/YetiForceCRM-6.5.0-complete.zip

Extract the archive into the Apache web root:

sudo mkdir -p /var/www/yetiforce
sudo unzip /tmp/YetiForceCRM-6.5.0-complete.zip -d /var/www/yetiforce

Set the correct file ownership and permissions so Apache can read and write the files. As specified in the official requirements, files should be 644 and directories 755:

sudo chown -R www-data:www-data /var/www/yetiforce
sudo find /var/www/yetiforce -type f -exec chmod 644 {} \;
sudo find /var/www/yetiforce -type d -exec chmod 755 {} \;

Step 5: Configure Apache Virtual Host for YetiForceCRM

Create an Apache virtual host configuration file for YetiForceCRM. Replace crm.example.com with your actual domain name.

sudo vi /etc/apache2/sites-available/yetiforce.conf

Add the following virtual host configuration:

<VirtualHost *:80>
    ServerName crm.example.com
    DocumentRoot /var/www/yetiforce/public_html

    <Directory /var/www/yetiforce/public_html>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/yetiforce_error.log
    CustomLog ${APACHE_LOG_DIR}/yetiforce_access.log combined
</VirtualHost>

Enable the new site and disable the default Apache site:

sudo a2ensite yetiforce.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2

Verify that Apache is running without configuration errors:

sudo apachectl configtest

You should see the following confirmation:

Syntax OK

Step 6: Run the YetiForceCRM Web Installer

Open your browser and navigate to your domain to start the web-based installer:

http://crm.example.com

The installer walks through several steps:

  • Welcome screen – Select your language and accept the license agreement
  • System check – The installer verifies PHP version, extensions, file permissions, and database connectivity. Fix any red items before proceeding
  • Database configuration – Enter the database details: host (localhost), database name (yetiforce), username (yetiforce), and the password you set in Step 3
  • Admin account – Set the admin username, email, and password for the CRM
  • Installation – The installer creates tables, imports default data, and configures the application. This takes a few minutes depending on server performance

After the installation completes, log in with the admin credentials you created.

Step 7: Configure Cron Jobs for YetiForceCRM

YetiForceCRM uses a cron job to process background tasks like email sending, workflow execution, and scheduled reports. Create a cron entry for the www-data user.

sudo crontab -u www-data -e

Add the following line to run the cron handler every 5 minutes:

*/5 * * * * php /var/www/yetiforce/cron/cron.php > /dev/null 2>&1

Verify the cron entry was saved correctly:

sudo crontab -u www-data -l

The output should display the cron line you just added.

Step 8: Configure Firewall and SSL Certificate

Open HTTP and HTTPS ports in UFW (Ubuntu’s default firewall) if it is enabled on your server:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload

Confirm the firewall rules are active:

sudo ufw status

The output should list ports 80 and 443 as ALLOW:

Status: active

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)

Install Certbot to obtain a free Let’s Encrypt SSL certificate for your domain. If you need a full guide on Let’s Encrypt, see our tutorial on setting up Apache with Let’s Encrypt on Ubuntu.

sudo apt install -y certbot python3-certbot-apache
sudo certbot --apache -d crm.example.com

Certbot automatically configures Apache for HTTPS and sets up auto-renewal. Verify the renewal timer is active:

sudo systemctl status certbot.timer

The timer should show active (waiting), which means Certbot will renew your certificate automatically before it expires.

After enabling SSL, update the YetiForceCRM site URL. Log into the CRM admin panel and navigate to Settings > System > Company Details to update the site URL to https://crm.example.com.

Conclusion

You now have a working YetiForceCRM 6.5 installation on Ubuntu 24.04 with Apache, PHP 8.3, and MariaDB. The CRM is accessible over HTTPS with a valid Let’s Encrypt certificate.

For a production deployment, configure regular database backups using automated backup scripts, set up monitoring for the Apache and MariaDB services, and keep the system packages updated. Review the YetiForceCRM admin panel settings for email integration, user roles, and workflow automation to match your business requirements.

Related Articles

Ubuntu Install Oracle JDK 21 on Ubuntu 24.04/22.04 Automation How To Install JFrog Artifactory on Ubuntu 20.04 Proxmox Installing Ubuntu 24.04 (Noble Numbat) on Proxmox VE Web Hosting Install and Use Hugo On Ubuntu 22.04|20.04|18.04

Leave a Comment

Press ESC to close