웹서버 설치 및 구현 방법

1. 소개 : 웹서버 연동시 Apache, PHP, MySQL 연통설치하는데, 최적화된 서버 운영을 위해 추가로 Zend-Optimizer라 는 프로그램을 설치 할 수 있다.

2. 플렛폼 :OS :REDHAT 9(Linux)

3. 다운로드 사이트 :

MySQL : www.mysql.com
dev.mysql.com/get/Downloads/MySQL  다운로드 하면 된다.
Apache : www.apache.org
http://httpd.apache.org/
PHP : www.php.net
http://www.php.net/downloads.php
Zend-Optimizer : www.zend.com
http://www.zend.com/store/free_download.php
가입하면 자신의 메일로 가입허용이라는 메시지가 올 것이다.
클릭하면 된다.(즉 가입해야 다운 받을 수 있다.)

4. 압축 공통 방식 : tar.gz파일, tar.bz2파일

tar.gz 파일명
예 : tar zxvf mysql-standard-4.0.23-pc-linux-gnu-i686.tar.gz
tar.bz2 파일명
예 : tar jxvf mysql-standard-4.0.23-pc-linux-gnu-i686.tar.bz2

4개의 파일을 모두 압축을 풀어 줘야 한다. 그럼 각각의 디렉토리가 생성 될 것이다.


5. 기존의 인스톨된 apache제거하기 : rpm패키지로 설치되어 있는 아파치 웹서버 프로그램을 삭제 해야 한다. 그렇다고 꼭 해야 하는 것은 아 니지만 공간도 차지하고 서로 충돌이 생길 가능성을 배제하긴 어렵다. 최적화를 위한 작은 성의정도....

- 아파치 데몬을 정지 시킨다.

/etc/rc.d/init.d/httpd stop
설명 : 아파치 1.3버전은 apache라는 이름으로 설치되지만, 2.0버전은
httpd라는 이름으로 설치되므로 두가지 모두 검색해서 나오는 것을 삭제
- rpm으로 아파치 검색 또는 제거

rpm -qa | grep httpd -> 아파치의 정보를 볼때 사용한다.
즉 화면에 정보가 추출되면 설치 되어
있으므로 제거 하면 된다.
rpm -e httpd --nodeps -> 의존성관련된 패키지를 먼저 제거해주고
RPM 패키지를 제거 한다.
- PHP, MySQL도 위와 같은 방식으로 하면 된다.(응용이 될 거라 생각한다.)

일단 소스 디렉터리로 이동합니다.
1) [root@localhost /]# cd /usr/local/src

아래 주소에서 MYSQL5.x버전을 받습니다.
2) [root@localhost /]# wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-standard-5.0.19-linux-i686-icc-glibc23.tar.gz/from/http://mysql.holywar.net/

압축을 풉니다.
3) [root@localhost /]# tar xvfz mysql-standard-5.0.19-linux-i686-icc-glibc23.tar.gz

해당 디렉터리 자체를 /usr/local 로 이동시킵니다.
4) [root@localhost /]# mv mysql-standard-5.0.19-linux-i686-icc-glibc23 /usr/local/mysql

mysql을 mysql권한으로 사용할 수 있게 사용자를 추가합니다.
5) [root@localhost /]# useradd mysql

설치된 디렉터리로 이동합니다.
6) [root@localhost /]# cd /usr/local/mysql

기본 database를 생성합니다.
7) [root@localhost /]# sudo scripts/mysql_install_db

소유자와 그룹 권한을 조정합니다.
8) [root@localhost /]# sudo chown -R root /usr/local/mysql
9) [root@localhost /]# sudo chown -R mysql /usr/local/mysql/data
10) [root@localhost /]# sudo chgrp -R mysql /usr/local/mysql
11) [root@localhost /]# sudo chown -R root /usr/local/mysql/bin

db를 스타트 시킵니다.
12) [root@localhost /]# sudo bin/safe_mysqld &

mysql 관리자(root) 비밀번호를 변경합니다.
13) [root@localhost /]# ./bin/mysqladmin -u root password '새로운패스워드'


mysql 접속방법

[root@localhost mysql]# cd bin
[root@localhost /]# ./mysql -u root -p mysql

gd설치하기
1) [root@localhost /]# cd /usr/local/src
2) [root@localhost /]# wget http://fordream.damoa.biz/gd-2.0.33.tar.gz
3) [root@localhost /]# tar xzvf gd-2.0.33.tar.gz
4) [root@localhost /]# cd gd-2.0.33
5) [root@localhost /]# ./configure
6) [root@localhost /]# make
7) [root@localhost /]# make install


Apache2.0.X

[root@localhost bin]# rpm -qa | grep httpd  - rpm 확인
※ rpm 없으면 장땡
[root@localhost bin]# rpm -e --nodeps 이름 - 삭제할때사용


1) [root@localhost /]# cd /usr/local/src
2) [root@localhost /]# wget http://ftp.kaist.ac.kr/pub/Apache/httpd/httpd-2.2.0.tar.gz
3) [root@localhost /]# tar xvfz httpd-2.2.0.tar.gz
4) [root@localhost /]# >> install-httpd.sh
5) [root@localhost /]# cd httpd-2.2.0
6) [root@localhost /]# make clean
7) [root@localhost /]# ./configure --prefix=/usr/local/apache --enable-mods-shared=most --enable-module=so

8) [root@localhost /]# make
9) [root@localhost /]# make install
10) [root@localhost /]# vi /usr/local/apache/conf/httpd.conf

DirectoryIndex index.html index.php index.htm
AddType application/x-httpd-php .php .htm .html .inc .php5 .php4
AddType application/x-httpd-php-source .phps

