yum(rpm) 으로 APM 과 Zend Optimizer 설치및연동 2009 년 9 월 22 일 http://www.commit.co.kr 정현호 admin@commit.co.kr
Yum 으로 APM+ Zend optimizer 설치환경및버전 OS Centos 5.2 Apache2.2 PHP MYSQL RAM httpd-2.2.3-22.el5.centos.2 php-5.1.6-23.2.el5_3 mysql-5.0.77-3.el5 755MB *** 4 월 22 일수정됨 *** 설치순서는 apache mysql php 순으로설치하겠습니다작업은 root 로합니다 1.apache 설치 # yum -y install httpd 2. mysql 설치 # yum -y install mysql mysql-server mysql-devel *** 설치후 mysql 계정과 mysql 그룹은자동추가가됩니다 3. 필요라이브러리설치 # yum -y install zlib zlib-devel freetype freetype-devel freetype-utils gd gd-devel libjpeg libjpeg-devel libpng libpng-devel php-gd libmcrypt libmcrypt-devel 4. php 및 php-mysql 연동설치 # yum -y install php php-mysql 5. mysql에서사용할환경설정파일을복사합니다시스템에따라다르니아래를참조합니다 my-huge.cnf 1GB 이상메모리 my-large.cnf 512MB ~ 1GB my-medium.cnf 128MB ~ 256MB my-small.cnf 64MB 이하필자의시스템은메모리가 755MB임으로 my-large.cnf 를이용합니다 파일을복사합니다기존에파일이있기에덮어쓸꺼냐고물어보는데 y 를치고엔터를칩니다 # cp /usr/share/mysql/my-large.cnf /etc/my.cnf cp: overwrite `/etc/my.cnf'? y
my.cnf 에 UTF-8 로 character set 을지정합니다 아래내용을섹션에따라서기술해주세요 [client] [mysqld] init_connect=set collation_connection = utf8_general_ci init_connect=set NAMES utf8 character-set-server = utf8 collation-server = utf8_general_ci [mysqldump] [mysql] 6. 기본관리 db를설정하고권한지정 # /usr/bin/mysql_install_db --user=mysql # chown -R root /usr/bin/ # chown -R mysql /var/lib/mysql/ # chgrp -R mysql /usr/bin/ 7. 재부팅후자동실행가능하도록등록해줍니다 # /sbin/chkconfig --list grep mysqld mysqld 0: 해제 1: 해제 2: 해제 3: 해제 4: 해제 5: 해제 6: 해제 만약글짜가깨진다면 LANG=C 라고치신다음다시해보시기바랍니다 필자는런레벨 3( 콘솔부팅 ) 로이용하기에 # /sbin/chkconfig --level 3 mysqld on 이렇게하지만보통의환경이라면 # /sbin/chkconfig --level 2345 mysqld on 로해줍니다 # /sbin/chkconfig --list grep mysqld 로확인합니다
8. mysql 시작, root 비밀번호설정 Mysql 을시작과종료방법에는 3 가지방법이있습니다편한대로사용하면됩니다 [ 데몬직접실행및중지 ] /etc/init.d/mysqld [start stop] [service 로실행및중지 ] /sbin/service mysqld [start stop] [mysql 직접실행및중지 ] /usr/bin/mysqld_safe & /usr/bin/mysqladmin shutdown ** 동작확인 이제 root패스워드를지정합니다 # mysql mysql mysql > update user set password=password(' 변경할패스워드 ') WHERE user='root'; mysql > flush privileges; mysql > quit 한후에 # mysql u root p < 엔터 > 밑에줄에비번치고들어가서 Show databases; 를쳐서 db 상태를확인합니다
케릭터셋도확인해봅니다 show variables like "c%"; <-- 쿼리를날리면 확인후 exit 9. apache 세팅연동부분만다루기에기본세팅만합니다자세한세팅은따로찾아보셔야합니다 # vi /etc/httpd/conf/httpd.conf 로열어서 DirectoryIndex index.jsp index.html index.php index.html.var 부분에위와같이 index.php를추가합니다그리고밑의내용을추가합니다 AddType application/x-httpd-php.php.php3.html.htm.phtml.inc AddType application/x-httpd-php-source.phps #ServerName www.example.com:80 에서 # 을제거해줍니다 저장하고나온후 # service httpd restart 등으로아파치를재시작합니다 /var/www/html 에 phpinfo.php 파일을만든후안의내용은밑에와같이기술합니다 <? phpinfo();?> 저장한후에 http:// 주소 /phpinfo.php 나 http://localhost/phpinfo.php 를쳐서정상출력되면 apache 와 php 는정상연동된것이다
** 외부에서접속테스트시방화벽 80 포트열어줘야합니다 ** 10. zend optimizer 설치 http://www.zend.com/en/products/guard/downloads 로가서 os 와아키텍처에맞는버전을다운받습니다 ( 혹은다른곳에서알아서 ) 필자가사용한버전은 ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz 입니다 적당한위치에서압축을풉니다 # tar zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz 3.3.9 버전부터는이전버전의 install.sh 이제공되지않습니다일단설치된 php버전을확인합니다 # php -v PHP 5.1.6 (cli) (built: Apr 7 2009 08:00:04) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies 위내용으로 5.1.6 으로알수있습니다 php버전에따른 zend모듈을복사합니다 # cd ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_1_x_comp # cp ZendOptimizer.so /usr/lib/httpd/modules/ /etc/php.ini 에아래내용을추가합니다 [Zend] zend_optimizer.version=3.3.9 zend_extension=/usr/lib/httpd/modules/zendoptimizer.so 그리고 php v 를하면전과다르게 Zend Optimizer v3.3.3 가보입니다 조금은이상한것이 3.3.9 로나와야하는데안나오니 ;; 좀이상하긴합니다 추가후혹시 php -v 하였을시아래와같이나온다면 Failed loading /usr/lib/httpd/modules/zendoptimizer.so: /usr/lib/httpd/modules/zendoptimizer.so: cannot restore segment prot after reloc: Permission denied 레드햇계열인 rhel 이나 fedora나 centos인경우에는일단 setenforce 0 으로 selinux 기능을끄시고 vi /etc/sysconfig/selinux 열어서 SELINUX=enforcing 되어있는거을 disabled 로변경하시면다음부팅에도 selinux가비활성화됩니다
아파치서버를재시작합니다 # service httpd restart 위에서실행했던 phpinfo.php 를다시실행합니다 http:// 주소 /phpinfo.php 혹은 http://localhost/phpinfo.php 밑의두내용이있다면 zend optimizer 가정상작동하고있는것입니다 APM 연동과 Zend optimizer 설치를마칩니다