如何在Debian 9上安装OroCRM

OroCRM是一个基于Symfony2框架,用PHP编程语言编写的灵活的开源客户关系管理(CRM)平台,OroCRM可供多渠道电子商务营销团队使用,它能够管理客户和联系信息并跟踪营销。 OroCRM还可以轻松地与流行的电子商务平台(如Magento,MailChimp或Zendesk)集成,OroCRM通常部署在Linux下的Apache / Nginx Web服务器,PHP和MySQL / MariaDB数据库下,也称为LAMP或LEMP堆栈。

本教程向您展示如何在Debian 9上安装和配置最新版本的OroCRM。

要求

  • 在虚拟专用服务器或裸机上最少安装Debian 9服务器。
  • 服务器应至少具有2GB的RAM。
  • 服务器上的根访问。
  • 服务器应具有手动配置或使用DHCP的静态IP地址。
  • 指向服务器的域名或子域。
  • 邮件服务器或对公用邮件服务器服务的访问,例如Gmail,Yahoo!,Outlook。

准备服务器

在第一步中,使用root帐户或具有root用户权限的帐户登录到服务器控制台。

配置主机名

通过执行以下命令来配置计算机的主机名:应使用您自己的域名替换本示例中使用的主机名变量(www.mycrm.com)。

hostnamectl设置主机名www.mycrm.com

更改计算机名称后,请发出以下命令来验证计算机主机名。请注意,计算机主机名目前处于暂时状态,并且不是永久应用,将在重新启动计算机后应用。

主机名–shostname –f

安装Debian更新

在重启机器之前,请确保Debian系统是最新的,具有最新的软件更新,安全补丁和新内核,请运行以下命令以安装更新。

apt更新apt升级

更新过程完成后,您需要通过执行以下命令来重启Debian服务器,以应用内核更新和主机名更改。

systemctl重新启动

安装LAMP堆栈

在接下来的步骤中,我们将在Debian 9中安装LAMP软件包。OroCrm平台主要是用PHP服务器端编程语言编写的,因此我们将必须安装PHP解释器和Apache HTTP服务器。该命令:

易于安装apache2 libapache2-mod-php7.0 php7.0 php7.0-gd php7.0-opcache php7.0-json php7.0-mbstring php7.0-xml php7.0-mcrypt php7.0-cli php7。 0卷php7.0-zip php7.0-intl php7.0-soap php7.0-tidyAdvertisement

如果要检查所有已安装的PHP模块是否处于活动状态,请执行以下命令。

php –m

为了存储不同的配置,例如用户,会话,联系人和其他数据,OroCRM需要一个关系数据库作为后端。在本指南中,我们将OroCRM plication与MariaDB数据库一起部署。为了安装MariaDB和PHP模块用于访问MariaDB数据库,在服务器控制台中执行以下命令。

apt安装mariadb-server php7.0-mysql mariadb-client

如果您无法使用公共邮件服务器连接OroCRM,则应通过执行以下命令在系统上安装Postfix MTA服务器。

apt安装后缀

下一步,通过发出以下命令,确保在系统中安装Node.js javascript引擎,OroCRM需要Node.js。

apt-get安装nodejs

在这一步中,我们将调整一些PHP设置:首先,备份php.ini文件。

cp /etc/php/7.0/apache2/php.ini {,.backup}

然后打开 /etc/php/7.0/apache2/php.ini 使用文本编辑器,如下所述更改行,同时,首先,备份PHP配置文件。

纳米/etc/php/7.0/apache2/php.ini

搜索,编辑和更改以下变量 php.ini 文件:

file_uploads = On
default_charset = UTF-8
memory_limit = 512M
date.timezone = Europe/London

要支持大文件附件,您应该搜索并增加 upload_max_file_sizepost_max_filesize 根据您自己的要求更改变量值。您还应确保 日期。时区 变量配置为与您的服务器物理位置相匹配。可以通过以下链接查阅PHP文档提供的时区列表来找到PHP时区列表。 http://php.net/manual/en/timezones.php

保存php.ini文件。

接下来,启用PHP 7的OPCache插件,以提高OroCRM的加载速度。在文件底部的以下位置添加或更改以下行: [opcache] 声明,如下所示:

纳米/etc/php/7.0/apache2/conf.d/10-opcache.ini

[opcache]
opcache.enable=1 
opcache.enable_cli=1 
opcache.interned_strings_buffer=8 
opcache.max_accelerated_files=11000 
opcache.memory_consumption=256 
opcache.fast_shutdown=1
opcache.load_comments=1
opcache.save_comments=1

保存并关闭文件为了应用到目前为止所做的所有更改,请通过发出以下命令来重新启动Apache服务。

systemctl重新启动apache2

