SuiteCRM installeren met Apache en gratis Let’s Encrypt SSL op Debian 11

SuiteCTM is een open-source Customer Relationship Management oplossing geschreven in PHP. Het is een volledig uitgeruste en zeer uitbreidbare CRM toepassing die op elk besturingssysteem draait. Het werd populair toen SugarCRM besloot de ontwikkeling van zijn community editie stop te zetten. Het wordt gebruikt voor het maken van bedrijfsstrategieën, acties, en beslissingen. Het is een alternatieve CRM oplossing voor andere commerciële CRM zoals SugarCRM, Salesforce, en Microsoft.

In dit artikel laten we je zien hoe je SuiteCRM met Apache en Let’s Encrypt SSL op Debian 11 kunt installeren.

Vereisten

  • Een server met Debian 11.
  • Een geldige domeinnaam gericht met je server IP.
  • Een root wachtwoord is op de server ingesteld.

Installeer Apache, MariaDB, en PHP

SuiteCRM is een op PHP gebaseerde toepassing en gebruikt MariaDB als database backend. Je zult dus de Apache server, de MariaDB databaseserver, PHP en andere noodzakelijke PHP uitbreidingen op je server moeten installeren. Je kunt ze allemaal installeren met het volgende commando:

apt-get install apache2 mariadb-server mariadb-client php php-common php-zip php-mysql php-gd php-curl php-imap php-mbstring php-xml php-json libapache2-mod-php unzip libpcre3 -y

Als alle pakketten geïnstalleerd zijn, bewerk je het php.ini bestand en verander je enkele standaard instellingen:

nano /etc/php/7.4/apache2/php.ini

Verander de volgende instellingen:

memory_limit = 256M
post_max_size = 64M
upload_max_filesize = 64M

Sla het bestand op en sluit het af, herstart dan de Apache dienst om de veranderingen toe te passen:

systemctl restart apache2

Maak een MariaDB Database voor SuiteCRM

Eerst moet je de MariaDB installatie beveiligen en een root wachtwoord instellen. Je kunt dat doen door het volgende script uit te voeren:

mysql_secure_installation

Beantwoord alle vragen zoals hieronder aangegeven:

Enter current password for root: Press 
Set root password? [Y/n] y
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

Als je klaar bent, log je in op de MariaDB shell met het volgende commando:

mysql -u root -p

Zodra je verbonden bent met de MariaDB, maak je een database en gebruiker voor SuiteCRM met het volgende commando:

MariadDB [(none)]> CREATE DATABASE suitecrm;
MariaDB [(none)]> CREATE USER 'suitecrm'@'localhost' IDENTIFIED BY 'password';

Verleen vervolgens alle privileges aan de SuiteCRM database met het volgende commando:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON suitecrm.* TO 'suitecrm'@'localhost';

Spoel vervolgens de privileges door en verlaat de MariaDB shell met het volgende commando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Nadat je de MariaDB database en gebruiker hebt aangemaakt, kun je verder gaan met de volgende stap.

Installeer SuiteCRM

Download eerst de nieuwste versie van SuiteCRM met het wget commando:

wget https://suitecrm.com/files/147/SuiteCRM-7.12/578/SuiteCRM-7.12.1.zip

Pak vervolgens het gedownloade bestand uit met het volgende commando:

unzip SuiteCRM-7.12.1.zip

Verplaats vervolgens de uitgepakte map naar de Apache standaard hoofdmap:

mv SuiteCRM-7.12.1 /var/www/html/suitecrm

Verander vervolgens het eigendom en de toestemming van de SuiteCRM directory:

chown -R www-data:www-data /var/www/html/suitecrm
chmod -R 755 /var/www/html/suitecrm

Als je klaar bent, kun je verder gaan met de volgende stap.

Configureer Apache voor SuiteCRM

Vervolgens moet je Apache configureren om SuiteCRM op het internet te hosten. Maak daartoe een Apache virtual host configuratiebestand aan met het volgende commando:

nano /etc/apache2/sites-available/suitecrm.conf

Voeg de volgende regels toe:

<VirtualHost *:80>

 DocumentRoot /var/www/html/suitecrm
 ServerName suitecrm.example.com

 <Directory /var/www/html/suitecrm>
    Options FollowSymLinks
    AllowOverride All
 </Directory>

 ErrorLog /var/log/apache2/suitecrm-error.log
 CustomLog /var/log/apache2/suitecrm-access.log common

