Install SuiteCRM on AlmaLinux 9

By Anurag Singh

Updated on Jun 20, 2025

Install SuiteCRM on AlmaLinux 9

Learn how to install and deploy SuiteCRM on AlmaLinux 9 using the LAMP stack (Linux, Apache, MySQL, PHP).

SuiteCRM is one of the best open-source CRM platforms available — it’s reliable, customizable, and free to use. Deploying SuiteCRM on AlmaLinux with LAMP is a powerful way to give businesses a full-featured, open-source customer relationship management system. In this step-by-step guide, we’ll walk through how we can install SuiteCRM on an AlmaLinux server using the LAMP stack (Linux, Apache, MariaDB, PHP).

Prerequisites

Before we begin, let’s ensure we have the following in place:

How to Install SuiteCRM on AlmaLinux 9 with LAMP Stack – Complete Step-by-Step Guide (2025)

Step 1: Update AlmaLinux and Install EPEL

Before installing anything, we must update our AlmaLinux system to the latest available packages to ensure stability and security.

sudo dnf update -y
sudo dnf install epel-release -y
sudo dnf update -y

Step 2: Install Apache (HTTP Server)

Apache is the web server that will serve the SuiteCRM web interface.

sudo dnf install httpd -y
sudo systemctl enable httpd --now

Once installed, we can confirm it’s running with:

sudo systemctl status httpd

Ensure port 80 (HTTP) and port 443 (HTTPS) are open:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

Step 3: Install and Configure MariaDB

SuiteCRM needs a database to store CRM data. MariaDB is a stable, MySQL-compatible database system.

sudo dnf install mariadb-server -y
sudo systemctl enable mariadb --now

Now secure our MariaDB installation:

sudo mysql_secure_installation

We’ll be prompted to set a root password, remove anonymous users, disable remote root login, and remove the test database — accept all recommended options.

Then create a database and user for SuiteCRM:

sudo mysql -u root -p

Inside the MariaDB shell:

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

Step 4: Install PHP and Required Extensions

SuiteCRM needs PHP 8.1+ with a set of essential extensions.

sudo dnf install -y dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm
sudo dnf module reset php -y
sudo dnf module enable php:remi-8.3 -y
sudo dnf install -y php php-cli php-common php-mysqlnd php-gd php-xml php-curl php-zip php-imap php-mbstring php-json php-bcmath php-intl php-opcache

Check installed PHP version:

php -v

Step 5: Tune PHP Configuration

Let’s edit the PHP configuration to match SuiteCRM’s needs.

sudo nano /etc/php.ini

Update the following values:

memory_limit = 512M
upload_max_filesize = 100M
post_max_size = 100M
max_execution_time = 360

Then restart Apache to apply PHP changes:

sudo systemctl restart httpd

Step 6: Download and Deploy SuiteCRM

Now let’s fetch the latest stable SuiteCRM release from the official website:

mkdir /var/www/suitecrm && cd /var/www/suitecrm
wget https://suitecrm.com/download/165/suite88/565090/suitecrm-8-8-0.zip
sudo dnf install unzip -y
sudo unzip suitecrm-8-8-0.zip
sudo chown -R apache:apache /var/www/suitecrm

Step 7: Configure Apache Virtual Host

We’ll now create a virtual host file for SuiteCRM.

sudo nano /etc/httpd/conf.d/suitecrm.conf

Add the following content:

<VirtualHost *:80>
    ServerAdmin admin@example.com
    DocumentRoot /var/www/suitecrm/public
    ServerName crm.example.com
    <Directory /var/www/suitecrm/public>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog /var/log/httpd/suitecrm_error.log
    CustomLog /var/log/httpd/suitecrm_access.log combined
</VirtualHost>

Then restart Apache:

sudo systemctl restart httpd

We also need to enable .htaccess usage:

sudo nano /etc/httpd/conf/httpd.conf

Search for:

<Directory "/var/www">
    AllowOverride None

Change AllowOverride None to:

AllowOverride All

Restart Apache again:

sudo systemctl restart httpd

Step 8: Configure SELinux and Permissions

If SELinux is enforcing, allow Apache to read and write the required files:

sudo chcon -R -t httpd_sys_rw_content_t /var/www/suitecrm
sudo setsebool -P httpd_can_network_connect_db 1

Step 9: Access the SuiteCRM Web Installer

Now open the browser and visit:

http://crm.example.com

If DNS is not set up, use the server IP instead.

You’ll see the SuiteCRM installation wizard. Follow the prompts to:

  • Accept the license
  • Set database information (suitecrm_db, suitecrm_user, and password)
  • Create an admin user
  • Finalize the configuration

Once complete, SuiteCRM will be ready to use!

Step 10: Secure Your CRM with HTTPS (Optional but Recommended)

Install Certbot for SSL:

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

Set auto-renew:

echo "0 0 * * * root certbot renew --quiet" | sudo tee -a /etc/crontab

Final Thoughts

Deploying SuiteCRM on AlmaLinux with LAMP gives us full control, flexibility, and scalability. It's ideal for businesses that want a cost-effective CRM with powerful features like sales automation, customer support, and marketing workflows. By hosting SuiteCRM on our own AlmaLinux server, we ensure data privacy, performance tuning, and easy customization.