CentOS APM yum으로 설치

7 minute read

http://blog.bits.kr/11

 

이 글은 2012년 6월 23일에 개정/수정되었습니다. 주기적으로 수정이 되지만 큰 틀은 벗어나지 않을 것입니다.

수정일 기준 CentOS 6.2 기준으로 작성되었습니다.

** 검색해보면 이글을 퍼가신분들이 참 많아요.. 출처를 밝히신분들도 있는반면  무시하신 분들이 생각보다 많네요. 초큼 속상하군요..

CentOS는 RedHat Enterprise의 클론 리눅스다.. 무료로 RHEL의 검증되고 안정된 서버를 구축할 수 있다는 장점을 가지고 있다.

서버용으로 설치한다고는 해도 설치과정은 GUI로 할 수 있으니 파티션 잡는 것만 잘 넘어간다면 어려운 것은 없으니 언급하지 않겠다. 기회가 되면 이것도 한번 다뤄보는 것도 좋을 듯 싶기도 하고..

참고로 좀 안다 싶은 사람들을 위한 것이 아닌 본인처럼 완전 개초보를 위한 글이므로 이 글을 읽는 사람 중에 이건 아니다 싶어 뭔가 한소리 하고 싶은 사람은 미련 없이”GET OFF!!”하기 바란다…

사실 APM설치에 대해 인터넷에서 검색해보면 굉장히 많은 자료가 나오고 그 자료 마다 컴파일인 설치하는데 있어서의 방법 등에 있어서 상당히 다른 방법을 제시하는 경우가 많다.

그들을 무시 하는 것은 아니지만 초보가 보기에는 상당히 혼란스럽고 어렵기만 하다. 도데체 뭘보고 해야 한단 말인가? 어느 것이 정확한 방법인가? 그리고 꼭 뭔가 하나씩 빼놓고 말한다. 그것 때문에 막혀서 안되는 경우도 허다하고. 또한 안정적으로 검증된, 제공된 방법으로 설치를 하고 싶을 수도 있고.

세세한 커스터마이즈는 나중에 따로 해보고 지금 당장 설치를 원하는 초보들을 위해 yum으로 설치하는 방법을 소개하고자 한다. (더 쉬운 건 첨에 설치할 때 패키지 설치 해버리면 끝이겠지만……)

더보기

일단 설치는 알아서들 잘했다고 간주하고 인터넷이 되는지 확인 해보자 그래야 yum이던 뭐든 할것이다. 구글사마께 핑을 드려보자.

# ping -c3 google.com

언노운이거나 하면 아래와 같이 파일을 열어서 수정하면 된다.( 6버전에서 이럼 ^^a)

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

ONBOOT=no 를

ONBOOT=yes 로 고쳐주자.

** 편집은 i키를 누르고 수정하면되고 esc키를 눌러 편집 종료, :wq 라고 입력하고 엔터 하면 저장 하고 종료된다. 수정까지 하고  저장 했다면 아래와 같이 네트워크를 다시 시작해주자.. IP받아오는것을 알 수가 있다

# /etc/rc.d/init.d/network restart

그리고다시 핑테스트를 해보고나서  핑이 잘 뜨면 인터넷은 잘 된다고 보고 일단 업데이트부터 하자!  RHEL은 충분한 테스트와 검증을 거쳐 업데이트 되므로 아주 특별한 이유로 이전 버전을 사용할 이유가 없다면 업데이트는 습관처럼 하는것이 좋겠다.

# yum update

나중에 해도 되는데 업데이트부터 하는게 나을 것 같다. 그럼 이제 본격적으로 시작이다.

준비작업 (현 단계에서는 필수가 아니고 약간의 편의를 위함이므로 넘어가도 되고 아래 실제 설치 단계에서도 사용하지는 않는다.) 1. putty 리눅스 자체 콘솔 보다는 putty가 다루는데 많은 편의를 제공 할 것이다. “창 - 변환 - 수신 데이터의 문자 셋 변환”에서 UTF8로 설정하고 접속 하면 한글도 잘 보이고 좋다.(리눅스 설치시 캐릭터셋에 따라 다르다.)

