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.
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.