How to Install SuiteCRM with Apache on Ubuntu 24.04
SuiteCRM 8.x on Ubuntu 24.04 LTS runs as a free, open-source customer relationship management platform that tracks sales, marketing deals, and support requests for your business. Running this setup requires a MySQL database, an Apache 2.4 web server, and PHP configured on your server.
You install SuiteCRM by preparing the database, setting up your web server files, and finishing the web-based setup wizard in your browser.
Install Apache and MariaDB using `apt install apache2` and `apt install mariadb-server`. Create a database named `suitecrmdb` and a user for it within MariaDB. Download SuiteCRM, extract it to your Apache web root, and run the installer.
Install Apache HTTP server on Ubuntu
To install Apache on Ubuntu for your SuiteCRM installation, open your terminal and update your local package index using the apt update command. Next, run the apt install apache2 command to download and set up the Apache HTTP server so your web browser can load pages from your server.
To do that, open the Ubuntu terminal and run the commands below to install the Apache web server.
sudo apt update
sudo apt install apache2
Once Apache is installed, the commands below can start, stop, and enable the Apache web server to start automatically when your server boots up.
sudo systemctl stop apache2
sudo systemctl start apache2
sudo systemctl enable apache2
You can test that the Apache web server is running by opening your web browser and browsing to the server’s localhost or IP address.
http://localhost

When you see the Apache2 Default Page, it means the Apache HTTP server is successfully installed.
Additional help on installing Apache on Ubuntu is in the link below.
Install the MariaDB database server on Ubuntu
To install MariaDB on Ubuntu, open your terminal and run the sudo apt install mariadb-server command to set up the database backend required by SuiteCRM. After the installation finishes, run the mysql_secure_installation script to remove anonymous users, disable remote root login, and secure your database.
To install and use the MariaDB database server, use the instructions below.
Open the Ubuntu terminal and run the commands below to install the MariaDB database server.
sudo apt update sudo apt install mariadb-server
Once the MariaDB database server is installed, use the commands below to stop, start, and enable the MariaDB server to start automatically when the server boots.
sudo systemctl stop mariadb sudo systemctl start mariadb sudo systemctl enable mariadb
Run the following commands to validate and test if the MariaDB database server is installed successfully.
sudo mariadb
Once you run the commands above, it will log you onto the MariaDB console and display a message similar to the one below.
Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 32 Server version: 10.11.2-MariaDB-1 Ubuntu 23.04 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. MariaDB [(none)]>
The message tells you that the server is installed successfully.
Additional help on installing MariaDB.
- How to install MariaDB on Ubuntu Linux
- MariaDB without password prompt
Create a SuiteCRM database
To create a SuiteCRM database, log into your MariaDB prompt using the mysql -u root -p command. Then, run SQL queries to create a dedicated database named suitecrmdb, set up a new database user with a secure password, and grant that user full permissions over the new database.
As part of the setup, we will create a suitecrmdb database and a user account called suitecrmdbuser.
Granting the `suitecrmdbuser` full access to the `suitecrmdb` database allows SuiteCRM to read and write necessary data for its operations, as this permission is crucial for the application's functionality.
All the database steps above can be done using the commands below:
But first, log on to the MariaDB database server:
sudo mariadb
Then run the commands below to complete the steps:
CREATE DATABASE suitecrmdb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER suitecrmdbuser@localhost IDENTIFIED BY 'type_your_password_here';
GRANT ALL ON suitecrmdb.* TO suitecrmdbuser@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
Ensure to replace ‘type_your_password_here ‘with your password.
Install PHP on Ubuntu Linux
To install PHP on Ubuntu for SuiteCRM, you need the core PHP package along with the specific extensions that Apache and SuiteCRM require to process dynamic pages. Run the sudo apt install php libapache2-mod-php php-mysql command in your terminal to install PHP and its essential database and web modules.
Then, run the commands below to install the latest PHP version.
sudo apt install php libapache2-mod-php php-intl php-mysql php-curl php-cli php-zip php-xml php-gd php-common php-mbstring php-xmlrpc php-bcmath php-json php-sqlite3 php-soap php-zip php-ldap php-imap
Additional help on installing PHP
Download SuiteCRM files
To download SuiteCRM, copy the latest archive link from the official download page and use the wget command in your terminal to fetch the zip package directly to your server. Once the download finishes, extract the archive files directly into your Apache web root directory so the server can serve the application.
To always install the latest version, check the download page for SuiteCRM. Get the download link and download the archived package to your computer. Then, extract it.
First, navigate to the /tmp/ directory and download the SuiteCRM files. Next, extract the content into the SuiteCRM folder in the Apache root directory.
The final step is to change the permissions. This will allow the Apache web server to interact safely with the files, ensuring a secure environment for your SuiteCRM installation.
Apache root folder permissions must be changed so the SuiteCRM app functions correctly. Run the following commands to grant the necessary permissions, allowing SuiteCRM to write files and create directories within its installation folder.
cd /tmp
wget https://suitecrm.com/download/148/suite87/564667/suitecrm-8-7-1.zip
sudo unzip suitecrm-*.zip -d /var/www/suitecrm
sudo chown -R www-data:www-data /var/www/suitecrm/
Once you have completed all the above steps, continue configuring the Apache web server below to serve the SuiteCRM content.
Run the commands below to create an Apache virtual host file for SuiteCRM.
sudo nano /etc/apache2/sites-available/suitecrm.conf
Then, copy and paste the content block below into the Apache server block.
<VirtualHost *:80>
ServerName suitecrm.example.com
ServerAlias www.suitecrm.example.com
ServerAdmin admin@example.com
DocumentRoot /var/www/suitecrm/public/
<Directory /var/www/suitecrm/public/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Save the file.
You can enable the SuiteCRM virtual host for Apache by running the `sudo a2ensite suitecrm.conf` command, and then restart the Apache server with `sudo systemctl restart apache2` to apply the changes.
sudo a2ensite suitecrm.conf
sudo a2enmod rewrite
sudo systemctl restart apache2
Setup Let’s Encrypt SSL/TLS for SuiteCRM
To set up Let's Encrypt SSL/TLS for SuiteCRM, install the Certbot tool using your terminal and run the certbot --apache command to automatically generate a free security certificate. Certbot will update your Apache configuration files to redirect all standard HTTP web traffic over secure HTTPS connections.
Please read the post below for additional resources on installing and creating Let’s Encrypt SSL certificates for Apache.
How to set up Let’s Encrypt SSL certificate for Apache on Ubuntu Linux
Once you have restarted the Apache web server, open your browser and browse to the server hostname or IP address defined in the Apache server block.
http://suitecrm.example.com
SuiteCRM installation wizard should appear.
Ensure all requirements are met or ignore and proceed. If you encounter an error that the memory limit and file upload size are too small, run the command below to resolve the issues.
sudo sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/8.3/apache2/php.ini
sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 12M/" /etc/php/8.3/apache2/php.ini
sudo systemctl reload apache2

