vTigerCRM 7 구축하기 - 2. AMP(Apache2, MySQL, PHP) 설치하기

VtigerCRM 7.0을 설치하기 위한 조건은 다음과 같습니다.

  • Apache 2.1 이상
  • MySQL 5.1 이상
    • storage_engine = InnoDB 로 설정
    • local_infile = ON ([mysql] 섹션에서 설정) 으로 설정
    • sql_mode = empty(혹은 NO_ENGINE_SUBSTITUTION), MySQL 버전이 5.6 이상인 경우
  • PHP 5.2 이상, 7.0 이상
    • php-imap 설치 필요
    • php-curl 설치 필요
    • php-xml 설치 필요
    • memory_limit : 최소 256MB 이상
    • max_execution_time : 최소 60초 이상
    • error_reporting : E_ERROR & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED 로 설정
    • display_errors = OFF로 설정
    • short_open_tag = OFF로 설정
  • 하드웨어
    • RAM : 4GB 이상
    • HDD : 250GB 이상
=======================================================

하나하나 확인해 봅시다.
  1. Apache 2.1 이상
    • Apache2는 아래 명령어로 설치됩니다. 
      • sudo apt install apache2
      • sudo apt install ssl-cert
      • sudo apt install certbot
      • sudo service apache2 restart
    • 설치 후 버전을 확인합니다. 
      • sudo apache2 -v
        • Server version: Apache/2.4.29 (Ubuntu)
        • Server built:   2019-09-16T12:58:48
    • Apache2는 2.1 버전 이상이고, 설치된 버전은 2.4.29이므로, 만족합니다. 
    • 기본 언어셋을 변경합니다.
      • vi /etc/apache2/conf-available/charset.conf
        • AddDefaultCharset UTF-8 활성화
    • HTTPS 서비스로 만들 생각이기 때문에, 아직 잘 모르지만, 아래 프로그램도 추가합니다. 
      • apt install ssl-cert : 인증서 관련 프로그램
      • apt install certbot : 무료인증서 발급 프로그램
      • a2enmod rewrite : Apache2 Module  활성화
      • a2enmod headers : Apache2 Module  활성화
      • a2enmod ssl : Apache2 Module  활성화
    • 기본 사이트 설정을 추가합니다. 
      • vi /etc/apache2/sites-available/000-default.conf
        • ServerName localhost 추가
      • mv /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/000-default-ssl.conf
      • vi /etc/apache2/sites-available/000-default-ssl.conf
        • ServerName localhost 추가
      • a2ensite 000-default-ssl.conf
      • sudo service apache2 restart
  2. MySQL 5.1 이상
    • MySQL은 아래 명령어로 설치됩니다. 
      • sudo apt install mysql-server
      • sudo apt install mysql-client
    • 버전 확인 : 5.1 이상인데, 설치된 버전은 5.7.29입니다.
      • sudo mysqladmin version
        • Server version          5.7.29-0ubuntu0.18.04.1
        • Protocol version        10
        • Connection              Localhost via UNIX socket
        • UNIX socket             /var/run/mysqld/mysqld.sock
        • Uptime:                 6 days 23 hours 52 min 15 sec
    • mysql 초기화 작업
      • /usr/bin/mysql_secure_installation
        • plugin 설치 --> y
        • 비밀번호 수준 ----> 0 (낮음)
        • 비밀번호 설정 ----> 비밀번호 입력
        • anonymous user 제거 -----> y
        • root 원격접속 허용하지 않음 ----> y
        • 테스트 db 제거 ----> y
        • privilege table 즉시 업데이트 ----> y
    • storage_engine = InnoDB 인지 확인하기
      • sudo mysql -u root -p 로 로그인 후
        • show engines;
          • InnoDB : DEFAULT 확인
          • Transactions : YES 확인
          • XA : YES 확인
          • Savepoints : YES 확인
      • 기본이 InnoDB이므로 특별히 수정할 사항 없음
    • local_infile = ON ([mysql] 섹션에서 설정) 으로 설정하기
      • sudo mysql -u root -p 로 로그인 후
        • show variables like '%infile%';
          • local_infile : ON 확인
      • 기본값이 local_infile이 ON이므로 특별히 수정할 사항 없음
    • MySQL 버전이 5.6 이상인 경우, sql_mode = empty(혹은 NO_ENGINE_SUBSTITUTION) 확인하기
      • sudo mysql -u root -p 로 로그인 후
        • select @@global.sql_mode;
          • ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
      • 음, 기본값으로 strict 모드로 설정되어 있습니다. 이걸 그냥 공백으로 변경하겠습니다. 
        • sudo vi /etc/mysql/my.cnf
          • [mysqld] 섹션
            • sql-mode=""
        • 저장하고 빠져 나온 뒤, sudo service mysql restart로 mysql 재시작
      • sudo mysql -u root -p 로 로그인 후
        • select @@global.sql_mode;
          • 아무것도 없는 것을 확인할 수 있습니다.
    • 문자셋 utf8로 설정
      • sudo mysql -u root -p 로 로그인 후
        • mysql> show variables like 'c%';
        • 기본값을 출력해 보면, latin1으로 설정되어 있는 부분을 확인할 수 있을 것이다.
      • UTF8로 설정을 변경합니다.
        • sudo vi /etc/mysql/my.cnf
          • [client] 섹션
            • default-character-set=utf8
            • [mysqld] 섹션
              • character-set-client-handshake=FALSE
              • character-set-server = utf8
              • collation-server = utf8_general_ci
              • init_connect="SET collation_connection = utf8_general_ci"
              • init_connect="SET NAMES utf8"
            • [mysql] 섹션
              • default-character-set=utf8
              • [mysqldump] 섹션
                • default-character-set=utf8
          •  

      댓글

      이 블로그의 인기 게시물

      CNC 용어정리 #7 - 포토커플러/옵토커플러 (Photocoupler/Optocoupler)

      CNC 만들기 #6 - GRBL V1.1 설정