SuiteCRM is a free, open-source Customer Relationship Management (CRM) software written in PHP. It assists in organizing and managing your business’s marketing, sales, and customer service departments. SuiteCRM is versatile and suitable for industries such as manufacturing, public sectors, technology, finance, education, etc.
This guide provides a detailed, step-by-step walkthrough for installing SuiteCRM on a Debian 12 server. You will deploy SuiteCRM using the LAMP Stack (Apache2, MariaDB, and PHP). Additionally, you’ll secure SuiteCRM with SSL/TLS certificates from Let’s Encrypt.
Prerequisites
Make sure you meet the following requirements before you proceed:
- A Debian 12 Server.
- A non-root user with administrator privileges.
- A domain name pointed to your server’s IP address.
Installing Dependencies
SuiteCRM is built with PHP and requires MySQL/MariaDB as its database. We’ll operate SuiteCRM with the LAMP Stack. Now, install the necessary LAMP stack packages with additional PHP extensions.
First, update your Debian package index:
sudo apt update
Next, install the LAMP Stack and the required PHP extensions:
sudo apt install apache2 mariadb-server php php-cli php-mysql php-bcmath php-xml php-zip php-curl php-mbstring php-gd php-tidy php-intl php-cli php-opcache php-soap php-imap php-ldap unzip
Verify that the Apache2 service is enabled and running:
sudo systemctl is-enabled apache2 sudo systemctl status apache2
Ensure that the MariaDB service is enabled and running:
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
Check your PHP version and its enabled extensions:
php -v php -m
Configuring MariaDB Server
After installing the dependencies, it’s time to secure your MariaDB server and create a new database and user for SuiteCRM.
Secure your MariaDB installation:
sudo mariadb-secure-installation
Follow the prompts to set up your MariaDB server securely.
Configuring PHP
Next, we’ll configure PHP settings as required by SuiteCRM. Modify the PHP configuration files:
sudo nano /etc/php/8.2/apache2/php.ini sudo nano /etc/php/8.2/cli/php.ini
date.timezone = Europe/Amsterdam max_execution_time = 60 memory_limit = 256M upload_max_filesize = 25M post_max_size = 25M error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE & ~E_WARNING session.save_path = "/var/lib/php/sessions" opcache.enable=1 opcache.memory_consumption=256 opcache.max_accelerated_files=20000 opcache.validate_timestamps=0
Restart the Apache2 service to apply changes:
sudo systemctl restart apache2
Downloading and Installing SuiteCRM
Next, download and install SuiteCRM:
mkdir -p /var/www/suitecrm cd /var/www/suitecrm wget https://suitecrm.com/download/142/suite84/562972/suitecrm-8-4-0.zip
unzip suitecrm-8-4-0.zip
Set up appropriate permissions for SuiteCRM:
find . -type d -not -perm 2755 -exec chmod 2755 {} \; find . -type f -not -perm 0644 -exec chmod 0644 {} \; find . ! -user www-data -exec chown www-data:www-data {} \; chmod +x bin/console
Install SuiteCRM via the command line:
sudo -u www-data ./bin/console suitecrm:app:install -u "alice" -p "password" -U "suitecrm" -P "password" -H "127.0.0.1" -N "suitecrmdb" -S "http://suitecrm.howtoforge.local/"
Configuring Apache2 Virtual Host for SuiteCRM
Create a new Apache2 virtual host for SuiteCRM:
sudo a2enmod rewrite ssl headers
sudo nano /etc/apache2/sites-available/suitecrm.conf
<VirtualHost *:80> DocumentRoot /var/www/suitecrm/public ServerName suitecrm.howtoforge.local <Directory /var/www/suitecrm/public> Options FollowSymLinks AllowOverride All </Directory> ErrorLog /var/log/apache2/suitecrm-error.log CustomLog /var/log/apache2/suitecrm-access.log common </VirtualHost>
Enable the new virtual host and restart Apache2:
sudo a2ensite suitecrm.conf sudo apachectl configtest sudo systemctl restart apache2
Securing SuiteCRM with SSL/TLS from Let’s Encrypt
Secure SuiteCRM using Certbot:
sudo apt install certbot python3-certbot-apache
sudo certbot --apache --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email admin@howtoforge.local -d suitecrm.howtoforge.local
Conclusion
Congratulations! You’ve successfully installed SuiteCRM on a Debian 12 server using LAMP Stack and secured it with SSL/TLS via Let’s Encrypt. You’re now ready to leverage SuiteCRM’s features to boost your business performance. To get started, consider integrating an SMTP server for SuiteCRM notifications.
FAQ
- Why should I use SuiteCRM?
SuiteCRM is a robust, open-source CRM solution suitable across various industries to manage marketing, sales, and customer service efficiently. - Is SuiteCRM truly free to use?
Yes, SuiteCRM is free and open source, allowing you to customize and use it as needed without licensing costs. - Can I install SuiteCRM on a different Linux distribution?
While this guide is tailored for Debian 12, SuiteCRM can also be deployed on other distributions with slight adjustments to the package manager and surrounding configurations. - What is the recommended server specification for SuiteCRM?
This depends on your business needs, but generally, a server with at least 2GB of RAM and a multi-core CPU is recommended for moderate use.