Live Brilliant

centOS 5.4 웹서버 구축1 본문

개발은 핵찜이야/리눅스

centOS 5.4 웹서버 구축1

주인정 2012. 4. 17. 15:25

centOS 5.4 웹서버 구축1

 

CentOS 5.4 를 웹서버로 만드는 작업을 본격적으로 시작했다.

구성 다음과같이 결정했다.

apache -> httpd-2.2.16.tar.gz

php -> php-5.3.3.tar.gz

mysql -> mysql-5.1.51.tar.gz

phpmyadmin -> phpMyAdmin-3.2.4-all-languages.tar.gz

ZendOptimizer -> ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz

mod_evasive -> http://www.zdziarski.com/projects/mod_evasive/

###########################################################################

설치 웹서버(apm) => apache, php, mysql
설치 방법 => 소스 파일 다운로드후 컴파일을 통해 설치
###########################################################################

- yum은 Yellowdog Updater, Modified의 약자로 rpm기반의 시스템을 위한 자동 업데이터이자

패키지 설치/삭제도구입니다. Yum은 자동적으로 의존성을 처리해주며 rpm 패키지들을 안전하게

설치, 삭제 및 업데이트하기 위해 반드시 해야할 일들을 스스로 해결합니다.

###########################################################################

1. 설치순서

1) 소스다운로드, 라이브러리 점검 및 설치

-----------------------------------------

2) MySQL 설치 및 설정

- Mysql 소스 컴파일

- 환경설정 : /etc/ld.so.conf

- 초기와 DB생성

- 사용자/그룹생성 및 DB소유권 변경

- 자동 시작 등록

3) 아파치 설치 및 설정

- 아파치 소스 컴파일

- 환경설정

/etc/ld.so.conf

/etc/init.d/httpd

- 자동시작 등록

4) PHP 설치 및 설정

- PHP소스 컴파일

- httpd.conf 등록

- 웹서버 재구동

5) 테스트

------------------------------------------------

2. 서버 상태(환경) 점검

1) 기존 apm 삭제

- rpm 을 이용하여 기존에 mysql, httpd, php가 설치 되어 있는지 확인한다.

# rpm -qa httpd php mysql

- 만약 설치된 것이 있으면 다음과같은 형식으로 삭제한다.(설치된것이 없으면 넘어간다)

# rpm -e --nodeps httpd php mysql

- 마지막으로 yum 으로 확인 사살 한다.

컴파일로 설치하기 때문에 기존에 파일들이 문제를 발생시킬 가능성이 많다. 그래서 꼭 제거해야 한다.

# yum remove httpd php mysql
- 삭제가 끝난후 확인을 해본다.

# rpm -qa httpd php mysql


2) APM 다운로드

- 필자는 필요한 소스를 다음 디렉토리에 저장하기로 했다. 각자에 맞게 바꾸면 되겠다.

# mkdir /usr/local/apm/

- apache 다운로드 : http://www.apache.org/

# wget http://mirror.khlug.org/apache/httpd/httpd-2.2.16.tar.gz

- php 다운로드 : http://www.php.net/

# wget http://kr.php.net/get/php-5.3.3.tar.gz/from/this/mirror

- mysql 다운로드 : http://www.mysql.org/

# wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.51.tar.gz/from/http://mirror.khlug.org/mysql/


3) 컴파일러 점검(소스컴파일 방식의 설치이므로 컴파일러가 시스템에 설치되어있어야 한다)
- 각자의 리눅스 시스템에 소스코드 컴파일을 위한 컴파일러가 설치되어있는지를 확인하도록 하자.

# rpm -qa gcc* cpp* compat-gcc* flex* openssl*

- gcc* cpp* compat-gcc* flex* 중에서 미설치된 컴파일러는 yum 을 통해서 설치하도록 한다.

# yum -y install gcc cpp gcc-c++ compat-gcc-34-g77 flex openssl*

4) 필수 라이브러리 점검(APM 설치전 필요한 라이브러리를 점검한다)

- 반드시 필요한 라이브러리

# libpng, freetype, libjpeg, gd

- 라이브러리 설치 유무확인

# rpm -qa libjpeg* libpng* freetype* gd-*

- 라이브러리 미설치시 설치를 해야한다.

설치방식은 yum을 이용한 방법(간편함/최신버전이 아닐수있음)과

소스를 다운로드해서 설치하는 방법(최신버전임/과정이길다)이 있다.

(1) yum을 이용한 설치

# yum install libjpeg-devel libpng-devel freetype-devel gd-devel

# yum install libtermcap-devel ncurses-devel libxml2-devel libc-client-devel bzip2-devel

