SuiteCRM是一个基于PHP的开源CRM(客户关系管理)软件。它是流行的CRM软件SugarCRM的分支,在后者背后的团队决定停止开发免费版本后,它变得更加流行。SuiteCRM在2015年和2016年的BOSSIE上被提名为最佳开源CRM软件。
在本教程中,我们将向您展示如何使用Nginx作为Web服务器安装和配置SuiteCRM。CRM软件将在启用HTTPS的LEMP堆栈下运行。为此,我们将使用CentOS 7作为主要操作系统。
步骤1-安装Nginx Web服务器
我们必须做的第一步是连接服务器并安装SuiteCRM的基本堆栈。使用以下命令通过SSH连接到服务器:
ssh [email protected]
以root用户身份连接后,我们需要在系统上安装第三方存储库。具体来说,在安装Nginx之前,我们需要在系统上安装EPEL(企业Linux的额外包)存储库。
使用yum命令按以下方式安装EPEL存储库:
yum -y install epel-release
现在我们可以在系统上安装Nginx web服务器了。
yum -y install nginx
如果安装完成,请启动服务,并使用systemctl命令使其在启动时自动运行,如下所示。
systemctl start nginx
systemctl enable nginx
Nginx web服务器现在已安装,默认情况下,它在端口80上运行。使用netstat或curl命令进行检查。
netstat -plntu
curl -I localhost
确保端口80处于“LISTEN”状态,并且curl命令在其输出中给出200个HTTP状态代码。
![图片[1]_在CentOS 7上使用Nginx安装SuiteCRM_马特资源网](http://www.iamlz.com/wp-content/uploads/2025/04/1744094780866.png)
步骤2-安装和配置PHP-FPM
在此步骤中,我们将在CentOS 7服务器上安装和配置PHP-FPM版本7。默认情况下,centOS不为新的PHP版本7提供存储库。因此,我们需要为PHP-FPM 7安装添加一个不同的存储库。
使用rpm命令将新的PHP 7存储库“webstatic”添加到系统中。
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
现在使用yum命令安装PHP7包和扩展,如下所示。
sudo yum install -y php71w-fpm php71w-cli php71w-common php71w-imap php71w-gd php71w-mbstring php71w-mcrypt php71w-mysql php71w-xml
如果安装完成,请使用vim编辑默认的“php.ini”配置文件。
vim /etc/php.ini
将SuiteCRM安装的最大上传文件大小更改为100MB。SuiteCRM至少需要6MB以上。
upload_max_filesize = 100M
取消对以下CGI行的注释,并将值更改为0。
cgi.fix_pathinfo=0
对于会话路径配置,取消注释该行并将路径更改为“/var/lib/session”,如下所示。
session.save_path = "/var/lib/php/session"
就是这样。保存更改并退出vim。
现在为会话路径创建一个新目录,并将目录的所有权权限更改为“nginx”用户和组。
mkdir -p /var/lib/php/session
chown -R nginx:nginx /var/lib/php/session
接下来,我们需要编辑php-fpm配置。为此,转到“/etc/php-fpm.d”目录并编辑配置文件www.conf。
cd /etc/php-fpm.d/
vim www.conf
现在将用户和组行更改为“nginx”。
user = nginx
group = nginx
PHP-FPM将在unix套接字文件下运行,而不是使用系统端口。
更改“听”行:
listen = /var/run/php-fpm/php-fpm.sock
设置Unix套接字文件的权限和套接字文件的所有权,如下所示。
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
就是这样。保存更改并退出编辑器。
现在启动PHP-FPM服务,并将其添加到启动时自动启动。
systemctl start php-fpm
systemctl enable php-fpm
至此,PHP-FPM被安装并运行套接字文件。
您可以使用netstat命令进行检查:
netstat -pl | grep php
确保您看到php-fpm.sock文件。
![图片[2]_在CentOS 7上使用Nginx安装SuiteCRM_马特资源网](http://www.iamlz.com/wp-content/uploads/2025/04/1744095039154.png)
步骤3-安装和配置MariaDB
在这一步中,我们将安装MariaDB,然后启动并使其能够在每次系统启动时启动。最后,我们将为SuiteCRM安装创建新的数据库和用户。
使用以下yum命令从CentOS存储库安装mariadb。
yum install -y mariadb mariadb-server
启动MariaDB服务,并使用以下命令启用它以启动启动时间。
systemctl start mariadb
systemctl enable mariadb
MariaDB现已安装并运行。现在,我们需要使用“mysql_secure_installation”命令配置根密码。
mysql_secure_installation
系统会询问您的配置,键入“Y”并按“Enter”。
Set root password? [Y/n] Y
New password:
Re-enter new password:
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
因此,MariaDB根密码已配置。
接下来,我们需要为SuiteCRM安装创建一个新数据库和一个新用户。为此,请使用用户“root”和密码登录MySQL shell。
mysql -u root -p
创建一个名为“suitecrm.db”的新数据库和一个密码为“hakase-labs123”的新用户“crmadmin”。所有这些都可以使用下面的mysql查询来完成。
CREATE DATABASE suitecrm_db;
CREATE USER 'crmadmin'@'localhost' IDENTIFIED BY 'hakase-labs123';
GRANT ALL PRIVILEGES ON suitecrm_db.* TO 'crmadmin'@'localhost';
FLUSH PRIVILEGES;
因此,SuiteCRM安装的数据库配置已完成。
![图片[3]_在CentOS 7上使用Nginx安装SuiteCRM_马特资源网](http://www.iamlz.com/wp-content/uploads/2025/04/1744095168677.png)
步骤4-下载并配置SuiteCRM
在此步骤中,我们将执行一些SuiteCRM安装任务。我们将下载SuiteCRM源代码,配置防火墙,生成新的SSL Letsencrypt,并为SuiteCRM配置nginx虚拟主机。那么,让我们开始吧。
下载SuiteCRM
如果还没有,请使用下面的yum命令在您的系统上安装git。
yum -y install git
现在转到’/opt’目录,使用git命令下载SuiteCRM代码,如下所示。
cd /opt/
git clone https://github.com/salesagility/SuiteCRM.git suitecrm
![图片[4]_在CentOS 7上使用Nginx安装SuiteCRM_马特资源网](http://www.iamlz.com/wp-content/uploads/2025/04/1744095218777.png)
之后,创建一个缓存目录,更改suitecrm目录中某些文件和目录的权限,然后将所有suitecrm代码的所有者更改为“nginx”用户和组。
cd /opt/suitecrm
mkdir -p /opt/suitecrm/cache
chmod -R 775 cache custom modules themes data upload config_override.php
chown nginx:nginx -R /opt/suitecrm
因此,suiteCRM代码已下载到“/opt/suiteCRM/”目录下的服务器上。
![图片[5]_在CentOS 7上使用Nginx安装SuiteCRM_马特资源网](http://www.iamlz.com/wp-content/uploads/2025/04/1744095247867.png)
配置防火墙
如果您的服务器上没有运行防火墙,请使用以下命令安装它。
yum -y install firewalld
启动服务并使其在启动时运行。
systemctl start firewalld
systemctl enable firewalld
接下来,我们需要打开新的端口HTTP和HTTPS。它用于SuiteCRM访问。为此运行以下防火墙cmd命令。
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
现在使用以下命令重新加载防火墙规则。
firewall-cmd --reload
![图片[6]_在CentOS 7上使用Nginx安装SuiteCRM_马特资源网](http://www.iamlz.com/wp-content/uploads/2025/04/1744095312833.png)
现在,防火墙中添加了新的HTTP和HTTPS端口。如果要查看详细配置,请运行以下命令。
firewall-cmd --list-all
![图片[7]_在CentOS 7上使用Nginx安装SuiteCRM_马特资源网](http://www.iamlz.com/wp-content/uploads/2025/04/1744095339182.png)
生成新的SSL Letsencrypt
在本教程中,我们将使用SSL访问SuiteCRM。为此,我们将使用letsencrypt的免费SSL证书。
要生成新的SSL letsencrypt证书,我们需要首先将letsencryct命令工具“certbot”安装到我们的系统中。它可以在CentOS存储库中找到。使用以下yum命令安装certbot。
yum -y install certbot
certbot安装完成后,为suiteCRM域名“suiteCRM.hakase-labs.co”生成SSL证书文件。
运行以下命令以生成SSL证书文件。
certbot certonly --standalone -d suitecrm.hakase-labs.co
系统将询问您续订通知的电子邮件地址-键入您的电子邮件并按Enter键继续。
对于Letsencrypt TOS,键入“A”表示同意,然后再次按Enter键。对于共享电子邮件地址查询,键入“N”并按Enter键。
![图片[8]_在CentOS 7上使用Nginx安装SuiteCRM_马特资源网](http://www.iamlz.com/wp-content/uploads/2025/04/1744095390784.png)
证书生成完成后,您将得到如下结果。
![图片[9]_在CentOS 7上使用Nginx安装SuiteCRM_马特资源网](http://www.iamlz.com/wp-content/uploads/2025/04/1744095404362.png)
在“/etc/letsencrypt/live/domain.com”目录中生成新的证书文件。
配置SuiteCRM Nginx虚拟主机
转到Nginx配置目录“/etc/Nginx”,并使用Vim编辑器在conf.d目录中创建一个新的suitecrm.conf文件。
cd /etc/nginx/
vim conf.d/suitecrm.conf
在那里,将SuiteCRM Nginx虚拟主机粘贴到下面。
# Server Config - hakase-labs
server {
listen 80;
server_name suitecrm.hakase-labs.co;
# Automatically redirect to HTTPS
return 301 https://$host$request_uri;
}
# Nginx SSL for SuiteCRM
server {
server_name suitecrm.hakase-labs.co;
# Enable http2
listen 443 http2 ssl;
# SSL Config
ssl_certificate /etc/letsencrypt/live/suitecrm.hakase-labs.co/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/suitecrm.hakase-labs.co/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
client_max_body_size 50M;
index index.php index.html index.htm;
root /opt/suitecrm;
location / {
root /opt/suitecrm;
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
error_log /var/log/nginx/suitecrm.irsyadf.me.error.log;
location = /50x.html {
root /usr/share/nginx/html;
}
## Images and static content is treated different
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|xml|svg|wgoff2)$ {
access_log off;
expires max;
root /opt/suitecrm;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
就是这样。保存更改并退出Vim。
现在测试nginx配置,确保没有错误。完成后,重新启动服务。
nginx -t
systemctl restart nginx
至此,SuiteCRM安装的nginx配置已完成。
![图片[10]_在CentOS 7上使用Nginx安装SuiteCRM_马特资源网](http://www.iamlz.com/wp-content/uploads/2025/04/1744095479087.png)
步骤5-SuiteCRM Web安装程序
打开Web浏览器并访问SuiteCRM域名:“SuiteCRM.hakase-labs.co”。
您将被重定向到HTTPS连接install.php,您将获得有关GNU AFFERO许可证的页面。选中“我接受”框,然后单击“下一步”。
![图片[11]_在CentOS 7上使用Nginx安装SuiteCRM_马特资源网](http://www.iamlz.com/wp-content/uploads/2025/04/1744095499683.png)
在系统环境页面上,确保所有结果都是“OK”。
![图片[12]_在CentOS 7上使用Nginx安装SuiteCRM_马特资源网](http://www.iamlz.com/wp-content/uploads/2025/04/1744095513908.png)
然后单击“下一步”继续。
接下来是管理和数据库配置。键入数据库信息,如dbname、dbuser和dbpassword。对于管理员配置,请键入您的用户名、电子邮件和密码。
![图片[13]_在CentOS 7上使用Nginx安装SuiteCRM_马特资源网](http://www.iamlz.com/wp-content/uploads/2025/04/1744095531003.png)
滚动到底部,然后单击“下一步”继续安装SuiteCRM。
等待片刻,安装完成后,您将被重定向到登录页面,如下所示。
![图片[14]_在CentOS 7上使用Nginx安装SuiteCRM_马特资源网](http://www.iamlz.com/wp-content/uploads/2025/04/1744095548829.png)
在此页面上,键入管理员用户和密码,然后按“登录”按钮。
您将获得如下图所示的SuiteCRM仪表板。
![图片[15]_在CentOS 7上使用Nginx安装SuiteCRM_马特资源网](http://www.iamlz.com/wp-content/uploads/2025/04/1744095566466.png)
因此,SuiteCRM已安装。
第6步-最终配置
在最后一步中,我们需要向cronjob添加配置。
基本上,我们需要创建新的cron作为nginx用户和组。
sudo crontab -e -u nginx
并粘贴以下配置。
* * * * * cd /opt/suitecrm; php -f cron.php > /dev/null 2>&1
保存并退出。
就是这样。CentOS 7上Nginx web服务器的SuiteCRM安装已经完成。
暂无评论内容