如何在 Ubuntu 16.04 LTS 上使用 Nginx 安装 OroCRM
在此页
- 先决条件
- 开始
- 安装 LEMP 服务器
- 为 OroCRM 配置 MariaDB
- 安装 Node.js 和 Composer
- 安装 OroCRM
- 为 OroCRM 配置 Nginx
- 访问 OroCRM
OroCRM 是一个开源客户关系管理器 (CRM) 平台,完全针对具有多渠道视角的电子商务和营销团队。它是完全可定制的,是企业就绪的 CRM 应用程序,提供大量功能。它建立在 PHP Symfony 框架之上,并使用 MySQL 来存储它们的数据。 OroCRM 有两个版本,社区版 (CE) 和企业版 (EE)。您可以轻松地将其与其他电子商务平台(如 Magento 和其他解决方案)集成。
在本教程中,我们将学习如何在 Ubuntu 16.04 上安装 OroCRM。
先决条件
- 一台运行 Ubuntu 16.04 的服务器。
- 具有 sudo 权限的非根用户。
入门
首先,您需要将系统更新到最新版本。您可以使用以下命令执行此操作:
sudo apt-get update -y
sudo apt-get upgrade -y
更新系统后,重新启动系统以应用所有更改。接下来,使用以下命令将所需的软件包安装到您的系统中:
sudo apt-get install git curl unzip wget -y
安装 LEMP 服务器
在开始之前,您需要在系统中安装 LEMP(Nginx、MariaDB 和 PHP7)。
首先,使用以下命令安装 Nginx:
sudo apt-get install nginx -y
安装 Nginx 后,启动 Nginx 服务并使用以下命令使其在开机时启动:
sudo systemctl start nginx
sudo systemctl enable nginx
默认情况下,最新版本的 MariaDB 和 PHP 在 Ubuntu 16.04 中不可用。所以你需要为此添加存储库。
首先,使用以下命令添加 MariaDB 存储库:
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://kartolo.sby.datautama.net.id/mariadb/repo/10.2/ubuntu xenial main'
接下来,使用以下命令添加 PHP 存储库:
sudo add-apt-repository ppa:ondrej/php
接下来,使用以下命令更新存储库:
sudo apt-get update -y
存储库更新后,通过运行以下命令安装 MariaDB 和 PHP7:
sudo apt-get install mariadb-server php7.0 php7.0-fpm php7.0-common php7.0-curl php7.0-gd php7.0-intl php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-xml php7.0-xml php7.0-zip php7.0-tidy php7.0-soap php7.0-opcache -y
接下来,您需要在 php.ini 文件中设置时区并增加内存限制:
sudo nano /etc/php/7.0/cli/php.ini
更改以下行:
date.timezone = Asia/Kolkata
完成后保存并关闭文件。
sudo nano /etc/php/7.0/fpm/php.ini
更改以下行:
memory_limit = 1024M
完成后保存并关闭文件。
接下来,启动 MariaDB 和 PHP-FPM 服务,并使用以下命令使它们能够在启动时启动:
sudo systemctl start mysql
sudo systemctl enable mysql
sudo systemctl start php7.0-fpm
sudo systemctl enable php7.0-fpm
为 OroCRM 配置 MariaDB
默认情况下,MariaDB 安装是不安全的,因此您需要先保护 MariaDB。您可以通过运行 mysql_secure_installation 脚本来保护它:
sudo mysql_secure_installation
如下图所示回答所有问题:
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 shell 并为 OroCRM 创建数据库和用户:
mysql -u root -p
输入您的 root 密码并按 Enter,然后使用以下命令创建数据库和用户:
MariaDB [(none)]> CREATE DATABASE orodb;
MariaDB [(none)]> CREATE USER 'orouser'@'localhost' IDENTIFIED BY 'password';
接下来,使用以下命令授予 OroCRM 数据库权限:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON orodb.* TO 'orouser'@'localhost';
接下来,运行 FLUSH PRIVILEGES 命令,以便 MariaDB 重新加载权限表:
MariaDB [(none)]> FLUSH PRIVILEGES;
最后,退出 MariaDB shell:
MariaDB [(none)]> EXIT
配置 MariaDB 后,您可以继续下一步。
安装 Node.js 和 Composer
您还需要在系统中安装 Node.js 和 Composer。因为 OroCRM 将使用 Node.js 来编译 JavaScript,而 Composer 将用于安装 PHP 依赖项。
首先,使用以下命令添加 Node.js 存储库:
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
接下来,使用以下命令安装 Node.js 和 Composer:
sudo apt-get install nodejs -y
sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
sudo php composer-setup.php
接下来,使用以下命令将 Composer 复制到 /usr/bin 目录:
sudo cp composer.phar /usr/bin/composer
使用以下命令为 Composer 提供必要的权限:
sudo chmod 755 /usr/bin/composer
安装 OroCRM
首先,您需要从 Git 存储库下载最新版本的 OroCRM。您可以使用以下命令执行此操作:
cd /var/www/html
sudo git clone -b 2.4 https://github.com/oroinc/crm-application.git orocrm
接下来,将目录更改为 orocrm 并使用以下命令安装 PHP 所需的依赖项:
cd orocrm
sudo composer install --prefer-dist --no-dev
在安装过程中,您需要提供数据库详细信息,例如数据库名称、数据库用户名和密码、数据库主机,如下所示:
Creating the "app/config/parameters.yml" file
Some parameters are missing. Please provide them.
database_driver (pdo_mysql):
database_host (127.0.0.1):
database_port (null):
database_name (oro_crm): orodb
database_user (root): orouser
database_password (null): password
mailer_transport (smtp):
mailer_host (127.0.0.1):
mailer_port (null):
mailer_encryption (null):
mailer_user (null):
mailer_password (null):
websocket_bind_address (0.0.0.0):
websocket_bind_port (8080):
websocket_frontend_host ('*'):
websocket_frontend_port (8080):
websocket_backend_host ('*'):
websocket_backend_port (8080):
web_backend_prefix (''):
session_handler (session.handler.native_file):
locale (en):
secret (ThisTokenIsNotSoSecretChangeIt):
installed (null):
assets_version (null):
assets_version_strategy (time_hash):
message_queue_transport (dbal):
message_queue_transport_config (null):
接下来,通过运行以下命令安装应用程序:
sudo php app/console oro:install --env=prod
在安装过程中,您需要提供管理员帐户详细信息:
Administration setup.
Application URL (http://localhost):
Organization name (OroCRM):
Username (admin):
Email:
First name: hitesh
Last name: jethva
Password:
Load sample data (y/n): y
Oro Application has been successfully installed in prod mode.
Please run oro:api:doc:cache:clear command to warm-up API documentation cache
Make sure that consumer command was running oro:message-queue:consume. More info you can find here: https://www.orocrm.com/documentation/current/book/installation#activating-background-tasks.
接下来,使用以下命令预热 API 文档缓存:
sudo php app/console oro:api:doc:cache:clear
为 OroCRM 配置 Nginx
接下来,您需要为 OroCRM 创建一个 Nginx 虚拟主机文件。您可以使用以下命令执行此操作:
sudo nano /etc/nginx/sites-available/orocrm
添加以下行:
server {
server_name example.com;
root /var/www/html/orocrm/web;
location / {
# try to serve file directly, fallback to app.php
try_files $uri /app.php$is_args$args;
}
location ~ ^/(app|app_dev|config|install)\.php(/|$) {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
# Enable Gzip compression
gzip on;
gzip_buffers 16 8k;
gzip_comp_level 5;
gzip_disable "msie6";
gzip_min_length 1000;
gzip_http_version 1.0;
gzip_proxied any;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css image/svg+xml;
gzip_vary on;
# Enable browser caching
# One week for javascript and css
location ~* \.(?:css|js) {
expires 1w;
access_log off;
add_header Cache-Control public;
}
# Three weeks for media: images, fonts, icons, video, audio etc.
location ~* \.(?:jpg|jpeg|gif|png|ico|tiff|woff|eot|ttf|svg|svgz|mp4|ogg|ogv|webm|swf|flv)$ {
expires 3w;
access_log off;
add_header Cache-Control public;
}
error_log /var/log/nginx/orocrm_error.log;
access_log /var/log/nginx/orocrm_access.log;
}
完成后保存并关闭文件,然后使用以下命令启用 Nginx 虚拟主机:
sudo ln -s /etc/nginx/sites-available/orocrm /etc/nginx/sites-enabled/orocrm
接下来,使用以下命令检查 Nginx 是否存在任何配置错误:
sudo nginx -t
您应该看到以下输出:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
接下来,为 orocrm 目录提供必要的权限并重新启动 Nginx:
sudo chown -R www-data:www-data /var/www/html/orocrm
sudo chmod -R 777 /var/www/html/orocrm
sudo systemctl restart nginx
访问 OroCRM
OroCRM 现已安装,是时候访问 OroCRM Web 界面了。
打开您的网络浏览器并输入 URL http://example.com,您将被重定向到 OroCRM 登录页面,如下所示:

提供您的管理员用户名和密码,然后单击“登录”按钮,您应该会看到下图中的 OroCRM 仪表板:

恭喜! OroCRM 现在安装在 Ubuntu 16.04 服务器上。