接下来,通过发出以下命令为Apache启用重写模块,重写模块是通过放置在服务器Webroot路径中的.htaccess文件修改Apache运行时环境所必需的。

a2enmod rewritesystemctl重新启动apache2

为了通过HTTPS协议安全地安装和访问OroCRM,请通过执行以下命令来启用SSL模块和SSL站点配置文件。

a2enmod ssla2ensite default-ssl.conf

使用文本编辑器打开Apache默认的SSL站点配置文件,并在后面添加以下代码行来启用URL重写规则 文档根 指令,如以下示例所示。请确保将webroot路径更改为 / var / www / html / web

纳米/etc/apache2/sites-enabled/default-ssl.conf

SSL站点配置文件摘录:

DocumentRoot /var/www/html/web

  Options +FollowSymlinks
  AllowOverride All
  Require all granted

然后打开 /etc/apache2/sites-enabled/000-default.conf 文件进行编辑,并添加与SSL配置文件相同的URL重写规则。 文档根 语句,如下例所示。此外,将DocumentRoot路径更改为 / var / www / html / web

DocumentRoot /var/www/html/web

  Options +FollowSymlinks
  AllowOverride All
  Require all granted

最后,创建 / var / www / html / web 目录并重新启动Apache守护程序,以应用到目前为止发出的以下命令进行的所有更改。

mkdir -p / var / www / html / web

systemctl重新启动apache2

通过HTTP协议访问您的域名或服务器IP地址。由于您使用的是自动生成的自签名证书,因此浏览器中会显示警告。请接受警告以接受不受信任的证书,您将被重定向到Apache默认网页,如下图所示。

https://yourdomain.tld

在Debian系统上启用UFW防火墙等防火墙后,您可能无法访问Apache Web服务器,请确保添加新规则以允许HTTP和HTTPS流量通过防火墙。对于UFW防火墙:

ufw允许httpufw允许https

如果您正在使用 iptables 原始规则以管理Debian服务器上的防火墙,添加以下规则以允许防火墙上的端口80和443入站通信,以便客户端可以浏览OroCrm应用程序。保存iptables规则并重新启动并启用该服务。

apt-get install -y iptables-persistent

iptables -I INPUT -p tcp –目的端口80 -j ACCEPT iptables -I INPUT -p tcp –目的端口443 -j ACCEPT

netfilter持久保存

systemctl重新启动netfilter-persistentsystemctl状态netfilter-persistentsystemctl启用netfilter-persistent.service

最后,通过执行以下命令,在您的应用程序webroot路径中创建一个PHP信息文件。

回声“’| Tee /var/www/html/web/info.php

通过HTTPS从浏览器访问位于以下URL的PHP​​信息脚本文件,并检查PHP服务器环境配置。 日期 设置以检查PHP时区配置。

https://domain.tld/info.php

下一步,通过登录数据库控制台来保护MariaDB根帐户,并向空白根帐户插件发出以下命令:请注意,MariaDB根帐户与Linux系统根帐户不同,这些根帐户是两个不同的帐户。 Linux超级用户用于管理系统,MySQL超级用户用于管理MariaDB数据库。

mysql -h本地主机

欢迎使用MariaDB监视器,命令以;或 g结尾。

您的MariaDB连接ID为2

服务器版本:10.1.26-MariaDB-0 + deb9u1 Debian 9.1

版权所有(c)2000、2017,Oracle,MariaDB Corporation Ab等。

键入“ help;”或“ h”以获取帮助。键入“ c”以清除当前输入语句。

玛丽亚数据库 [(none)]>使用mysql;

读取表信息以完成表和列名

您可以关闭此功能以使用-A更快地启动

数据库已更改

玛丽亚数据库 [mysql]>更新用户集插件=“其中用户=” root”;

查询正常,1行受影响(0.00秒)

匹配的行:1已更改:1警告:0

玛丽亚数据库 [mysql]>刷新特权;

查询正常,受影响的0行(0.00秒)

玛丽亚数据库 [mysql]>退出

再见

通过执行脚本进一步保护MariaDB mysql_secure_installation该脚本将询问一系列旨在保护MariaDB数据库的问题,例如:更改MySQL超级用户密码,删除匿名用户,禁用远程超级用户登录名和删除测试数据库。 回答所有问题,并为数据库根帐户提供一个强密码,以完全保护MySQL守护程序,如下面的脚本输出摘录所示。

mysql_secure_installation

注意:建议在生产中使用所有MariaDBSERVER来运行此脚本的所有部分!请仔细阅读每个步骤!为了登录到MariaDB进行安全保护,我们需要root用户使用currentpassword。 MariaDB,并且您尚未设置root密码,该密码将为空,因此您只需按Enter键。输入root的当前密码(不输入任何密码):OK,成功使用密码,继续…设置root密码确保没有任何人未经适当的授权即可登录MariaDBroot用户。您已经设置了root密码,因此可以安全地回答“ n”。

