1. 程式人生 > >如何在CentOS 7上安裝OroCRM

如何在CentOS 7上安裝OroCRM

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: [email protected]_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: [email protected] 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