如何在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服务器上。