如何在 Ubuntu 16.04 上使用 Nginx 安装 SuiteCRM如何在 Ubuntu 16.04 上使用 Nginx 安装 SuiteCRM如何在 Ubuntu 16.04 上使用 Nginx 安装 SuiteCRM如何在 Ubuntu 16.04 上使用 Nginx 安装 SuiteCRM
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 16.04 上使用 Nginx 安装 SuiteCRM

本教程适用于这些操作系统版本

  • Ubuntu 22.04(果酱水母)
  • Ubuntu 16.04(Xenial Xerus)

在此页

  1. 我们将做什么
  2. 先决条件
  3. 第 1 步 - 安装 Nginx Web 服务器
  4. 第 2 步 - 安装和配置 PHP-FPM
  5. 第 3 步 - 安装和配置 MariaDB
  6. 第 4 步 - 下载并配置 SuiteCRM
  7. 第 5 步 - SuiteCRM 网络安装程序
  8. 第 6 步 - 最后的步骤
  9. 参考资料

SuiteCRM是一款基于PHP的开源CRM(客户关系管理)软件。它是流行的 CRM 软件 SugarCRM 的一个分支,在 SugarCRM 决定停止开发免费版本后变得更加流行。 SuiteCRM 被提名为 BOSSIE 2015 和 2016 年度最佳开源 CRM 软件。

在本教程中,我将逐步向您展示如何安装开源 CRM SuiteCRM。软件将运行在带有MariaDB数据库的Nginx Web服务器下,使用Ubuntu 16.04系统。

我们将要做什么

  1. 安装 Nginx Web 服务器
  2. 安装和配置 PHP-FPM
  3. 安装和配置 MariaDB
  4. 下载并配置 SuiteCRM
  5. SuiteCRM 网络安装程序
  6. 最后的步骤

先决条件

  • Ubuntu 16.04 服务器
  • 根权限

第 1 步 - 安装 Nginx Web 服务器

SuiteCRM 是一个基于网络的软件,它需要一个网络服务器。我们可以为这个软件使用 Apache 或 Nginx。在本教程中,我们将使用 Nginx Web 服务器而不是 Apache Web 服务器。

连接到您的 Ubuntu 服务器并更新存储库。

ssh 
sudo apt update

现在按以下方式使用 apt 命令安装 Nginx Web 服务器。

apt install -y nginx

安装后,启动 nginx 并使其在每次系统启动时自动启动。

systemctl start nginx
systemctl enable nginx

Nginx Web服务器已经安装好,运行在默认的HTTP端口80下,使用netstat命令查看,也可以使用curl查看HTTP状态码。

netstat -plntu
curl -I localhost

第 2 步 - 安装和配置 PHP-FPM

SuiteCRM 与多个 PHP 版本兼容。在本教程中,我们将使用最新版本的 PHP 7.0 进行 SuiteCRM 安装。

使用以下 apt 命令安装 PHP 和 PHP-FPM 7 以及其他所需的扩展。

apt install -y php7.0-fpm php7.0-mcrypt php7.0-imap php7.0-curl php7.0-cli php7.0-mysql php7.0-gd php7.0-xsl php7.0-json php7.0-intl php-pear php7.0-dev php7.0-common php7.0-mbstring php7.0-zip php-soap libcurl3 curl

安装完成后,进入PHP配置目录,编辑cli和fpm配置的php.ini文件。

cd /etc/php/7.0/

编辑 php.ini 文件。

vim cli/php.ini
vim fpm/php.ini

更改最大上传文件大小值。 SuiteCRM 至少需要 6MB,但最好设置 100MB 作为值。

upload_max_filesize = 100M

取消注释 CGI 行(如下所示)并将值更改为 0。

cgi.fix_pathinfo=0

对于会话路径配置,取消注释下面的行。

session.save_path = "/var/lib/php/sessions"

就是这样。保存这些更改并退出。

现在,我们需要为 PHP 会话文件创建一个新目录,并将目录的所有者更改为 www-data 用户和组。

mkdir -p /var/lib/php/sessions
chown -R www-data:www-data /var/lib/php/sessions

PHP 和 PHP-FPM 配置已经完成。现在启动该服务并使其在每次系统启动时启动。

systemctl start php7.0-fpm
systemctl enable php7.0-fpm

默认情况下,在 Ubuntu 系统上,PHP-FPM 将运行在 sock 文件下,而不是使用系统端口。使用下面的 netstat 命令检查它。

netstat -pl | grep php

并确保您看到的结果类似于以下屏幕截图中显示的结果。

第 3 步 - 安装和配置 MariaDB

在此步骤中,我们将安装 MariaDB 并配置 root 密码。然后为 SuiteCRM 安装配置一个新的数据库。

使用下面的 apt 命令安装 MariaDB。

apt install -y mariadb-server mariadb-client

安装后,启动该服务并使其在每次系统启动时启动。

systemctl start mysql
systemctl enable mysql

接下来,使用 mysql_secure_installation 命令配置 MariaDB root 密码,如下所示。

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 root 密码已配置。

现在我们将为 SuiteCRM 安装创建一个新的数据库和用户。创建一个名为 suitecrm_db 的数据库,以及一个密码为 hakase-labs123 的新用户 crmadmin。连接到 mysql shell 并运行以下 mysql 查询。

mysql -u root -p
Type your password:

