本教程适用于以下操作系统版本
- Debian 12(Bookworm)
- Debian 11(Bullseye)
- Debian 9(Stretch)
本页内容
- 前置条件
- 安装依赖项
- 配置 MariaDB 服务器
- 配置 PHP
- 下载并安装 SuiteCRM
- 为 Suite 配置 Apache2 虚拟主机
- 使用 Letsencrypt 的 SSL/TLS 保护 SuiteCRM
- 总结
SuiteCRM 是一个用 PHP 编写的免费开源 CRM(客户关系管理)软件。它帮助您组织和管理企业的营销、销售和客户服务部门。SuiteCRM 几乎适用于每个行业,例如制造业、公共部门、科技、金融、教育等。
在本指南中,我们将逐步引导您完成在 Debian 12 服务器上安装 SuiteCRM 的过程。您将在 Debian 机器上使用 LAMP Stack(Apache2、MariaDB 和 PHP)安装并运行 SuiteCRM。您还将使用 Letsencrypt 的 SSL/TLS 证书来保护 SuiteCRM。
前置条件
要继续本指南,需要满足以下要求:
- 一台 Debian 12 服务器。一个具有管理员权限的非 root 用户。一个指向服务器 IP 地址的域名。
安装依赖项
SuiteCRM 是一个用 PHP 编写的 CRM 软件,使用 MySQL/MariaDB 作为数据库。在本指南中,您将使用 LAMP Stack(Apache2、MariaDB 和 PHP)运行 SuiteCRM,现在您将安装 LAMP Stack 软件包以及额外的 PHP 扩展。
首先,通过以下 apt update 命令更新您的 Debian 软件包索引。
sudo apt update

现在使用以下命令安装 LAMP Stack(Apache2、MariaDB 和 PHP)软件包以及一些 PHP 扩展。
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
输入 y 以继续安装。

接下来,运行以下 systemctl 命令验证 apache2 服务。这将确保 apache2 服务已启用并正在运行。
sudo systemctl is-enabled apache2
sudo systemctl status apache2
输出 enabled 确认 apache2 已启用,输出 active (running) 确认 apache2 正在运行。

使用以下命令验证 mariadb 服务。
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
与 apache2 服务的输出类似,您应该看到 mariadb 服务已启用并正在运行。

最后,通过执行以下命令验证 PHP 版本以及一些已启用的扩展。
php -v
php -m
以下输出向您显示,已安装 PHP 8.2,并且启用了一些模块,例如 curl、exif、fileinfo 和 gd 。

配置 MariaDB 服务器
安装依赖项后,您将保护您的 MariaDB 服务器安装,并创建一个用于 SuiteCRM 的新数据库和用户。
执行以下 mariadb-secure-installation 命令来保护您的 MariaDB 服务器。
sudo mariadb-secure-installation
在此过程中,输入 Y 以确认配置,或输入 n 表示否并拒绝更改。
- 切换到 unix_socket 身份验证?输入 n 并按 ENTER。默认的 MariaDB root 用户已受到保护。您也可以选择输入 y 表示是来启用它。
- 更改 root 密码?输入 y 以确认并设置您的 MariaDB root 新密码。
- 删除匿名用户?输入 y 以确认。
- 禁止 root 远程登录?输入 y 以确认。如果您使用 MariaDB root 用户,将只允许本地连接。
- 删除测试数据库及其访问权限?输入 y 以确认并删除默认数据库 'test'。
- 最后,再次输入 y 以重新加载 MariaDB 服务器上的所有表权限并应用新更改。
既然 MariaDB 已受到保护,您将为 SuiteCRM 创建一个新数据库和用户。
通过以下 mariadb 客户端命令登录到 MariaDB 服务器。在提示时输入您的 MariaDB root 密码。
sudo mariadb -u root -p
接下来,运行以下查询,创建一个名为 suitecrmdb 的新数据库,以及用户 suitecrm,密码为 password 。务必将密码更改为您自己的密码。
CREATE DATABASE suitecrmdb;
CREATE USER 'suitecrm'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON suitecrmdb.* TO 'suitecrm'@'localhost';
FLUSH PRIVILEGES;

现在运行以下查询以验证用户 suitecrm 。
SHOW GRANTS FOR 'suitecrm'@'localhost';
在以下输出中,您应该看到用户 suitecrm 有权访问数据库 suitecrmdb 。