#include conf/extra/httpd-autoindex.conf <- 필요에 따라 주석 제거
#Include conf/extra/httpd-userdir.conf  <- 반드시 주석 제거

CustomLog logs/access_log common를

SetEnvIfNoCase Request_URI (gif|png|jpg|css|js|bmp|jpeg|swf)$ IMAGE=1
CustomLog /usr/local/apache/logs/access_log common env=!IMAGE 로 수정

139번째 줄 ServerName www.example.com:80
주석을 풀고
서버네임을 변경해준다.

환경 설정 파일 ( httpd.conf ) 설정
- /usr/local/apache/conf/httpd.conf 환경설정파일
설명 : 자신이 설치한 디렉토리 및에 conf폴더가 보일 것이다.
conf폴더 밑에 httpd.conf의 파일을 연다.
- vi httpd.conf
- /ServerName 항목을 찾는다.
설명 : IP 주소나 Domain Name을 적는다.
- php관련 환경 설정 : AddType이라는 항목이 모여있는 곳으로 이동한 뒤
아래와 같이 추가한다.
- AddType application/x-httpd-php .php .htm .html .inc .php5 .php4
- AddType application/x-httpd-php-source .phps
- DirectoryIndex index.html index.php index.htm
설명 : www.mass.com/index.php를 할 필요가 없이 www.mass.com 으로 웹 페이지를 로딩 한다.


[root@localhost httpd-2.2.0]# cd /usr/local/apache/bin
[root@localhost bin]# ./apachectl start

설치 확인

#++++++++++++++++++++#
/usr/local/apache/bin/httpd -t
#++++++++++++++++++++#

확인 http:// 아이피 - It works! 확인


libpng 설치

tar xvzf libpng-1.2.8.tar.gz
mv libpng-1.2.8 /usr/local/apmlib/libpng
cd /usr/local/apmlib/libpng
cp scripts/makefile.linux Makefile
make test
make install

10. PHP 설치

1) [root@localhost /]# cd /usr/local/src
2) [root@localhost /]# wget ftp://ftp.sir.co.kr/php/php-5.1.2.tar.gz
3) [root@localhost /]# tar xvfz php-5.1.2.tar.gz
4) [root@localhost /]# cd php-5.1.2
5) [root@localhost /]# ./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-charset=euc_kr --enable-so --with-mysql-sock=/tmp/ --with-mysqli=/usr/local/mysql/bin/mysql_config --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/apache/conf --with-exec-dir=/dir=/usr/local/apache/bin --with-zlib --with-gd --with-ttf --with-png --with-jpeg-dir --with-freetype-dir --with-gmp --with-language=korean --enable-mbstr-enc-trans --enable-mbstring --enable-track-vars --enable-trans-sid --prefix=/usr/local/php --prefix=/usr/local/apmlib

6) [root@localhost /]# make
7) [root@localhost /]# make install
8) [root@localhost /]#cp php.ini-dist /usr/local/lib/php.ini
설명 : PHP의 환경설정파일인 php.ini를 라이브러리 디렉토리에 등록 시킨다.

$ vi /usr/local/lib/php.ini
register_globals=On


모든 설치는 완료 된 것이다. 하지만 이렇게 한다고 웹 서버가 구축 된 것은
아니다 왜냐면 환경 설정 부분에서 조금 남아 있기 때문이다.
마무리 작업을 하도록 하겠다.

11. Zend-Optimizer 설치
- Zend-Optimizer 압축을 푼 디렉토리로 이동한다.
- ./install.sh을 실행하여 절차대로 설치한다.

12. 아파치 테스트

- 문서는 /usr/local/apache/htdocs/ 밑에 있다 모두 지우고 다시 만들어도
된다. 그러므로 자신이 원하는 이름으로 만들어 본다.
- index.html 문서에 아래와 같이 만든다.
<HTML>
<HEAD>
<TITLE> 리눅스 웹 서버 만들기 </TITLE></HEAD>
<BODY>
<H1> 리눅스에 미치든가 아니면 하지 않는다. </H1><BR>
<H1> 리눅스를 자신의 것으로 만들면 된다. </H1><BR>
<BODY
</HTML>

13. 아파치와 PHP가 제대로 연동되는지 테스트

- test.php에 간단한 PHP문서를 이용하여 phpinfo()라는 PHP정보를 보여주는
함수를 이용해서 작성한 뒤에 웹상에서 불러오도록 한다.
- test.php 문서
<?
php.info();
?>

- 웹상에서 실행 해본다.
예) 192.xxx.xxx.xx/test.php
DNS를 구축 했을 경우 : mass.com/test.php

- 실행 해보면 zend와 각종 관련 정보가 보일 것이다. 그럼 이제 부터 나머지는
각자의 노하우로 하면 된다.


14. 간단한 TIP

- /etc/hosts 네트워크 환경 설정 파일 이용하기
설명 : 많은 사람들은 웹 페이지에서 사이트를 입력 할때 문자로 입력하지
숫자로 입력 하지는 않 숫자로 입력 하지는 않는다. 바로 그 부분을 담당하는 것이라고 생각
하면 된다. 자신의 localhost가 192.33.23.xx이라면 아래와 같이 하면된다.

- vi /etc/hosts
- 192.33.23.xx www.mass.com mass
설명 : 이렇게 하면 telnet 192.123.23.xx 하지 않고
telnet mass 하면 해당 주소로 바인딩 된다.
- /etc/hosts 설명 : DNS 서버를 사용하기 이전에 사용하던 파일로 IP주소와
호스트이름을 매핑시켜 데이터베이스화해서 사용하는 파일이다.

댓글을 달아 주세요