更改root密码? [Y/n] ÿ

新密码:重新输入新密码:密码更新成功!

重新加载特权表..…成功!

默认情况下,MariaDB安装有一个匿名用户,允许任何人登录而无需创建用户帐户,这仅是为了测试,并使安装过程更加顺畅。环境。

删除匿名用户? [Y/n] ÿ

…成功!

通常,只应允许root用户通过“本地主机”进行连接,以确保某人无法从网络中猜测root用户密码。

禁止远程root登录? [Y/n] ÿ

…成功!

默认情况下,MariaDB带有一个名为“ test”的数据库,任何人都可以访问该数据库,该数据库也仅用于测试,应在移入生产环境之前将其删除。

删除测试数据库并访问它? [Y/n] ÿ

–删除测试数据库…

…成功!

–删除测试数据库的权限…

…成功!

重新加载特权表将确保到目前为止所做的所有更改将立即生效。

现在重新加载特权表? [Y/n] ÿ

…成功!

打扫干净…

完成所有步骤!完成上述所有步骤后,MariaDB的安装现在应该是安全的。感谢您使用MariaDB!

为了测试MariaDB的安全性,请尝试通过控制台登录数据库,而不要输入root帐户密码,如果没有为root帐户提供密码,则应拒绝对数据库的访问,如以下命令摘录所示: ::

mysql -h本地主机-u root

错误1045(28000):用户’root’@’localhost’的访问被拒绝(使用密码:NO)

如果提供了密码,则应授予登录过程,并且您应该能够登录到MySQL控制台,如下面的命令示例所示:键入exit以退出数据库。

mysql -h本地主机-u root -p

输入密码:

欢迎使用MariaDB监视器,命令以;或 g结尾。

您的MariaDB连接ID是15服务器版本:10.1.26-MariaDB-0 + deb9u1 Debian 9.1版权所有(c)2000、2017,Oracle,MariaDB Corporation Ab和其他人,键入’help;’或’ h’作为帮助。 c’清除当前输入语句。

玛丽亚数据库 [(none)]> 出口

再见

在实际开始安装OroCRM之前,我们将安装一些实用程序,以从Internet下载文件并解压缩zip存档。

apt install wget zip解压缩curl

访问GitHub上的OroCRM下载页面 https://github.com/oroinc/crm-application/releases 并获取最新的zip归档文件。我将在此处使用OroCRM 2.6。在wget命令下方,可以下载OroCRM:

cd /tmpwgethttps://github.com/oroinc/crm-application/archive/2.6.0.zip

压缩文件下载完成后,将归档文件提取到当前工作目录中,并通过发出以下命令列出提取的文件;还将Apache Web服务器安装的默认index.html文件删除到webroot路径,并删除info.php先前创建的文件。

解压缩zip归档文件:

解压缩2.6.0.zip

列出解压缩的文件:

ls

删除默认的索引文件和info.php文件。

rm /var/www/html/index.html rm /var/www/html/web/info.php

OroCRM的安装文件位于您当前的工作目录中。 crm-application-2.6.0 / 现在子目录,通过发出以下命令,将子目录中的文件和文件夹复制到Web服务器文档的根路径。

cp -rf crm-application-2.6.0 / * / var / www / html /

接下来,将目录更改为webroot路径,并通过发出以下命令为PHP安装Composer依赖性管理器。

cd / var / www / html /

curl -sS https://getcomposer.org/installer | php

所有设置均可正确使用Composer Downloading……..Composer(版本1.5.5)已成功安装到:/var/www/html/composer.phar使用它:php composer.phar

在服务器上安装Composer之后,通过发出以下命令,通过Composer脚本安装OroCRM依赖项。

php7.0 composer.phar install –prefer-dist –no-dev

该脚本将要求输入应用程序的配置参数以引导OroCRM。 [enter] 键以继续使用默认值。

接下来,通过发出以下命令,确保将Composer $ HOME路径行插入.htaccess托管应用程序的Web目录中。

回显“ SetEnv COMPOSER_HOME” / var / www / html“‘>> /var/www/html/web/.htaccess

现在执行以下命令,以向Apache运行时用户授予对应用程序Web,应用程序和缓存目录的完全写权限。

chown -R www-data:www-data / var / www / html / web / chown -R www-data:www-data / var / www / html / app / chown -R www-data:www-data / var / www / html / cache /

该应用程序的配置文件是 parameters.yml / var / www / html / app / config / 路径。