2. FTP서버 ftp서버 환경을 미리구성하고 놓고 작업을 하면 조금은 더 편하다. 언젠가는 설치 해야 하니까 FTP환경을 구축해보자. 설치는 vsftpd를 해보자.

# yum -y install vsftpd

설정 편집은 다음과 같이 하자.

# vi /etc/vsftpd/vsftpd.conf

편집은 i키를 누르고 수정, esc키를 눌러 편집 종료, :wq 라고 입력하고 엔터 하면 저장 하고 종료. 특별히 지금은 설정할 필요가 별로 없다. 나중에 인터넷의 각종 글들을 참조 해서 설정해주고 일단 chroot_list만 비활성또는 주석 되어 있는지 확인만 하자. 이유는 내 폴더의 상위에 접속 할 수 있어야 설치 단계에서는 그나마 편하기 때문인데 혼자 집에서 연습삼아 하는것이라면 내버려둬도 상관없지만 나중에 서비스할 서버를 만진다면 보안의 문제가 있으니 반드시 막아두어야한다.

뿌띠와 FTP서버가 준비 되었으면 설치 작업을 시작 한다.

apacahe, mysql, php순으로 APM 설치

# yum -y install httpd # yum -y install mysql # yum -y install php

보통 알아서 빠른 미러를 찾아 의존성까지 확인해서 연계된 필수 패키지까지 알아서 설치 해준다.

이렇게 설치를 마치면 작성일/수정일 기준

아파치는 2.2.15

php는 5.3.3

으로 설치된다.

추가 관련 라이브러리 설치

# yum -y install gd gd-devel # yum -y install libpng libpng-devel # yum -y install libjpeg libjpeg-devel # yum -y install freetype freetype-devel # yum -y install fontconfig  fontconfig-devel # yum -y install libxml2 libxml2-devel # yum -y install openssl openssl-devel # yum -y install gmp gmp-devel # yum -y install mhash mhash-devel # yum -y install libmcrypt libmcrypt-devel # yum -y install mysql-server # yum -y install php-mysql # yum -y install php-devel # yum -y install php-gd # yum -y install php-mbstring # yum -y install php-mhash

이 밖에도 pear나 pear-MDB2등 원하는 패키지를 설치 할 수도 있다.

이미 설치되어 있는것도 있을 수 있고 아무튼 해보자 ^^; (gd와 함께 설치되는것이 은근히 많은듯 ^^)

MYSQL 설정 - 안하고 패스 해도 됨

이제 설정을 하자…

mysql에서 사용할 환경 설정파일을 복사해야 하는데 시스템에 따라서 좀 다르다. 아래를 참조하자

my-huge.cnf       1GB 이상 메모리

my-large.cnf       512MB ~ 1GB

my-medium.cnf  128MB ~ 256MB

my-small.cnf      64MB 이하

# cp /usr/share/mysql/my-large.cnf /etc/my.cnf

본인은 Virtual Box로 설치해봤는데 512여서 large를 사용했다.

기본관리 db를 설정하고, 권한지정도 해주자

# /usr/bin/mysql_install_db –user=mysql # chown -R root /usr/bin/ # chgrp -R mysql /usr/bin/ # chown -R mysql /var/lib/mysql/

이제 콘솔에서도 mysql 명령들을 사용 할 수 있도록 등록해보자.

# vi ~/.bash_profile

PATH부분에 다음과 같이 추가 한다

PATH=$PATH:$HOME/bin:/usr/bin

지루한 mysql 설정은 이제 다 끝났다! 다만 재부팅 후 자동으로 실행 할 수 있도록 등록만 해주면 된다. 다시 켜지고 멍하니 서비스 안된다고 손가락 빨지말고. 일단 확인 해보자.

# chkconfig  –list grep mysqld mysqld  0:off 1:off 2:on 3:on 4:on 5:on 6:off

위와 같이 나오지 않는다면? 아래와 같이 설정하자

# chkconfig –level 2345 mysqld on

다시 확인해 보면 원하는 대로 되어 있을 것이다.

이제 mysql를 시작하고 루트 비밀번호를 설정하고 동작 하는지 확인한 후 mysql은 끝내자.

# /etc/rc.d/init.d/mysqld start # /usr/bin/mysqladmin -uroot password 비번

