Ubuntu 16.04 LTS에서 Nginx와 함께 OroCRM을 설치하는 방법
이 페이지에서
- 전제 조건
- 시작하기\n
- LEMP 서버 설치
- OroCRM용 MariaDB 구성
- Node.js 및 Composer 설치
- OroCRM 설치
- OroCRM용 Nginx 구성
- 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 서버에 설치되었습니다.