(2) 소스 다운로드 방식의 설치(최신 라이브러리 다운로드)

- libjpeg => http://www.ijg.org/

# wget http://www.ijg.org/files/jpegsrc.v7.tar.gz

# tar zxvf jpegsrc.v7.tar.gz

# cd jpeg-7

# mkdir -p /usr/local/man/man1

# ./configure --enable-shared --enable-static

# make && make install

- libpng => http://www.libpng.org/

# wget http://prdownloads.sourceforge.net/libpng/libpng-1.2.41.tar.gz?download

# tar zxvf libpng-1.2.41.tar.gz

# cd libpng-1.2.41

# ./configure

# make && make install

- freetype => http://www.freetype.org/

# wget http://sourceforge.net/projects/freetype/files/freetype2/2.3.11/freetype-2.3.11.tar.gz/download

# tar zxvf freetype-2.3.11.tar.gz

# cd freetype-2.3.11

# ./configure

# make && make install

- gd => http://www.libgd.org/

# wget http://www.libgd.org/releases/gd-2.0.35.tar.gz

# tar zxvf gd-2.0.35.tar.gz

# cd gd-2.0.35

# ./configure

# make && make install

#########################################################################################################

#참고사항#

● 웹서버에 설치할 소프트웨어

소프트웨어

용 도

zlib

가장 보편적으로 사용하는 데이터압축 라이브러리

libpng

png 포맷의 이미지파일을 사용하기 위한 포터블 네트워크 그래픽 라이브러리

freetype

텍스트의 이미지출력등을 하기 위한 공개 폰트엔진

jpeg

JPEG 압축/압축해제 라이브러리 소프트웨어

gd

동적이미지 생성 ANSI C라이브러리

libxm12

XML C parser

MYSQL

MYSQL 데이터베이스 DBMS

APACHE

아파치 어플리케이션

PHP

PHP 인터프리터

PHP ZendOptimizer

PHP 소스코드를 최적화하여 속도를 향상시켜주는 Optimizer

1. zlib

- gzip 등으로 압축된 압축파일을 읽고 쓰기 위한 라이브러리이다.

MRTG 를 이용한 트래픽모니터링 홈페이지를 구축할 때에는 반드시 필요하다.

소스 컴파일 설치

# wget ftp://ftp.linux.co.kr/etc/zlib-1.2.3.tar.bz2

# tar xvfj zlib-1.2.3.tar.bz2

# cd zlib-1.2.3

# ./configure

# make

# make install

2. libpng

- 설치한 zlib 가 생성한 이미지파일을 png 포맷으로 변형하여 사용하기 위한 라이브러리이다.소스 컴파일 설치

# wget http://prdownloads.sourceforge.net/libpng/libpng-1.2.16.tar.gz

# tar zxvf libpng-1.2.16.tar.gz

# cd libpng-1.2.16

# ./configure

# make

# make install

3. freetype

- 폰트엔진으로서 작고, 효율적이고, 이미지 출력시 커스트마이징이 쉬운 폰트라이브러리이다.

# wget http://download.savannah.gnu.org/releases/freetype/freetype-2.3.4.tar.gz

# tar zxvf freetype-2.3.4.tar.gz

# cd freetype-2.3.4

# ./configure

# make

# make install

4. jpeg

- jpeg 압축/해제 라이브러리 소프트웨이이다. jpeg 이미지 파일을 사용하고 처리하기 위한 소프트웨이이다.

# wget http://ww.ijg.org/files/jpegsrc.v6b.tar.gz

# tar zxvf jpegsrc.v6b.tar.gz

# cd jpeg-6b

# ./configure --enable-shared --enable-static

# make

# make install

5. gd

- 동적이미지 생성 ANSI C 라이브러리로서 PNG, JPEG, GIF 의 포맷으로된 이미지들을 생성할 수 있는 유용한 툴이다.

# wget http://www.libgd.org/releases/gd-2.0.34.tar.gz

# tar zxvf gd-2.0.34.tar.gz

# cd gd-2.0.34

# ./configure

# make

# make install

★ TIP

1) configure : 프로그램이 설치될 리눅스의 환경이 모두 다르고, 용도도 다르므로 자신이 원하는 다양한 설치 옵션을 지정한다.

결과는 Makefile이라는 파일이 만들어진다.

2) make : 실제 소스 파일을 컴파일하는 과정이다. configure에서 만들어진 Makefile을 이용해서 컴파일을 한다.

3) make install : 컴파일이 완료된 실행 파일 및 관련 파일들을 해당 디렉토리에 설치한다.

 

Comments