CentOS 7에 OroCRM을 설치하는 방법

OroCRM은 OroPlatform을 기반으로하는 무료 오픈 소스 CRM (고객 관계 관리자) 응용 프로그램입니다. OroPlatform은 완전히 사용자 정의 가능한 오픈 소스 비즈니스 응용 프로그램 플랫폼 소프트웨어입니다. OroPlatform은 사용자 정의 된 응용 프로그램을 만드는 데 필요한 모든 기능을 제공합니다. OroCRM은 PHP Symfony 프레임 워크를 사용하여 구축되며 MySQL / MariaDB 데이터베이스 서버에 데이터를 저장합니다. 수많은 기능을 제공하는 엔터프라이즈 급 CRM 응용 프로그램입니다. 또한 Magento Store, MailChimp, Zendesk 등과 같은 많은 타사 응용 프로그램과 통합됩니다. 다국어이며 완벽하게 반응하는 사용자 인터페이스를 갖추고있어 모바일 장치를 사용하여이를 관리 할 수 ​​있습니다.

전제 조건

이 학습서에서는 crm.example.com서버를 가리키는 도메인 이름으로 사용 합니다. 모든 발생을 crm.example.com실제 도메인 이름으로 바꾸십시오.

CentOS 7 업데이트 방법 안내서를 사용하여 기본 시스템을 업데이트하십시오 . 시스템이 업데이트되면 필요한 종속성을 설치하십시오.

Nginx 및 PHP 7 설치

OroCRM은 PHP를 지원하는 모든 프로덕션 웹 서버에 설치할 수 있습니다. OroCRM은 7.0보다 큰 모든 버전의 PHP를 지원합니다. 이 튜토리얼에서는 Nginx를 PHP-FPM 및 PHP 7.1과 함께 사용합니다.

Nginx를 설치하십시오.

sudo yum -y install nginx

Nginx를 시작하고 부팅시 자동으로 시작되도록합니다.

sudo systemctl start nginx
sudo systemctl enable nginx

기본 YUM 저장소에서는 PHP 7을 사용할 수 없지만 Remi 저장소를 사용하여 최신 PHP 7 빌드를 구하여 설치할 수 있습니다. 먼저 Remi 저장소를 추가하고 활성화하십시오.

sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php71

OroCRM에 필요한 PHP 모듈과 함께 최신 버전의 PHP 7을 설치하십시오.

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 timezone

memory_limit = 512M
cgi.fix_pathinfo=0

PHP-FPM 구성 파일을 편집하십시오.

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

기본적으로 PHP-FPM은 Apache와 함께 실행되고 포트를 수신하도록 구성되어 있습니다 9000. 우리는 사용자와 그룹, 그리고 실행될 Unix 소켓 파일을 변경해야합니다. 다음 줄을 찾아 표시된대로 필요한대로 변경하십시오.

user = nginx
group = 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.sock

listen.owner = nobody
listen.group = nobody

PHP-FPM을 시작하고 부팅시 시작하십시오.

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

PHP-FPM 소켓 파일의 소유권을 Nginx 사용자에게 제공하십시오.

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 mariadb
sudo systemctl enable mariadb

MariaDB의 기본 설치는 몇 가지 테스트 데이터베이스와 익명 사용자와 함께 제공됩니다. 데이터베이스를 구성하기 전에 MariaDB 서버를 먼저 보호해야합니다. mysql_secure_installation스크립트 를 실행하여 보안을 유지할 수 있습니다 .

sudo mysql_secure_installation

현재 MariaDB 루트 비밀번호를 묻는 메시지가 표시됩니다. 기본적으로 새로 설치 한 MariaDB에는 루트 암호가 없습니다. Enter계속 하려면 키를 누르십시오 . MariaDB 서버의 루트 사용자에 대해 강력한 암호를 설정 Y하고 다른 모든 질문에 대답하십시오. 질문은 자명하다.

OroCRM을위한 데이터베이스 생성

실행하여 루트 사용자로 MySQL 쉘에 로그인하십시오.

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과 사용자 이름을 바꿀 수 있습니다 oro_user. StrongPassword매우 강력한 비밀번호 로 변경하십시오 .

Node.js 및 Composer 설치

