如何使用Nginx在Ubuntu 18.04/CentOS 7上安装SuiteCRM

时间:2020-02-23 14:30:54  来源:igfitidea点击:

在本指南中,我将指导我们完成在Ubuntu 18.04/CentOS 7上安装SuiteCRM的过程。SuiteCRM是由SalesAgility开发和维护的屡获殊荣的企业级开源CRM系统。它是流行的开源SugarCRM社区版的分支。它捆绑了SugarCRM CE中提供的其他开源模块和标准功能。

SugarCRM正在积极开发中,并且在核心产品中添加了许多常规功能和改进,使其成为最佳的开源CRM产品。它与SugarCRM,Salesforce和Microsoft等专有CRM供应商竞争。PHP Nginx Web服务器MySQL/MariaDB数据库服务器具有sudo特权的用户

在Ubuntu 18.04/CentOS 7上安装SuiteCRM

请按照以下步骤安装和开始使用SuiteCRM来管理业务流程,客户数据,对业务信息的访问,客户交互以及自动进行销售等

第一步是确保我们具有所需的PHP和模块。

在Ubuntu 18.04/CentOS 7上安装PHP

Ubuntu 18.04的存储库中有PHP 7.2. 通过在终端上运行以下命令来安装它:

在Ubuntu 18.04上安装PHP

对于CentOS 7系统。很好地从Remi rpm存储库安装php 7.2:

sudo apt-get -y install wget php php-{pear,cgi,common,curl,mbstring,gd,mysql,gettext,bcmath,imap,json,xml,fpm}

在CentOS 7上安装PHP

禁用remi-php54并启用remi-php72存储库:

sudo yum install epel-release yum-utils wget
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

然后安装php

sudo yum-config-manager --disable remi-php54
sudo yum-config-manager --enable remi-php72

要确认已安装的php版本,请使用命令php -v

sudo yum -y install wget php php-{pear,cgi,common,curl,mbstring,gd,mysqlnd,gettext,bcmath,imap,json,xml,fpm}

Increate php超时和最大文件上传大小:

# php -v
PHP 7.2.8 (cli) (built: May 17 2016 09:50:46) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2016 Zend Technologies

对于此设置,我们将使用Nginx作为SuiteCRM的Web服务器。使用yum或者apt软件包管理器将其安装在CentOS 7/Ubuntu 18.04服务器上。

$sudo vim /etc/php.ini
upload_max_filesize = 20M
max_execution_time = 120

安装MariaDB和Nginx Web服务器

在数据库站点上,选择的服务器是MariaDB。使用以下指南进行安装:

$sudo apt-get install nginx # Ubuntu 18.04
$sudo yum install nginx # CentOS 7

在Ubuntu 18.04和CentOS 7上安装MariaDB 10.3

安装数据库服务器后,我们需要为SuiteCRM创建一个"数据库"。

检查SuiteCRM发行页面以获取最新版本。在撰写本文时,最新版本是v7.11.8.

create database suitecrm;
grant all on suitecrm.* to theitroad@localhost IDENTIFIED by "StrongPassword";
flush privileges;
quit

在Ubuntu 18.04/CentOS 7上安装SuiteCRM

然后,我们需要创建一个目录来托管SuiteCRM Web数据:

export VER="7.11.8"
wget https://github.com/salesagility/SuiteCRM/archive/v${VER}.tar.gz
tar xvf v${VER}.tar.gz
rm v${VER}.tar.gz

将/srv/suitecrm目录的所有权更改为Web用户:

sudo mkdir /srv/suitecrm
sudo rsync -avv SuiteCRM-${VER}/* /srv/suitecrm

对于CentOS:

对于Ubuntu:

chown -R nginx:nginx /srv/suitecrm/
cd /srv/suitecrm/
chmod -R 775 *

完成后,启动nginx和php-fpm服务:

chown -R www-data:www-data /srv/suitecrm/
cd /srv/suitecrm/
chmod -R 775 *

配置Nginx

$sudo vim /etc/nginx/conf.d/suitecrm.conf 
server {
    server_name crm.example.com;
    client_max_body_size 50M;
    root /srv/suitecrm;
    
    location/{
       try_files $uri /index.php;
   }
location ~ \.php${
    try_files $uri =404;
    #fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    fastcgi_pass localhost:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
error_log /var/log/nginx/suitecrm_error.log;
access_log /var/log/nginx/suitecrm_access.log;
location ~ /\.ht {
    deny all;
  }
}

打开我们喜欢的浏览器,然后转到" http://crm.example.com"

sudo systemctl start nginx php-fpm
sudo systemctl enable nginx php-fpm

访问SuiteCRM Web界面

勾选我接受以接受许可协议条款。

单击下一步继续

确保所有检查均返回"确定",然后单击"下一步"继续。

在下一页上提供:

配置数据库:(选择使用现有用户选项)

配置识别管理用户

Database Name: suitcrm_db
Host Name: localhost
User: suitecrm_user
Password: db-user-password

SuiteCRM实例的URL:在Nginx上配置的URL

SuiteCRM Application Admin Name: Admin
SuiteCRM Admin User Password: Admin-user-password
Re-enter SuiteCRM Admin User Password:

安装完成后,我们将获得一个登录页面。

完成后,为网络用户设置cron以运行SuiteCRM Scheduler,

sudo crontab -e -u nginx

将以下行添加到crontab文件中:

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