동작은 하나?

# netstat -lntp

위와 같은 명령에서 보이는 결과중 “mysqld”  ”:::3306” 뭐 이런 글귀가 보이면 정상적으로 동작한다고 생각해도 된다.

APACHE & PHP설정

# vi /etc/httpd/conf.d/php.conf

아래 두줄을 찾아 아래처럼 고친다.

AddHandler php5-script .php .htm .html AddType application/x-httpd-php-source .phps .php .htm .html <-요건 주석도 지워야 할것임..

수정이 끝났으면 저장 하고  같은 방법으로 httpd.conf 파일을 아래와 같은 부분들을 찾아 수정/추가한다.

# vi /etc/httpd/conf/httpd.conf

#ServerName www.example.com:80 (자신의 서버이름이니 알아서 적당히) => ServerName localhost:80 Options Indexes FollowSymLinks   => Options -Indexes

AllowOverride None   => AllowOverride All DirectoryIndex index.html index.html.var => DirectoryIndex index.html index.htm index.php AddType application/x-gzip .gz .tgz 을 찾아 그 다음줄에 아래 두줄  내용 추가 AddType application/x-httpd-php .htm .html .php .ph php3 .php4 .phtml .inc AddType application/x-httpd-php-source .phps#AddHandler cgi-script .cgi 주석 삭제 => AddHandler cgi-script .cgi

*  사실 vi 나 vim등 리눅스의 에디터는 윈도우즈에 익숙한 사람에게는 더 없이 당황하게 만드는 소프트웨어중 하나인데(적응만 한다면 최고의 에디터라고는 하지만 본인에게도 적응은 요원하기만 하다. ㅋ) 좀 쉽게 사용을 원한다면“#yum -y install mc” 해서 mc를 사용해 보길 권하는데 mc 자체에서 제공하는 에디터도 조금은 익숙한 모습이고 조금은 편하게 사용 할 수 있을 것이다. 사실 제일 편한건 콘솔에서 직접 하는 것보다 뿌띠로 열어서 하는것과 FTP로 수정 하는것인데 에디트플러스 같은걸로 바로 수정하면 되니까.

여기서 수정하고 추가 할것이 많기는 많다. 엄청.. 인터넷을 뒤져 보면 이부분에 대한 많은 문서를 접할 수 있을 거라고 생각 되는데  이 문서가 부족하다고(분명 부족하다!) 느끼는 사람이 있거나 입맛에 맞는 설정을 원하는 사람은 맛보기로 설치 해보고 제대로 공부 해보자.

분명 잘(?) 찾아보면 친절히 설명된 많은 문서를 볼 수 있을것이다.

자 마지막으로 apache다!

설정 할 것은 일단 하나뿐이고 어렵 않으니 후딱하도록 하자!

특별히 다른 것은 없고 부팅 시 자동 실행이 되도록 되어 있나 확인만 해보자

# chkconfig  –list grep httpd httpd  0:off 1:off 2:on 3:on 4:on 5:on 6:off

역시나 위처럼 나오지 않는다면 아래와 같이 설정한다.

# chkconfig –level 2345 httpd on

다시 확인해 보면 원하는 대로 되어 있을 것이다.

이제 apache를 시작해보고 동작이 되는지 확인한다

# /usr/sbin/apachectl start # netstat -lntp

위와 같은 명령에서 보이는 결과중 “httpd”  ”:::80” 뭐 이런 글귀가 보이면 정상적으로 동작한다고 생각해도 된다.

끝으로 시스템을 전체적으로 업데이트 해보자

# yum update

주루룩 뭔가 많이 지나가고 업데이트 된다. 끝났다면

# reboot

으로 시스템을 재시작 함으로서 모든 설치 과정은 끝난다.

이후 성능 업을 위해 아래 글을 따라가서 옵티마이저를 설치 하면 되겠다..

2010/08/09 - [Digital 이야기/S/W 이야기] - Zend Optimizer, eAccelerator yum으로 설치하기.

테스트 설치 환경

VM : vmware

RAM :  1024MB

HDD : 80GB

OS image : CentOS-6.2-x86_64-bin-DVD1.iso, CentOS-6.2-x86_64-bin-DVD2.iso

