如何在CentOS 8 Linux上安装SuiteCRM

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

在本指南中,很好地讨论了在CentOS 8 Linux系统上SuiteCRM的安装。 SuiteCRM是由SalesAgility团队开发和维护的开源企业级CRM应用程序。该产品最初是SugarCRM社区版的分支。

SuiteCRM将管理业务流程,客户数据,对业务信息的访问,客户交互以及自动销售,以获得更好的客户和服务交付体验。

SugarCRM正在积极开发中,并且在核心产品中添加了许多常规功能和改进,使其成为最佳的开源CRM产品。它与专有的CRM供应商竞争,例如SugarCRM,Salesforce和Microsoft。

安装SuiteCRM CentOS 8要求

PHPNginx Web服务器MySQL/MariaDB数据库服务器具有sudo特权的用户

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

更新系统

我建议我们始终在更新的系统上开始工作:

sudo dnf -y update

安装PHP

第一步是确保服务器上已安装PHP和所需的扩展名。

sudo dnf -y install yum-utils
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf module reset php
sudo dnf module install php:remi-7.3
sudo yum -y install wget php php-{pear,cgi,common,curl,mbstring,gd,mysqlnd,gettext,bcmath,json,xml,fpm,intl,zip,imap}

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

$php -v
PHP 7.3.13 (cli) (built: Dec 17 2019 10:29:15) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.3.13, Copyright (c) 1998-2016 Zend Technologies
     with Zend OPcache v7.3.13, Copyright (c) 1999-2016, by Zend Technologies

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

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

设置正确的用户以运行php-fpm服务:

$sudo vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx
listen.mode = 0660

启动并启用php-fpm服务:

sudo systemctl enable --now php-fpm

确认服务已启动,没有任何错误:

$systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-01-04 21:07:19 EAT; 39s ago
 Main PID: 1116 (php-fpm)
   Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
    Tasks: 6 (limit: 11512)
   Memory: 21.0M
   CGroup: /system.slice/php-fpm.service
           ├─1116 php-fpm: master process (/etc/php-fpm.conf)
           ├─1117 php-fpm: pool www
           ├─1118 php-fpm: pool www
           ├─1119 php-fpm: pool www
           ├─1120 php-fpm: pool www
           └─1121 php-fpm: pool www

Jan 04 21:07:19 centos8.novalocal systemd[1]: Starting The PHP FastCGI Process Manager...
Jan 04 21:07:19 centos8.novalocal systemd[1]: Started The PHP FastCGI Process Manager.

安装MariaDB和Nginx Web服务器

对于此设置,我们将使用Nginx作为SuiteCRM的Web服务器。

sudo dnf -y install nginx

有关数据库安装的信息,请参阅指南:

如何在CentOS 8上安装MariaDB数据库服务器

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

$mysql -u root -p
CREATE DATABASE suitecrm;
GRANT ALL ON suitecrm.* TO theitroad@localhost IDENTIFIED by "StrongDBPassword";
FLUSH PRIVILEGES;
QUIT

在CentOS 8上安装SuiteCRM

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

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

安装作曲家:

wget https://getcomposer.org/installer -O composer-installer.php
sudo php composer-installer.php --filename=composer --install-dir=/usr/local/bin 
composer --version

运行composer install:

cd SuiteCRM-${VER}
composer install

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

cd ..
sudo mkdir /var/www/html/suitecrm
sudo rsync -avv SuiteCRM-${VER}//var/www/html/suitecrm

将/var/www/html/sduitecrm irectory的所有权更改为Web用户:

sudo chown -R nginx:nginx /var/www/html/suitecrm
sudo chmod -R 766 /var/www/html/suitecrm
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/suitecrm(/.*)?"
sudo restorecon -Rv /var/www/html/suitecrm/

配置Nginx

$sudo vim /etc/nginx/conf.d/suitecrm.conf 
server {
    server_name crm.example.com;
    client_max_body_size 20M;
    root /var/www/html/suitecrm;
    
    location/{
       try_files $uri /index.php;
   }
location ~ \.php${
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php-fpm/www.sock;
    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;
  }
}

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

sudo systemctl restart nginx php-fpm
sudo systemctl enable nginx php-fpm

在防火墙中允许http端口:

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

访问SuiteCRM Web界面

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

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

单击下一步继续

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

在下一页上提供:

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

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

配置识别管理用户

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

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

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

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

sudo crontab -e -u nginx

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

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