OroCRM에는 Node.js JavaScript 런타임이 필요합니다. Node.js는 OroCRM에서 JavaScript를 컴파일하는 데 사용되며, JavaScript는 응용 프로그램의 사용자 인터페이스를 빌드하는 데 사용됩니다. CentOS의 기본 저장소에는 오래된 버전의 Node.js가 포함되어 있으므로 최신 버전을 얻으려면 시스템에 Nodesource 저장소를 추가해야합니다.

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

Node.js 및 Git을 설치하십시오.

sudo yum -y install nodejs git

Git은 인터넷에서 OroCRM 저장소를 복제하는 데 사용됩니다. Composer도 설치해야합니다. Composer는 PHP 응용 프로그램을위한 종속성 관리자 도구입니다. OroCRM은 Symfony 프레임 워크로 작성되었으므로 종속성 및 응용 프로그램을 설치하려면 Composer가 필요합니다.

Composer를 설치하십시오.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Composer를 /usr/bin시스템의 어느 곳에서나 실행할 수 있도록 디렉토리로 이동 하십시오.

sudo mv composer.phar /usr/bin/composer

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파일을 parametersOroCRM에서 사용 하는 기본 파일로 복사하십시오 .

cd orocrm
sudo cp app/config/parameters.yml.dist  app/config/parameters.yml

계속 진행하기 전에 parameters.yml데이터베이스 및 이메일 정보를 제공 하도록 파일을 업데이트해야합니다 .

sudo nano app/config/parameters.yml

다음 줄을 찾으십시오.

database_driver:   pdo_mysql
database_host:     127.0.0.1
database_port:     ~
database_name:     oro_crm
database_user:     root
database_password: ~

OroCRM 데이터를 저장하기 위해 생성 한 데이터베이스에 따라 위 구성을 업데이트하십시오. 우리의 경우에는 다음과 같아야합니다.

database_driver:   pdo_mysql
database_host:     127.0.0.1
database_port:     3306
database_name:     oro_data
database_user:     oro_user
database_password: StrongPassword

SMTP 서버가 준비되어 있고 이메일 전송 기능을 즉시 사용하려는 경우 표시된대로 우편 시스템 설정을 업데이트 할 수 있습니다.

mailer_transport:  smtp
mailer_host:       mail.example.com
mailer_port:       456
mailer_encryption: ssl
mailer_user:       [email protected]
mailer_password:   EMailPassword

메일 서버가 준비되어 있지 않은 경우 기존 값을 그대로두면 지금 메일 서버를 건너 뛸 수 있습니다. 언제든지 대시 보드를 통해 이메일 구성을 변경할 수 있습니다.

secret를 교체 하여 임의의 문자열을 설정하십시오 ThisTokenIsNotSoSecretChangeIt. 세션 데이터를 인코딩하려면 임의의 문자열이 필요합니다. 문자열 예는 다음과 같습니다.

secret:            uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd

pwgen유틸리티를 사용하여 임의의 문자열을 생성 할 수 있습니다 . pwgen를 실행하여 유틸리티를 설치하십시오 sudo yum -y install pwgen. 임의의 문자열을 생성하려면을 실행하십시오 pwgen -s 64 1.

파일을 저장하고 편집기를 종료하십시오. composer를 통해 필요한 PHP 종속성을 설치하십시오.

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

를 사용 --no-dev하면 Composer가 웹 서버를 프로덕션 모드로 실행하는 데 필요한 종속성 만 설치합니다. 필요한 PHP 종속성을 다운로드하고 설치하는 데 몇 분이 소요됩니다.

응용 프로그램을 설치하십시오.

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

이것은 웹 캐시를 구축하고 데이터베이스를 작성합니다. 이 --env=prod매개 변수는 응용 프로그램을 프로덕션 모드로 설치하기 위해 제공됩니다. 필요한 모든 종속성이 설치 및 구성된 경우에만 설치가 진행됩니다.

설치하는 동안 관리자 계정 설정에 대한 몇 가지 질문이 표시됩니다. 질문은 다음과 같습니다.

