httpd mysql php 설치 및 세팅

일단 설치는 알아서들 잘했다고 간주하고 인터넷이 되는지 확인 해보자 그래야 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

그리고다시 핑테스트를 해보고나서  핑이 잘 뜨면 인터넷은 잘 된다고 보고 일단 업데이트부터 하자..

# 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를 사용해 보라 조금은 편하게 사용 할 수 있을 것이다.
사실 제일 편한건 콘솔에서 직접 하는 것보다 뿌띠로 열어서 하는것과 FTP로 수정 하는것이다.. 위에서 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 해줘야 함을 잊지말자! 꼭..