登录MariaDB数据库控制台,并为oroCRM和具有密码的用户创建一个数据库来管理OroCRM数据库,并相应地替换数据库名称,用户和密码。

mysql –u root -p

欢迎使用MariaDB监视器,命令以;或 g结尾。

您的MariaDB连接ID为2

服务器版本:10.1.26-MariaDB-0 + deb9u1 Debian 9.1

版权所有(c)2000、2017,Oracle,MariaDB Corporation Ab等。

键入“ help;”或“ h”以获取帮助。键入“ c”以清除当前输入语句。

玛丽亚数据库 [(none)]>创建数据库mycrm_db;

查询正常,1行受影响(0.00秒)

玛丽亚数据库 [(none)]>将mycrm_db的所有特权授予*由“ password1234”标识的“ crm_user” @“ localhost”;

查询正常,受影响的0行(0.00秒)

玛丽亚数据库 [(none)]>刷新特权;

查询正常,受影响的0行(0.00秒)

玛丽亚数据库 [(none)]>退出

再见

现在,让我们通过网络界面开始OroCRM安装过程。打开浏览器,然后通过HTTPS协议导航到您的域名或服务器IP地址。

https://yourdomain.com

在第一个安装屏幕上,OroCRM向导安装程序将显示一个欢迎屏幕。 开始安装 按钮以启动设置过程。

开始OroCRM安装

在下一个屏幕上,安装程序将检查您的系统要求,如果通过了所有系统和PHP要求,如下图所示,请单击“下一步”按钮转到下一步。

检查系统要求

系统要求-第2部分

在下一个屏幕上,添加数据库连接设置,选择“ MySQL驱动程序”,为数据库主机输入127.0.0.1,为MySQL端口输入3306,然后添加之前配置的数据库名称,用户和密码设置。

然后,转到Mailer设置并添加您自己的邮件服务器SMTP配置,如果您在同一节点上运行本地邮件服务器,请在SMTP服务器主机字段中添加127.0.0.1。

然后,转到“系统设置”,为“ OroCRM”选择“语言环境”设置,并将“机密”保留为应用程序安装程序生成的默认密钥,最后,将WebSocket连接保留为默认设置,然后单击“下一步”按钮继续安装过程。

数据库和系统配置

在下一个屏幕上,等待MySQL数据库架构初始化,然后单击 下一个 按钮移至下一步。

数据库初始化

接下来,在OroCRM组织名称中设置一个名称,为您的应用程序URL地址和具有强密码的管理员帐户提供一个密码,并添加管理员帐户的电子邮件地址以及管理员帐户的姓氏和名字。 加载样本数据 并点击“安装”按钮开始OroCRM安装过程。

管理设置

等待安装过程完成并继续 下一个 按钮以完成安装过程,并移至最后一个向导屏幕。

安装完成

安装过程完成后,安装程序将显示最终安装屏幕,并通知您安装过程已完成,在这里,只需单击启动应用程序按钮即可重定向到OroCRM登录屏幕。

启动OroCRM应用程序

为了登录到OroCRM平台,请在安装过程中使用为admin帐户配置的凭据,如以下屏幕截图所示。

登录到Oro CRM

如下图所示,您将被重定向到OroCRM默认仪表板,现在您可以开始管理CRM平台了。

OroCRM仪表板

最后,为了强制访问者通过HTTPS协议安全地访问CRM应用程序,请通过以下命令返回服务器的终端并编辑位于网站文档根路径中的OroCRM .htaccess文件。

纳米/var/www/html/web/.htaccess

在这里,在下面添加以下行 改写开始 为了自动将应用程序客户端重定向到HTTPS。

# Redirect to HTTPS
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]

您还可以在.htaccess文件的末尾添加一些新行,以便即时修改本地PHP服务器设置(例如文件上传大小)。请确保下面显示的PHP设置与您自己的服务器资源匹配。

# PHP settings alteration
php_value upload_max_filesize 100M
php_value post_max_size 100M

为了自动执行OroCRM管理任务,请添加以下cron作业拥有的Apache运行时用户。

crontab –u www-data –e

crontab文件摘录:

*/5 * *  *  *  /usr/bin/php7.0   /var/www/html/app/console oro:cron --env=prod > /dev/null
# Run maintenance tasks by executing MessageQueueComponent and MessageQueueBundle asynchronously.
*/5 * *  *  *  /usr/bin/php7.0   /var/www/html/app/console oro:message-queue:consume --env=prod > /dev/null

恭喜,您的Debian 9服务器上已成功部署了OroCRM平台,请通过以下地址查阅OroCRM文档页面: https://oroinc.com/orocrm/doc/current 为了进一步配置您的CRM平台。

如何在Debian 9上安装OroCRM

Sidebar