Next, type in the database name, account name, password, and the admin account and password for the portal.

SuiteCRM should be installed and ready to use.

That should do it!
Conclusion:
Installing SuiteCRM with Apache on Ubuntu 24.04 provides an efficient way to manage customer relationships. This installation process allows you to effectively organize and track all your customer interactions.
- Apache Installation: Successfully set up the Apache HTTP server essential for serving SuiteCRM.
- Database Setup: Installed MariaDB and created a dedicated database for SuiteCRM, ensuring the necessary data structure for operations.
- PHP Configuration: Installed PHP and the required extensions, vital for SuiteCRM’s functionality.
- SuiteCRM Files: Downloaded and configured SuiteCRM files, allowing the software to run correctly on the server.
- Apache Configuration: Set up an Apache virtual host specifically for SuiteCRM, facilitating direct access via a dedicated domain.
- SSL/TLS Security: Considered SSL/TLS certificate installation from Let’s Encrypt to enhance the security of your SuiteCRM application.
With these steps completed, your SuiteCRM is fully operational, providing powerful tools to streamline customer relationship management. Enjoy leveraging SuiteCRM to improve your business processes!
Was this guide helpful?
About the Author
Richard
Tech Writer, IT Professional
Richard, a writer for Geek Rewind, is a tech enthusiast who loves breaking down complex IT topics into simple, easy-to-understand ideas. With years of hands-on experience in system administration and enterprise IT operations, he’s developed a knack for offering practical tips and solutions. Richard aims to make technology more accessible and actionable. He's deeply committed to the Geek Rewind community, always ready to answer questions and engage in discussions.
No comments yet — be the first to share your thoughts!