작성자 : 기술지원부 김 삼 수 kiss@nextline.net
APM(apache + php + mysql) utf-8 구현
구현환경 OS : CentOS 4.3 Apache : 1.3.34 Php : 4.4.2 Mysql : 4.1.18
( 1 ) utf-8 변경전 캐릭터셋 확인
vi 에디터 사용법
사용형식 : vi [옵션] [생성할 파일명/편집할 파일명]
vi 에디터는 입력모드, 명령모드, 실행모드로 구분됩니다.
입력모드 : vi 편집화면에서 문자를 입력할 수 있는 모드로서 입력모드로 진입하기 위해서는 i, a, o, I, A, O, R등이 있습니다. 즉 초기 vi 편집기 모드는 명령어 모드로 진입을 하기때문에 문자를 입력하기 전에 앞의 단축키중 하나를 먼저 입력해야 원하는 문자를 입력할 수 있습니다. 명령모드 : 커서이동/문자삭제/문자(열)교체/문자열검색 등을 할수 있는 모드로서 입력모드에서 편집이 완료되면 Esc키를 눌러 명령모드로 진입하면 됩니다.
x : vi 명령모드에서 커서위치의 한 문자 삭제 dw : vi 명령모드에서 커서위치의 한단어 삭제 dd : vi 명령모드에서 커서위치의 행 삭제 Ndd : vi 명령모드에서 커서위치의 여러행 동시 삭제
실행모드 : 특별한 명령어를 실행하는 모드로서 명령어모드에서 ":"(콜론)를 누르면 vi 화면 하단 좌측에 vi 특수명령어를 입력할 수 있습니다.
실행모드의 일반적으로 쓰이는 특수 명령어 q : 수정 작업이 이루어지지 않은 상태에서 vi 편집기에서 빠져나옵니다. q! : 수정 작업이 이루어진 부분을 적용시키지 않고 vi 편집기를 강제로 빠져나옵니다. w : 수정된 작업을 저장합니다. wq : 수정된 작업을 저장하고 vi 편집기에서 빠져나옵니다.
초기 명령어모드 -> 입력모드진입 -> 편집 -> 명령어모드 -> 실행모드 -> 종료
① php 정보를 확인하기 위하여 vi 에디터를 이용하여 php_test.php 파일을 생성합니다. [root@nextline ~]# vi /usr/local/apache/htdocs/php_test.php

② <? phpinfo(); ?> phpinfo(); ?>문을 추가합니다.

③ http://해당ip/php_test.php 확인화면 해당 ip : apm이 설치된 현재 서버의 ip를 입력하여 주시기 바랍니다.
웹 브라우저에 위 주소를 입력하시면 아래의 화면이 나오며 php, Zend, GD, Apache, Mysql, 라이브러리 등이 정상적으로 연동된 정보를 보여줍니다.
PHP Core 부분 확인 Default_charset

HTTP Headers Information Content-Type

④ Mysql 캐릭터셋 확인 [root@nextline ~]# mysql -u root -p Enter password: mysql> use mysql; mysql> show variables like 'c%';

( 1 ) apache 환경파일 편집
① httpd.conf 편집 [root@nextline ~]# vi /usr/local/apache/conf/httpd.conf

② AddDefaultCharset UTF-8 를 추가합니다.

( 2 ) php 환경파일 편집
① php.ini 편집 [root@nextline ~]# vi /usr/local/lib/php.ini

② default_charset = "utf-8" 를 추가합니다.

( 3 ) mysql 환경파일 편집
① [root@nextline ~]# vi /etc/my.cnf

② [mysqld] 영역에 아래와 같이 추가합니다.
init_connect=SET collation_connection = utf8_general_ci init_connect=SET NAMES utf8 default-character-set=utf8 character-set-server=utf8 collation-server=utf8_general_ci

③ [client] 영역에 아래 부분을 추가 합니다. Default-character-set=utf8

④ [mysql] 영역에 아래 부분을 추가합니다. Default-character-set=utf8

( 4 ) apache, mysql 서비스 재시작
① apache 서비스 재시작 [root@nextline ~]# /usr/local/apache/bin/apachectl restart

② mysql 서비스 재시작 [root@nextline ~]# /usr/local/mysql/bin/mysqladmin -u root -p shutdown Enter password: [root@nextline ~]# /usr/local/mysql/bin/mysqld_safe &

③ 포트확인
netstat 명령어 사용법 리눅스서버 라우팅테이블 확인과 네트웍 연결 상태등을 확인할 수 있는 명령어입니다.
사용형식 : netstat [옵션] -a 옵션 : --all 과 같으며 listen 되는 소켓정보와 listen 되지 않는 소켓정보 모두를 보여줍니다. -n 옵션 : --numeric 과 같으며 10 진수의 수치정보로 결과를 출력 합니다. -p 옵션 : --program 과 같으며 실행되고있는 각 프로그램과 PID 정보를 출력 합니다. “|” 파이프 : 앞의 netstat -anp 한 결과를 그대로 grep에게 넘겨주는 겁니다. grep는 어떤 패턴에 맞는 것을 뽑아내는 역할을 주로 하는데 앞에서 넘어 온 netstat 정보중 listen되는 소켓정보만 출력합니다.
[root@nextline ~]# netstat -anp | grep LISTEN Apache 기본포트 : 80 Mysql 기본포트 : 3306

( 5 ) utf-8 캐릭터셋 적용 확인
① phpinfo PHP Core

② HTTP Headers Information Content-Type

③ Mysql 캐릭터셋 확인 [root@nextline ~]# mysql -u root -p Enter password: mysql> use mysql; mysql> show variables like 'c%';

|
|