웹사이트 검색

Ubuntu 16.04 LTS에서 Nginx와 함께 OroCRM을 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 시작하기\n
  3. LEMP 서버 설치
  4. OroCRM용 MariaDB 구성
  5. Node.js 및 Composer 설치
  6. OroCRM 설치
  7. OroCRM용 Nginx 구성
  8. OroCRM에 액세스

OroCRM은 다중 채널 관점에서 전자 상거래 및 마케팅 팀을 완전히 대상으로 하는 오픈 소스 CRM(Customer Relationship Manager) 플랫폼입니다. 완벽하게 사용자 정의할 수 있으며 수많은 기능을 제공하는 기업용 CRM 애플리케이션입니다. PHP Symfony 프레임워크를 기반으로 하며 MySQL을 사용하여 데이터를 저장합니다. OroCRM은 Community Edition(CE)과 Enterprise Edition(EE)의 두 가지 버전으로 제공됩니다. Magento 및 기타 솔루션과 같은 다른 전자 상거래 플랫폼과 쉽게 통합할 수 있습니다.

이 튜토리얼에서는 Ubuntu 16.04에 OroCRM을 설치하는 방법을 배웁니다.

전제 조건

  • Ubuntu 16.04를 실행하는 서버.\n
  • sudo 권한이 있는 루트가 아닌 사용자.\n

시작하기

먼저 시스템을 최신 버전으로 업데이트해야 합니다. 다음 명령으로 이 작업을 수행할 수 있습니다.

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 셸에 로그인하고 OroCRM용 데이터베이스와 사용자를 만듭니다.

mysql -u root -p

루트 암호를 입력하고 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 셸을 종료합니다.

MariaDB [(none)]> EXIT

MariaDB가 구성되면 다음 단계로 진행할 수 있습니다.

Node.js 및 Composer 설치

또한 시스템에 Node.js 및 Composer를 설치해야 합니다. Node.js는 OroCRM에서 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: 
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 웹 인터페이스에 액세스할 시간입니다.

웹 브라우저를 열고 URL htttp://example.com을 입력하면 아래와 같이 OroCRM 로그인 페이지로 리디렉션됩니다.

관리자 사용자 이름과 암호를 입력한 다음 로그인 버튼을 클릭하면 다음 이미지와 같은 OroCRM 대시보드가 표시됩니다.

축하해요! OroCRM이 이제 Ubuntu 16.04 서버에 설치되었습니다.