如何在Ubuntu 16.04 LTS上使用Nginx安装OroCRM

如何在Ubuntu 16.04 LTS上使用Nginx安装OroCRM

OroCRM是一个开源的客户关系经理(CRM)平台,完全针对电子商务和营销团队,具有多渠道视角。 它是完全可定制的,并提供了大量功能的企业级CRM应用程序。 它基于PHP Symfony框架构建,并使用MySQL来存储他们的数据。 OroCRM有两个版本,Community Edition(CE)和Enterprise Edition(EE)。 您可以轻松将其与其他电子商务平台(如Magento和其他解决方案)集成。

在本教程中,我们将学习如何在Ubuntu 16.04上安装OroCRM。

先决条件

  • 运行Ubuntu 16.04的服务器。
  • 具有sudo权限的非root用户。

入门

首先,您需要将系统更新到最新版本。 你可以用下面的命令来做到这一点:

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: hitjethva@gmail.com
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界面。

打开您的网络浏览器并输入网址htttp://example.com ,您将被重定向到OroCRM登录页面,如下所示:

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

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

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