输入 quit 退出 MariaDB 服务器。
配置 PHP
既然 MariaDB 服务器已配置好,下一步是配置您的 PHP 安装。SuiteCRM 需要在 PHP 配置上进行一些更改,例如自定义 error_reporting、启用 OPCache 模块,以及自定义 upload_max_filesize 和 post_max_size。
使用以下 nano 编辑器命令打开默认的 PHP 配置 /etc/php/8.2/apache2/php.ini 和 /etc/php/8.2/cli/php.ini。
sudo nano /etc/php/8.2/apache2/php.ini
sudo nano /etc/php/8.2/cli/php.ini
使用以下行更改某些配置的默认参数。务必根据您的服务器时区调整 date.timezone,并根据服务器内存调整 memory_limit。
date.timezone = Europe/Amsterdam max_execution_time = 60 memory_limit = 256M upload_max_filesize = 25M post_max_size = 25M
按如下方式更改默认的 error_reporting 参数:
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE & ~E_WARNING
取消注释 session.save_path 参数,将默认会话路径配置为 /var/lib/php/sessions 。
session.save_path = "/var/lib/php/sessions"
现在启用 OPCache 扩展并按如下方式调整一些设置:
opcache.enable=1 ; The OPcache shared memory storage size. opcache.memory_consumption=256 ; The maximum number of keys (scripts) in the OPcache hash table. ; Only numbers between 200 and 100000 are allowed. opcache.max_accelerated_files=20000 ; When disabled, you must reset the OPcache manually or restart the ; webserver for changes to the filesystem to take effect. opcache.validate_timestamps=0
完成后保存并关闭文件。
现在运行以下 systemctl 命令重启 apache2 服务并应用您所做的更改。
sudo systemctl restart apache2
下载并安装 SuiteCRM
至此,LAMP Stack 已为 SuiteCRM 配置好。现在您将下载 SuiteCRM 源代码并通过命令行安装它。
创建一个新目录 /var/www/suitecrm,将其用作 SuiteCRM 的目标安装目录。
mkdir -p /var/www/suitecrm
进入 /var/www/suitecrm 目录,并使用以下 wget 命令下载 SuiteCRM 源代码。务必查看 SuiteCRM 下载页面以获取最新版本的源代码。目前,SuiteCRM 8.4 是最新版本。
cd /var/www/suitecrm
wget https://suitecrm.com/download/142/suite84/562972/suitecrm-8-4-0.zip
下载完成后,使用以下 unzip 命令解压 suitecrm-8-4-0.zip 文件。
unzip suitecrm-8-4-0.zip
然后运行以下命令,设置 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
最后,执行二进制文件 /var/www/suitecrm/bin/console,通过命令行安装 SuiteCRM。务必更改将用于您的 SuiteCRM 安装的数据库名称、用户、主机、目标域名、管理员用户和密码等详细信息。
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/"
安装完成后,以下输出将显示在您的终端上:

为 Suite 配置 Apache2 虚拟主机
在接下来的步骤中,您将创建一个新的 Apache2 虚拟主机配置,用于运行 SuiteCRM。在继续之前,请确保您有一个指向服务器 IP 地址的域名。
运行以下 a2enmod 命令以启用 SuiteCRM 所需的 Apache2 模块。
sudo a2enmod rewrite ssl header
然后,使用以下 nano 编辑器命令创建一个新的 Apache2 虚拟主机配置 /etc/apache2/sites-available/suitecrm.conf。
sudo nano /etc/apache2/sites-available/suitecrm.conf
插入以下配置,并确保将 ServerName 选项更改为您的域名。
<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>
完成后保存并关闭文件。
现在运行以下命令以激活虚拟主机文件 suitecrm.conf 并验证您的 Apache2 配置。
sudo a2ensite suitecrm.conf
sudo apachectl configtest
如果语法正确,您应获得 Syntax OK 的输出。

接下来,运行以下 systemctl 命令重启 apache2 服务并应用更改。
sudo systemctl restart apache2
最后,打开您的 Web 浏览器并访问您 SuiteCRM 安装的域名,例如 http://suitecrm.howtoforge.local /。如果一切顺利,您应看到 SuiteCRM 的登录页面。
使用 Letsencrypt 的 SSL/TLS 保护 SuiteCRM
配置好一切后,您现在将使用 Letsencrypt 的 SSL/TLS 证书来保护 SuiteCRM。
使用以下 apt install 命令安装 Certbot 和 Certbot Apache 插件。输入 y 以继续安装。
sudo apt install certbot python3-certbot-apache
现在执行以下 certbot 命令以生成 SSL/TLS 证书。务必更改以下命令中的域名和电子邮件地址。
sudo certbot --apache --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email
[email protected]
-d suitecrm.howtoforge.local
一旦过程完成,您的 SSL 证书将生成在 /etc/letsencrypt/live/suitecrm.howtoforge.local 目录中。此外,SuiteCRM 虚拟主机文件 suitecrm.conf 将自动配置为使用 HTTPS。
回到您的 Web 浏览器并访问您的 SuiteCRM 域名,您应被重定向到 SuiteCRM 登录页面以建立安全的 HTTPS 连接。输入您的管理员用户和密码,然后单击 Login 。

如果一切顺利,您应看到如下所示的 SuiteCRM 管理仪表板:

总结
总结一下,您现在已成功在 Debian 12 服务器上通过 LAMP Stack(Apache2、MariaDB 和 PHP)安装了 SuiteCRM。您还使用通过 Certbot 生成的 Letsencrypt SSL/TLS 保护了 SuiteCRM。现在您可以将 SuiteCRM 用作企业的主要 CRM(客户关系管理)应用程序,并且您可以从向 SuiteCRM 安装添加 SMTP 服务器开始。