CREATE DATABASE suitecrm_db;
CREATE USER 'crmadmin'@'localhost' IDENTIFIED BY 'hakase-labs123';
GRANT ALL PRIVILEGES ON suitecrm_db.* TO 'crmadmin'@'localhost';
FLUSH PRIVILEGES;

用于 SuiteCRM 安装的 MariaDB 数据库配置已完成。

第 4 步 - 下载并配置 SuiteCRM

在此步骤中,我们将执行一些任务,为安装 SuiteCRM 准备系统。我们将下载SuiteCRM源码,配置UFW防火墙,生成Letsencrypt证书,为SuiteCRM配置nginx虚拟主机。

- 下载 SuiteCRM 源代码

suiteCRM 源代码可在 Github 上获得。确保系统上安装了 git 命令。或者,如果您没有 git 包,请使用下面的 apt 命令安装它。

apt install -y git

现在转到 /opt 目录并使用以下 git clone 命令克隆存储库。

cd /opt/
git clone https://github.com/salesagility/SuiteCRM.git suitecrm

转到 suitecrm 目录并创建一个新的缓存目录。然后更改一些文件和目录的权限,最后,我们需要将suitecrm目录的所有权权限更改为www-data用户和组。

cd /opt/suitecrm
mkdir -p /opt/suitecrm/cache
chmod -R 775 cache custom modules themes data upload config_override.php
chown www-data:www-data -R /opt/suitecrm

SuiteCRM 源代码已下载。

- 配置 UFW 防火墙

在 Ubuntu 上,我们将使用 ufw 防火墙。使用 ufw 命令打开新端口 HTTP、HTTPS 和 SSH,如下所示。

ufw allow ssh
ufw allow http
ufw allow https

现在启动防火墙并使用 ufw enable 命令使其每次在系统启动时启动。

ufw enable

键入 y 并按 Enter 以启用防火墙。

如果要检查防火墙状态,请使用 ufw status 命令。

ufw status

您将获得防火墙状态,包括您添加的端口。

- 生成 Letsencrypt 证书

在本教程中,SuiteCRM 将使用 HTTPS 在客户端和服务器之间建立更安全的连接。为此,我们将使用 Letsencrypt 提供的免费 SSL 证书。

在生成证书文件之前,我们需要在系统上安装letsencrypt客户端代理。它在 Ubuntu 存储库中可用,因此请使用下面的 apt 命令安装它。

apt install -y letsencrypt

安装letsencrypt后,我们需要在生成证书文件之前停止nginx服务。

systemctl stop nginx

现在使用下面的 letsencrypt 命令生成 SSL 证书文件。

letsencrypt certonly --standalone -d suitecrm.hakase-labs.co

注意:--standalone选项会在系统上创建一个临时的web服务器,所以我们需要在生成证书文件之前停止Nginx web服务器。

系统会询问您用于更新通知的电子邮件地址。键入您的电子邮件地址,然后单击“确定”。

对于 Letsencrypt 协议,选择 Agree 并按 Enter。

/etc/letsencrypt/live/domain.com 目录中生成了新的 Letsencrypt SSL。

- 为 SuiteCRM 配置 Nginx 虚拟主机

进入 Nginx 配置目录,在 sites-available 目录下新建一个虚拟主机文件 suitecrm。

cd /etc/nginx
vim sites-available/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 HIGH:!aNULL:!MD5;

    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 /var/www/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:/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }

}

保存并退出。

现在激活虚拟主机,测试配置,确保没有错误。然后重新启动网络服务器。

ln -s /etc/nginx/sites-available/suitecrm /etc/nginx/sites-enabled/

nginx -t
systemctl restart nginx

SuiteCRM 安装的系统配置已经完成。

第 5 步 - SuiteCRM Web 安装程序

打开您的网络浏览器并在地址栏中输入 SuiteCRM URL,我的是 suitecrm.hakase-labs.co

您将被重定向到 HTTPS 连接和 install.php 页面。

在出现的页面上,您将看到 GNU AFFERO 许可证 - 选中我接受并单击下一步。

现在您将获得有关 SuiteCRM 安装系统环境的页面。

确保所有结果都正常,如下图所示。

单击下一步继续。

接下来是数据库和管理员用户配置。输入您的数据库信息,dbname suitecrm_db,dbuser crmadmin 和密码 hakase-labs123。并键入您的管理员用户、密码和电子邮件,如下所示。

滚动到底部并单击下一步以继续安装 SuiteCRM。

稍等片刻安装,完成后,您将被重定向到登录页面,如下所示。

输入您的管理员用户和密码,然后单击“登录”按钮。

现在您将能够看到默认的 SuiteCRM 仪表板。

SuiteCRM 已在 Ubuntu 16.04 系统上安装了 Nginx Web 服务器。

第 6 步 - 最后的步骤

对于最后一步,我们将在 www-data 用户下创建一个新的 Cron 作业。

运行以下命令以添加新的 Cron 作业。

sudo crontab -e -u www-data

在下面粘贴 Cron 脚本配置。

*    *    *    *    *     cd /opt/suitecrm; php -f cron.php > /dev/null 2>&1

保存并退出。然后重新启动 Cron 服务。

systemctl restart cron

SuiteCRM 在 Ubuntu 16.04 上的安装已经完成。

参考

  • https://suitecrm.com/wiki/

©2015-2025 艾丽卡 support@alaica.com