美文网首页
如何在CentOS 7上安装OroCRM

如何在CentOS 7上安装OroCRM

作者: usero | 来源:发表于2017-12-11 13:43 被阅读0次

    OroCRM是在OroPlatform上建立的一个免费的开源客户关系管理器(CRM)应用。OroPlatform是完全可定制的开源商业应用平台软件。OroPlatform提供了创建自定义应用程序所需的所有特性。OroCRM是使用PHP Symfony框架构建的,并将其数据存储到MySQL / MariaDB数据库服务器中。它是一个提供大量特性的企业级CRM应用程序。它还集成了许多第三方应用程序,如Magento Store、MailChimp、Zendesk等,它是多语言的,并且具有完全响应性的用户界面,这为您提供了使用移动设备管理它的能力。

    准备:

    一个搬瓦工服务器实例。

    sudo用户。

    在本文中,笔者将使用crm.banwagongvps.com作为指向服务器的域名。用你的实际域名替换所有的crm.banwagongvps.com。

    更新CentOS 7。

    安装Nginx和PHP 7

    OroCRM可以安装在任何支持PHP的web服务器上。OroCRM支持所有版本的PHP大于7.0。在本文中,我们将使用带有PHP - fpm和PHP 7.1的Nginx。

    安装Nginx。

    sudo yum -y install nginx

    启动Nginx并使它自动启动。

    sudo systemctl start nginxsudo systemctl enable nginx

    PHP 7在默认的YUM存储库中是不可用的,但是我们可以使用Remi存储库来获取和安装PHP 7的最新版本。首先,添加并启用Remi存储库。

    sudo rpm -Uvh

    http://rpms.remirepo.net/enterprise/remi-release-7.rpmsudo yum -y

    install yum-utilssudo yum-config-manager --enable remi-php71

    安装最新版本的PHP 7以及OroCRM所需的PHP模块。

    sudo yum -y install php php-fpm php-ctype php-curl php-fileinfo

    php-gd php-intl php-json php-mbstring php-mcrypt php-mysql php-pcre

    php-simplexml php-tokenizer php-xml php-zip php-tidy php-soap

    php-opcache php-posix编辑默认的PHP配置文件。sudo nano /etc/php.ini

    找到下面行,取消注释并按所示进行更改。

    date.timezone = Asia/Kolkata;Replace "Asia/Kolkata" with your appropriate timezonememory_limit = 512Mcgi.fix_pathinfo=0

    编辑php - fpm配置文件。

    sudo nano /etc/php-fpm.d/www.conf

    默认情况下,php - fpm配置为运行Apache并监听端口9000。我们需要更改用户和组,以及它将运行的Unix套接字文件。找到以下几行,并按所示进行必要的更改。

    user = nginxgroup = nginx ;listen = 127.0.0.1:9000;Comment out or

    remove the above line and add the following line.listen =

    /var/run/php-fpm/php-fpm.socklisten.owner = nobodylisten.group = nobody

    启动php - fpm并使其启动。

    sudo systemctl start php-fpmsudo systemctl enable php-fpm

    向Nginx用户提供php - fpm socket文件的所有权。

    sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock

    安装MariaDB

    MariaDB是MySQL的开源分支。安装MariaDB。

    sudo yum -y install mariadb mariadb-server

    启动MariaDB,让它自动启动。

    sudo systemctl start mariadbsudo systemctl enable mariadb

    MariaDB的默认安装有几个测试数据库和匿名用户。在配置数据库之前,您需要先保护MariaDB服务器。您可以通过运行mysql_secure_installation脚本来保护它。

    sudo mysql_secure_installation

    您将被询问当前的MariaDB根密码。默认情况下,在新的MariaDB安装中没有根密码。按Enter键继续。设置一个强大的密码,为您的MariaDB服务器的根用户,并回答所有其他问题。这些问题是不言自明的。

    创建OroCRM数据库

    通过运行以root用户身份登录到MySQL shell。

    mysql -u root -p

    提供MariaDB根用户登录的密码。

    运行以下查询,创建一个用于OroCRM安装的数据库和数据库用户。

    CREATE DATABASE oro_data;CREATE USER 'oro_user'@'localhost'

    IDENTIFIED BY 'StrongPassword';GRANT ALL PRIVILEGES ON oro_data.* TO

    'oro_user'@'localhost';FLUSH PRIVILEGES;EXIT;

    您可以根据您的选择替换数据库名称oro_data和username oro_user。一定要将强密码更改为非常强的密码。

    安装Node.js 和 Composer

    OroCRM还要求Node.js

    JavaScript运行时。Node.js将被OroCRM用来编译JavaScript,用于构建应用程序的用户界面。CentOS的默认存储库包含一个过时的节点版本。因此,您需要将Nodesource存储库添加到您的系统以获得最新版本。

    sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -

    安装Node.js 和 Git.

    sudo yum -y install nodejs git

    Git将被用于从internet克隆OroCRM存储库。您还需要安装Composer。Composer是PHP应用程序的依赖关系管理器。因为OroCRM是在Symfony框架中编写的,所以您需要编写器来安装依赖项和应用程序。

    安装的作曲家。

    php -r "copy('https://getcomposer.org/installer',

    'composer-setup.php');"php -r "if (hash_file('SHA384',

    'composer-setup.php') ===

    '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410')

    { echo 'Installer verified'; } else { echo 'Installer corrupt';

    unlink('composer-setup.php'); } echo PHP_EOL;"php composer-setup.phpphp

    -r "unlink('composer-setup.php');"

    将Composer移动到/ usr/ bin目录,这样它就可以从系统的任何地方执行。

    sudo mv composer.phar /usr/bin/composer

    向编写器提供执行权限。

    sudo chmod +x /usr/bin/composer

    安装OroCRM

    在你的服务器上有很多方法可以下载OroCRM。获得最新版本最合适的方法是通过Git克隆存储库。

    克隆OroCRM存储库。

    cd /usr/share/nginx/sudo git clone -b 2.3 https://github.com/oroinc/crm-application.git orocrm

    将示例 parameters复制到OroCRM使用的默认 parameters。

    cd orocrmsudo cp app/config/parameters.yml.dist  app/config/parameters.yml

    在进一步进行之前,您需要更新parameters.yml 文件提供数据库和电子邮件信息。

    sudo nano app/config/parameters.yml

    找到下面几行

    database_driver:   pdo_mysqldatabase_host:

    127.0.0.1database_port:     ~database_name:

    oro_crmdatabase_user:     rootdatabase_password: ~

    根据您创建的数据库存储OroCRM数据,更新上述配置。在我们的例子中,它应该是这样的。

    database_driver:   pdo_mysqldatabase_host:

    127.0.0.1database_port:     3306database_name:

    oro_datadatabase_user:     oro_userdatabase_password: StrongPassword

    如果您已经准备好了一个SMTP服务器,并且您希望立即使用电子邮件发送特性,那么您可以像所显示的那样更新mailer设置。

    mailer_transport:  smtpmailer_host:

    mail.example.commailer_port:       456mailer_encryption:

    sslmailer_user:       mails@example.commailer_password:   EMailPassword

    如果您没有准备好邮件服务器,您可以通过保留现有值来跳过它。您总是可以通过仪表板更改邮件配置。

    设置一个随机字符串ThisTokenIsNotSoSecretChangeIt替换secret。需要一个随机字符串来对会话数据进行编码。一个示例字符串看起来是这样的。

    secret:            uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd

    您可以使用pwgen实用程序生成一个随机字符串。安装pwgenn实用程序,运行sudo yum -y install pwgen。要生成一个随机字符串,运行pwgen -s 64

    保存文件并退出编辑器。通过编写器安装所需的PHP依赖项。

    sudo composer install --prefer-dist --no-dev

    使用——no dev将确保编写器只安装在生产模式下运行web服务器所需的依赖项。这个脚本需要几分钟的时间来下载和安装所需的PHP依赖项。

    安装应用程序。

    sudo php app/console oro:install --env=prod

    这将构建web缓存并编写数据库。提供了在生产模式下安装应用程序的参数env = prod参数。只要安装并配置了所有必需的依赖项,安装就会继续进行。

    在安装过程中,您将被问及设置管理员帐户的几个问题。问题如下。

    Administration setup.Application URL (http://localhost):

    http://crm.example.comOrganization name (OroCRM): My

    OrganizationUsername (admin):Email: mail@example.comFirst name: JohnLast

    name: DoePassword:Load sample data (y/n): y

    提供的信息。在使用产品之前,先加载样本数据来评估产品。

    预热API文档缓存:

    sudo php app/console oro:api:doc:cache:clear

    配置Nginx、防火墙和权限

    创建一个Nginx服务器块文件,以服务于用户。

    sudo nano /etc/nginx/conf.d/orocrm.conf

    填充文件:

    server {    server_name crm.example.com;    root

    /usr/share/nginx/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:/var/run/php-fpm/php-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;}

    确保你用你的实际域名改变了crm.example.com。上述配置还包括GZip压缩和浏览器缓存所需的配置。Gzip压缩在发送给浏览器之前压缩数据。启用浏览器缓存将静态资源存储到客户机计算机的web缓存。当用户下一次访问站点时,大多数静态内容都是从用户自己的web缓存中加载的。这两种方法极大地提高了应用程序的速度。

    检查Nginx配置文件是否有任何错误。

    sudo nginx -t

    输出应该如下所示。

    [user@bandwagon~]$ sudo nginx -tnginx: the configuration file

    /etc/nginx/nginx.conf syntax is oknginx: configuration file

    /etc/nginx/nginx.conf test is successful

    向Nginx用户提供OrOCRM文件的所有权。

    sudo chown -R nginx:nginx /usr/share/nginx/orocrm

    重新启动Nginx以应用新的配置。

    sudo systemctl restart nginx

    如果在服务器上运行防火墙,则需要配置防火墙以设置HTTP服务的异常。允许Nginx从网络外部连接。

    sudo firewall-cmd --zone=public --permanent --add-service=httpsudo

    firewall-cmd --zone=public --permanent --add-service=httpssudo

    firewall-cmd --reload

    现在可以在http://crm.banwagongvps.com上访问该应用程序。使用在安装期间设置的管理员用户名和密码登录。

    设置计划任务和后台作业

    要自动运行预定的任务,您可以添加一个Cron作业条目,开放的crontab.

    sudo crontab -e

    将以下行添加到文件中。

    */1 * * * * /usr/bin/php /usr/share/nginx/orocrm/app/console oro:cron --env=prod > /dev/null

    这将每分钟运行cron作业,这样就可以尽早处理诸如电子邮件队列之类的调度任务。

    您还需要设置主管来运行消息队列服务。需要至少有一个进程在任何时候都在运行,以供使用者处理消息。消费者通常可以通过多种方式中断消息过程。为了确保服务持续运行,我们将使用主管服务。我们将配置主管并行运行四个进程。如果四个过程中的任何一个因任何原因被停止,主管将尝试重新启动它。

    安装Supervisor.

    sudo yum -y install supervisor

    编辑Supervisor.配置文件。

    sudo nano /etc/supervisord.conf

    在文件末尾添加以下行。

    [program:oro_message_consumer]command=/usr/bin/php

    /usr/share/nginx/orocrm/app/console --env=prod --no-debug

    oro:message-queue:consumeprocess_name=%(program_name)s_%(process_num)02dnumprocs=4autostart=trueautorestart=truestartsecs=0user=nginxredirect_stderr=true

    启动并使 Supervisor在启动时自动启动。

    sudo systemctl start supervisordsudo systemctl enable supervisord

    您可以通过运行以下命令来查看流程的状态。

    sudo supervisorctl status

    您应该看到进程正在运行。

    [user@bandwagon ~]$ sudo supervisorctl

    statusoro_message_consumer:oro_message_consumer_00   RUNNING   pid

    13596, uptime 0:02:13oro_message_consumer:oro_message_consumer_01

    RUNNING   pid 13595, uptime

    0:02:13oro_message_consumer:oro_message_consumer_02   RUNNING   pid

    13594, uptime 0:02:13oro_message_consumer:oro_message_consumer_03

    RUNNING   pid 13593, uptime 0:02:13

    OroCRM现在安装在您的服务器上。现在可以使用应用程序来管理组织的常规任务。想了解更多关于OroCRM的信息,你可以访问它的官方网站。

    本文来自:https://www.banwagongvps.com/351.html

    相关文章

      网友评论

          本文标题:如何在CentOS 7上安装OroCRM

          本文链接:https://www.haomeiwen.com/subject/eseiixtx.html