vTiger CRM 구축하기 #2 시스템 확인하기

이번에는 구축된 하드웨어 시스템에 설치된 OS의 설정들을 살펴보려 합니다.

LAMP 살펴보기

LAMP는 앞에서도 이야기한 바와 같이 Linux, Apache, MySQL, PHP Perl 등을 말합니다. vTiger CRM도 당연히 LAMP를 요구하고 있습니다. 

vTiger CRM에서 요구하는 환경을 한번 살펴봅시다. 요구하는 사양은 다음과 같습니다. 
  • Web Server : Apache 2.0.40 혹은 그 이상 버전
  • Database : MySQL Version 5.1.x 이상
  • PHP : PHP Version 5.2.x 이상 5.4.0 이상
  • Web Browser : Firefox 1.5.x 이상, IE7 이상 (Chrome 버전에 대한 내용은 없군요)
  • Operating System : Debian 4.0/5.0, Centos, Ubuntu or Fedora Core/6/9
설치한 구닥다리 시스템에서 이러한 요구사항을 만족하는지 살펴보겠습니다.

Operating Systme

Ubuntu 14.04.4를 설치하였습니다. 뭐, 특별한 버전에 대한 내용이 없으니 만족하는 것으로 보겠습니다. Ubuntu 16.04 패키지는 PHP 7.0이 설치되어서 그런지 인스톨 과정에서 문제가 발생하였습니다. Ubuntu 12.04.5 패키지는 PHP 5.3.10으로 요구사항인 PHP 5.4 이상을 충족시키지 못하였습니다.

Web Server

Ubuntu에서 제공하는 LAMP 패키지를 설치하였습니다. 우분투에서는 다음 명령어를 통해 우분투 버전을 확인할 수 있습니다. 

pusanbear@TESTCRM-pusanbear:/var/www$ apache2 -v
Server version: Apache/2.4.7 (Ubuntu)
Server built:   Jul 15 2016 15:34:04

2.4.7 버전이니 만족하는군요.

Database

DB는 MySQL을 사용합니다. 버전부터 살펴볼까요?

pusanbear@TESTCRM-pusanbear:/var/www$ mysql --version
mysql Ver 14.14 Distrib 5.5.50, for debian-linux-gnu (x86_64) using readline 6.3


5.5.50이군요. 5.2.x 이상이니 만족하네요. 하지만 vTigerCRM 설치 문서에 보면 다음과 같은 조건이 있습니다. 
SQL_MODEShould not have STRICT_TRANS_TABLE
ENGINE=InnoDBShould be available. (Turn off --skip-innodb)
 음, SQL_MODE부터 살펴 보겠습니다.
STRICT_TRANS_TABLE
대략적으로 살펴보니, not null 속성, 즉 반드시 입력값이 있어야 하는 칼럼으로 설정한 경우, STRICT 모드는 반드시 값이 입력되어야 데이터가 입력되며, STRICT 모드를 비활성화하는 경우 칼럼 값으로 NULL을 설정하여 데이터를 입력해도 데이터 입력을 받아주게 됩니다. 
우선 default mode 값을 확인합니다. 다음 명령어로 mysql로 로그인합니다.

pusanbear@CRM-TEST-pusanbear:/etc/mysql$ mysql -u root -p

실행하면 패스워드 입력화면이 나타납니다. LAMP 설치 시 설정한 MySQL 비밀번호를 입력하시면 됩니다.

password:

MySQL 로그인 후 sql_mode 설정이 어떻게 되어 있는지 확인하기 위해 아래 명령어를 수행합니다.

mysql> select @@global.sql_mode;
+-------------------+
| @@global.sql_mode |
+-------------------+
|                   |
+-------------------+
1 row in set (0.00 sec)

특별한 제한값이 없습니다.

ENGINE=InnoDB를 확인해 보겠습니다.

인터넷을 확인해 보니, MySQL은 여러 개의 DB엔진이 있고, 엔진을 선택할 수 있다고 되어 있군요. 링크를 참조하시면 기본 정보를 얻으실 수 있습니다. 버전 5.5. 이상에서는 기본 엔진이 InnoDB로 되어 있군요.

mysql> show engines;
+-------------+---------+---------+----------+------+------------+
| Engine      | Support | Comment | Transac~ | XA   | Savepoints |
+-------------+---------+---------+----------+------+------------+
| PERFORMA~   | YES     |   ~     | NO       | NO   | NO         |
| CSV         | YES     |   ~     | NO       | NO   | NO         |
| MRG_MYISAM  | YES     |   ~     | NO       | NO   | NO         |
| BLACKHOLE   | YES     |   ~     | NO       | NO   | NO         |
| InnoDB      | DEFAULT |   ~     | YES      | YES  | YES        |
| MEMORY      | YES     |   ~     | NO       | NO   | NO         |
| ARCHIVE     | YES     |   ~     | NO       | NO   | NO         |
| MyISAM      | YES     |   ~     | NO       | NO   | NO         |
| FEDERATED   | NO      |   ~     | NULL     | NULL | NULL       |
+-------------+---------+---------+----------+------+------------+
9 rows in set (0.00 sec)

InnoDB가 기본으로 되어 있네요. 기본적으로 사용하고 있으니, 사용 가능하다고 판단합니다. 

한글 사용때문에, 기본 문자셋을 변경해 놓고 가겠습니다. (특별한 언급은 없으나, 일단 불안하니 설정해 놓게 가겠습니다.) 우선 설정부터 봅시다.

mysql> show variables like 'c%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
| collation_connection     | utf8_general_ci            |
| collation_database       | latin1_swedish_ci          |
| collation_server         | latin1_swedish_ci          |
| completion_type          | NO_CHAIN                   |
| concurrent_insert        | AUTO                       |
| connect_timeout          | 10                         |
+--------------------------+----------------------------+
16 rows in set (0.00 sec)

일부는 latin1으로 설정되어 있습니다. 일단 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


MySQL에 접속해서 문자열 설정이 바뀌었는지 확인해 봅시다.

mysql> show variables like 'c%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
| collation_connection     | utf8_general_ci            |
| collation_database       | utf8_general_ci            |
| collation_server         | utf8_general_ci            |
| completion_type          | NO_CHAIN                   |
| concurrent_insert        | AUTO                       |
| connect_timeout          | 10                         |
+--------------------------+----------------------------+
16 rows in set (0.00 sec)

다 utf8로 변경된 것을 확인할 수 있습니다. 

이번은 여기까지~~~

 



댓글

이 블로그의 인기 게시물

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

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