</VirtualHost>

Sla het bestand op en sluit het af, activeer dan het SuiteCRM virtuele host configuratiebestand met het volgende commando:

a2ensite suitecrm.conf

Herlaad vervolgens de Apache dienst om de configuratiewijzigingen toe te passen:

systemctl reload apache2

Om de status van de Apache dienst te controleren, voer je het volgende commando uit:

systemctl status apache2

Je krijgt de volgende uitvoer:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-11-19 16:36:48 UTC; 4s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 16290 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 16296 (apache2)
      Tasks: 6 (limit: 4679)
     Memory: 15.5M
        CPU: 99ms
     CGroup: /system.slice/apache2.service
             ??16296 /usr/sbin/apache2 -k start
             ??16297 /usr/sbin/apache2 -k start
             ??16298 /usr/sbin/apache2 -k start
             ??16299 /usr/sbin/apache2 -k start
             ??16300 /usr/sbin/apache2 -k start
             ??16301 /usr/sbin/apache2 -k start

Nov 19 16:36:48 debian11 systemd[1]: Starting The Apache HTTP Server...

Na het configureren van de Apache webserver kun je verder gaan met het openen van de SuiteCRM webinterface.

Toegang tot de SuiteCRM webinterface

Open nu je webbrowser en typ de URL http://suitecrm.example.com om de SuiteCRM web UI te openen. Je zou het volgende scherm moeten zien:

Licentie

Accepteer de licentieovereenkomst en klik op de Next knop. Je zou de volgende pagina moeten zien:

Systeemcontrole

Zorg ervoor dat alle vinkjes OK teruggeven, en klik dan op de Next knop om verder te gaan. Je zou de SuiteCRM configuratie pagina moeten zien:

Database en site configuratie

Demo datum

SMTP instellingen

Systeemtaal

Geef je Database gegevens op, Admin gebruikersgegevens, SMTP server specificatie, Branding gegevens, Site beveiligingsinstellingen, en klik op de Volgende knop. Je zou de volgende pagina moeten zien:

SuiteCRM config bestand

Klik op de Next knop. Je zou de SuiteCRM login pagina moeten zien:

SuiteCRM Login

Geef je admin gebruikersnaam en wachtwoord op en klik op de knop LOG IN. Je zou het SuiteCRM dashboard moeten zien op het volgende scherm:

Dashboard

Beveilig SuiteCRM met Let’s Encrypt SSL

Na het instellen van Apache is het aan te bevelen je website te beveiligen met het Let’s Encrypt SSL certificaat. Om dat te doen moet je de Certbot client op je systeem installeren. De Certbot is een eenvoudig te gebruiken client die een certificaat ophaalt bij Let’s Encrypt – een open certificaatautoriteit die gelanceerd is door de EFF, Mozilla, en anderen – en het naar een webserver stuurt. Met de Certbot Let’s Encrypt client kun je gemakkelijk het SSL certificaat voor je domein downloaden, installeren en vernieuwen.

Je kunt de Certbot installeren met het volgende commando:

apt-get install certbot python3-certbot-apache -y

Als de Certbot client met succes geïnstalleerd is, voer je het volgende commando uit om de Let’s Encrypt SSL voor je website te installeren:

certbot --apache -d suitecrm.example.com

Je wordt gevraagd je geldige e-mail op te geven en de servicevoorwaarden te accepteren zoals hieronder:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for suitecrm.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/suitecrm-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/suitecrm-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/suitecrm-le-ssl.conf

Kies vervolgens of je HTTP verkeer wel of niet naar HTTPS wilt omleiden, of stel Nginx in om al het verkeer naar beveiligde HTTPS toegang om te leiden, zoals in de volgende uitvoer:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Typ 2 en druk op Enter om het proces te starten. Als de installatie voltooid is, zou je de volgende uitvoer moeten krijgen:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/suitecrm.conf to ssl vhost in /etc/apache2/sites-available/suitecrm-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://suitecrm.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=suitecrm.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/suitecrm.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/suitecrm.example.com/privkey.pem
   Your cert will expire on 2022-02-21. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Conclusie

Gefeliciteerd! Je hebt SuiteCRM met succes geïnstalleerd met Apache en Let’s Encrypt SSL op Debian 11. Je kunt nu SuiteCRM verkennen op meer mogelijkheden. Voel je vrij me te vragen als je vragen hebt.