如何在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