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 이상
=======================================================
하나하나 확인해 봅시다.
- 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
- 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
댓글
댓글 쓰기