공유기사용중으로 Bridge로 네트워크 설정 호스트OS와 같은 대역으로 IP를 사용해서인지 게스트OS의 네트워크 사용에무리가 없었다. 공유기를 쓰니 오히려 NAT나 HOSTonly보다는 편하고, 어차피 공유기에서 NAT가쓰이지만,,, ^^

아래는 위 설정 방법으로 설치된 스크린샷이다.

접기

접기

사실 apache의 httpd.conf의 설정 등 세세한 것이 아~~~주 많이 남았다. 저 대로만으로는 서비스는 당연히 좀 무리가 있기는 하지만 개발용도로는 충분할것으로 생각된다. 하지만 위에 설명한 것 만으로도 처음 글을 시작할 때yum으로 간단히 설치하기의 취지에 조금 벗어나지 않았나 싶을 정도로 긴 설치였지만, 이런저런 세팅으로 생각보다 좋은 기대성능을 보여준다.

사실 컴파일 설치시 더 좋은 성능 향상을 기대 할 수는 있다. 다만, 설치하는 사람 마다 노하우가 다르고 말그대로 노하우여서 속속들이 설명 해주는 사람도 드물고 여기저기 물어보고 시행착오를 좀 해야 정상적인 동작을 기대 할 수 있을것이다.

또한, 일관적이고 관리의 편리함을 따진다면 yum 설치만한것이 없다고 개인적으로 생각되고 이후 리눅스를 다루는데 어려움이 없어진다면 시도해보길 바라는 바이다.

설치는 차근히 따라만 한다면 쉽게 끝낼 수 있겠지만 아마도 정작 설치법보다 vi의 사용법이 더 어려울이라는 생각이드는데, 사실 본인도 적응하기까지 상당히 많은 시간이 필요했고 아직도 능수능란하게 사용하지는 못한다. vi로 프로그래밍하시는분들 존경하는 바이다.

그리고 실제 릴리즈된 버전보다 yum으로 설치하면 버전이 낮은 경우가 많은데 글의 서두에 말했다시피 CentOS는RHEL의 클론이다. 즉 안정성에 우선된 검증된 릴리즈를 이용한다는 것이라고 보면 틀리지 않다고 생각된다.

엔터프라이즈 환경에서의 가장 중요한 점은 성능도 성능이지만 안정성이 최우선시 되는 게 당연하다고 본인은 느끼기 때문에 버전이 현재 릴리즈보다 낮다고 나쁠 건 없지 않겠는가?

CentOS 6에서는 더 상위버전이므로 아래 내용은 무시하자. ^^; 추가. 위 방법대로 설치시 PHP 5.1.6으로 설치 된다. 이러저러한 이유로 상위 버전으로 설치하고 싶다면 아래처럼 해보자.

 

# cd /etc/yum.repos.d # wget http://dev.centos.org/centos/5/CentOS-Testing.repo $ yum –enablerepo=c5-testing update php

이렇게 하면 5.2.10으로 설치된다.

나중에 상위버전으로 설치한 경우 반드시 yum update 해줘야 함을 잊지말자! 꼭..

끝으로 알아야 할것은 여기서는 설치에 대한 이야기만 다루었습니다. 그로인해 페이지가 보이지 않을 수도 있습니다.

제가 알려주지 않아서? 뭐 그럴수도있고 아닐수도 있습니다 ㅋ

분명 APM설치는 저것만 제대로하면 100% 다 됩니다만, 방화벽 관련하여 설정하셔야 하는것 잊지 마셔야합니다. 방화벽 관련 문서를 검색해보시길 권장합니다.

setup이 설치 되어 있다면 setup 명령으로 간단히 끄고 켤 수도 있습니다.

그리고 앞에서 몇번 언급 했드시 왕초보를 위한 설치법인지라 설정의 많은 부분이 빠져 있습니다. 이 문서는 테스트 화면 보기까지의 여정이랄까요? 상세한 설정등은 꼭 다른 문서를 찾아 설정해보시길 부탁드립니다. 첫 발은 쉽게 하셨으니 조금만 노력하시면 금방 하실 수 있을 겁니다.