Administration setup.
Application URL (http://localhost): http://crm.example.com
Organization name (OroCRM): My Organization
Username (admin):
Email: [email protected]
First name: John
Last name: Doe
Password:
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 압축은 데이터를 브라우저로 보내기 전에 압축합니다. 브라우저 캐싱을 활성화하면 정적 리소스가 클라이언트 컴퓨터의 웹 캐시에 저장됩니다. 다음에 사용자가 사이트에 액세스하면 대부분의 정적 컨텐츠가 사용자 자신의 웹 캐시에서로드됩니다. 이 두 가지 방법은 응용 프로그램의 속도를 크게 향상시킵니다.

오류가 있는지 Nginx 구성 파일을 확인하십시오.

sudo nginx -t

출력은 다음과 같아야합니다.

[user@vultr ~]$ 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 nginx:nginx /usr/share/nginx/orocrm

새 구성을 적용하려면 Nginx를 다시 시작하십시오.

sudo systemctl restart nginx

서버에서 방화벽을 실행중인 경우 HTTP 서비스에 대한 예외를 설정하도록 방화벽을 구성해야합니다. Nginx가 네트워크 외부에서 연결되도록 허용하십시오.

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

이제에서 애플리케이션에 액세스 할 수 있습니다 http://crm.example.com. 설치 중에 설정 한 관리자 사용자 이름과 비밀번호를 사용하여 로그인하십시오.

예약 된 작업 및 백그라운드 작업 설정

예약 된 작업을 자동으로 실행하기 위해 Cron 작업 항목을 추가 할 수 있습니다. 를 엽니 다 crontab.

sudo crontab -e

파일에 다음 줄을 추가하십시오.

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

그러면 전자 메일 대기열과 같은 예약 된 작업이 가장 빨리 처리되도록 매분마다 cron 작업이 실행됩니다.

Message Queue 서비스를 실행하려면 Supervisor를 설정해야합니다. 소비자가 메시지를 처리하려면 적어도 하나의 프로세스가 항상 실행되고 있어야합니다. 소비자는 일반적으로 여러 가지 방법으로 메시지 프로세스를 중단 할 수 있습니다. 서비스가 지속적으로 실행되도록하기 위해 Supervisor 서비스를 사용합니다. 4 개의 프로세스를 병렬로 실행하도록 Supervisor를 구성합니다. 어떤 이유로 든 네 가지 프로세스 중 하나가 중지되면 Supervisor가 다시 시작하려고합니다.

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:consume
process_name=%(program_name)s_%(process_num)02d
numprocs=4
autostart=true
autorestart=true
startsecs=0
user=nginx
redirect_stderr=true

부팅시 Supervisor가 자동으로 시작되고 시작되도록합니다.

sudo systemctl start supervisord
sudo systemctl enable supervisord

다음을 실행하여 프로세스 상태를 볼 수 있습니다.

sudo supervisorctl status

프로세스가 실행 중인지 확인해야합니다.

[user@vultr ~]$ sudo supervisorctl status
oro_message_consumer:oro_message_consumer_00   RUNNING   pid 13596, uptime 0:02:13
oro_message_consumer:oro_message_consumer_01   RUNNING   pid 13595, uptime 0:02:13
oro_message_consumer:oro_message_consumer_02   RUNNING   pid 13594, uptime 0:02:13
oro_message_consumer:oro_message_consumer_03   RUNNING   pid 13593, uptime 0:02:13

이제 OroCRM이 서버에 설치되었습니다. 이제 응용 프로그램을 사용하여 조직의 일상적인 작업을 관리 할 수 ​​있습니다. OroCRM에 대한 자세한 내용은 공식 웹 사이트를 방문하십시오 .



Leave a Comment

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.

ReactOS: 이것이 Windows의 미래입니까?

ReactOS: 이것이 Windows의 미래입니까?

오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

저널링 파일 시스템이란 무엇이며 어떻게 작동합니까?

저널링 파일 시스템이란 무엇이며 어떻게 작동합니까?

우리 컴퓨터는 모든 데이터를 저널링 파일 시스템이라고 하는 체계적인 방식으로 저장합니다. 검색을 누르는 즉시 컴퓨터에서 파일을 검색하고 표시할 수 있는 효율적인 방법입니다.https://wethegeek.com/?p=94116&preview=true

기술적 특이점: 인류 문명의 먼 미래?

기술적 특이점: 인류 문명의 먼 미래?

과학이 빠른 속도로 발전하고 우리의 많은 노력을 인수함에 따라 설명할 수 없는 특이점에 처할 위험도 높아집니다. 특이점이 우리에게 무엇을 의미할 수 있는지 읽어보십시오.

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

2021년 의료 분야에서 인공 지능의 영향

2021년 의료 분야에서 인공 지능의 영향

의료 분야의 AI는 지난 수십 년 동안 큰 도약을 했습니다. 따라서 의료 분야에서 AI의 미래는 여전히 나날이 성장하고 있습니다.