제2편 아파치서버 설치
가. 프로그램 버전 : httpd-2.2.13.tar.gz
나. 선행 작업(컴파일러 설치)
]# yum install gcc
]# yum install openssl-devel
]# yum install zlib-devel
]# yum install libtool
]# yum install apr-util-devel
다. 리눅스에서 제공하는 아파치 제거
리눅스 설치시 서버패키지를 설치 하지 않았더라도 아파치가 기본적으로 설치 되는 경우가 있다. 아래와 같은 방법으로 리눅스에서 제공하는 아파치를 제거한다.
]# rpm -qa | grep httpd
]# rpm -e 패키지명 <-패키지를 반드시 제거한다.
또는
]# yum remove httpd-2.2.8-3
라. 소스파일 복사
아파치 파일을 다운 받을 수 있는곳
아파치 홈페이지 : http://httpd.apache.org/download.cgi
나는 2.2.12버전을 구해서 설치했으나 이글이 작성되는 시점에서 apache.org에서 2.2.13을 제공 하고 있다. 설치 시 참고 바람
▶ root권한으로 작업
아파치를 다운로드 받은 디렉토리로 이동한다.
]# cp httpd-2.2.13.tar.gz /usr/local/
]# cd /usr/local/
]# tar -xvzf httpd-2.2.13.tar.gz
마. (3단계) configure명령으로 컴파일 환경 설정.
]# cd /usr/local/httpd-2.2.13
]# ./configure --prefix=/usr/local/apache2 --enable-mods-shared=all \
--with-mpm=worker --enable-ssl--with-ssl--enable-so
~]# make
~]# make install
바. /etc/ld.so.conf 파일 수정
]# vi /etc/ld.so.conf
========이부분을 추가한다.===========
/usr/local/apache2/lib
/usr/local/apache2/modules
=================================
]# ldconfig
사. 80포트를 열기 위한 방화벽 설정 및 SELINUX 중지
페도라의 경우 기본적으로 22번 ssh포트만을 열어 주고 나머지 포트는 사용하면서 사용자가 열어 주어야 한다. iptables의 옵션을 변경한다. 변경하면서 이후에 설치할 MySQL 포트도 같이 열어주면 편하다.
# vi /etc/sysconfig/iptables
========iptables에 아래 붉은색 소스 2줄을 추가해 준다.===========
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
# Apache WebServer port open (80port)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# MySQL WebServer port open (3306port)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
========================================================
이렇게 풀어주고 나서도 외부에서 80포트가 열리지 않는 경우가 생기면 SELINUX를 중지해 주어야 한다.
아. SELINUX 중지
]# vi /etc/sysconfig/selinux
========= 아래 붉은색 소스 2줄을 편집해 준다.=========
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
#SELINUX=enforcing (이 부분 앞에 '#'를 넣어서 비활성화(주석처리)한다.)
SELINUX=disabled (다음 내용을 추가한다.)
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
=============================================
자. 리눅스 부팅시 아파치 자동 실행(방법1)
1) /etc/rc.d/rc.local 에 추가.
]# vi /etc/rc.d/rc.local
]# /usr/local/apache2/bin/apachectl start
2) 실행파일을 /etc/init.d/ 와 /etc/rc.d/init.d 에 복사합니다. 이름은 일반적으로 httpd로 함.
]# cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
]# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
3) 그후 다음과 같이 링크.
]# ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S89httpd (shell 모드)
]# ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S89httpd (xwin 모드)
차. 리눅스 부팅시 아파치 자동 실행(방법 2)
1) 서비스 등록
]# cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
]# chkconfig --add httpd
2) 서비스 확인
]# chkconfig --list|grep httpd
-- httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
]# netstat -nlp|grep httpd
카. APACHE WEB SERVER 실행 명령어
]# /etc/init.d/httpd start
]# /etc/init.d/httpd stop
]# /etc/init.d/httpd restart
타. mod_rewrite 설치
src/modules/standard
]# /usr/local/apache2/bin/apxs -c -I/usr/include/gdbm mod_rewrite.c
]# gcc -shared -o mod_rewrite.so mod_rewrite.o -lgdbm
]# /usr/local/apache2/bin/apxs -i mod_rewrite.so
]# vi /usr/local/apache2/conf/httpd.conf
cd /usr/local/apache2/
NUMZ HUB를 사용하기 위해서 mod_rewrite가 설치 되어 있어야 한다. apache설치시 위의 configure를 그대로 사용한다면 이미설치 되어 있을 것이다. /usr/local/apache2/modules/에 mod_rewrite.so 화일이 있으면 설치가 된 것이다. 만약 설치 되지 않았다면 아래와 같이 진행하면 된다.
]# vi /usr/local/apache2/conf/http.conf
============ http.conf 아래 부분에 추가할 내용 ============
LoadModule rewrite_module libexec/mod_rewrite.so
Addmodule mod_rewrite.c
===================================================
http.conf를 수정하고 나서 수정사항을 적용시키고 apache를 재 실행 시킨다.
]# /usr/local/apache2/apachectl configtest
]# /usr/local/apache2/apachectl restart
------------------------------------------------------------------------------
※ 설치시 팁[1] - vi에디터 사용
------------------------------------------------------------------------------
초보에게 vi에디터는 사용하기 낫선 편집기이다. 필자도 vi에디터의 대부분의 사용방법은 모르고 있다. 다만 파일을 간단하게 편집하는 방법정도만 알고 사용하고 있다. 초보자라서 vi를 전혀 모fms다면 아래 사용법만 약간 익혀두자.
]# vi [파일명] <-- 파일 열기
편집기에서의 명령어
- esc키를 누르면 커서가 화면 제일 하단으로 이동이다. 이때 에디터의 명령어를 입력한다.
i 또는 a <-- 편집 모드로 들어감
:w <-- 저장
:q <-- 끝내기
:wq <-- 저장하고 끝내기
:q! <-- 저장하지 않고 강제로 끝내기
------------------------------------------------------------------------------
※ 설치시 팁[2] - 외부 프로그램의 텍스트를 콘솔창에 복사하기
------------------------------------------------------------------------------
필자의 경우 접속 콘솔을 putty를 사용한다. 여기서 윈도우에 익숙해져 있는 우리에게 익숙하지 않은 예외 상황이 발생하는데 “ctrl v”가 먹히지 않는다는 것이다. 이때 사용할 수 있는 방법은 옮겨 붙일 내용을 드래그해서 복사한 상태에서 콘솔창에 대고 오른쪽 마우스로 클릭해 주면 잘 붙는다. 단 명령어 입력 시 편집기에 따라서 엔터값이 자동으로 따라 들어가 오른쪽 클릭하는 순간 실행이 되는 경우도 있으니 주의해야 한다.
p.s. 설치하면서 궁금한 점이 있다면 biz@adconsult.co.kr로 메일을 주면 아는데까지 답변해 주겠음. 정말 아는데 까지만~ ..
'개발 서비스 > 메타블로그' 카테고리의 다른 글
[메타블로그 설치기] 제4편 PHP 설치 - 3장 아파치와 연동시 환경 설정 (0) | 2009.09.14 |
---|---|
[메타블로그 설치기] 제4편 PHP 설치 - 2장 환경설정 (0) | 2009.09.09 |
[메타블로그 설치기] 제4편 PHP 설치 - 1장 소스설치 (0) | 2009.09.05 |
[메타블로그 설치기] 제3편 MySQL서버 설치 (0) | 2009.09.04 |
[메타블로그 설치기] 제1편 프로그램 목록과 리눅스 설치 (0) | 2009.09.01 |