마스터포유(Master4U)
Monday, 17 of January
 

로그인
Apache에 mod_rewrite 설치 방법 및 문제 해결
관리자  2011-05-22 20:53:49 Hit:2274
링크 #1: http://www.tnslinux.com/web/bbs/board.php?bo_table=02_5&wr_id=95

  Apache에 mod_rewrite 설치 방법 및 문제 해결
  글쓴이 : 네모 (58.♡.166.19)     날짜 : 10-05-12 21:27     조회 : 1664    
[mod_rewrite 설치 방법 및 문제 해결]
 
1) Apache 설치시 mod_rewrite 설치 방법
    Apache 컴파일시 다른 옵션들과 깉이 "--enable-rewrite" 넣어두면 된다.
    Ex)./configure ... 중략 ...  --enable-rewrite
    Apache 컴파일 방법은 다른 문서를 참고.
 
2) DSO를 활용한 mod_rewrite 설치 방법
 
   ※ 주의) 공유 모듈을 나중에 사용하기위해 아파치 컴파일시 "--enable-so"을 구성했을때만 가능하다.
                  확인 방법은 PHP함수중 'phpinfo()'를 이용하여 확인 가능하다.
 
   2.1) Apache 설치되 시스템의 한 단계식 수동으로 설치하는 방법
     
      setp 1. mod_rewrite 설치 준비 1
         Apache 소스 파일을 다운 받는다. (http://www.apache.org http://mirror.korea.ac.kr/apache/ http://apache.tt.co.kr http://mirror.khlug.org/apache/ http://apache.mirror.cdnetworks.com http://mirror.apache-kr.org http://apache.naggo.co.kr  등 에서 다운로드 가능)
 
         Ex) wget http://mirror.korea.ac.kr/apache/httpd/httpd-2.2.15.tar.gz
 
      setp 2. mod_rewrite 설치 준비 2
         다운받은 소스의 압축을 풀고, 압축을 푼 디렉토리의 mod_rewrite.c가 있는 경로 이동
         Ex)
            # tar -zxvf httpd-2.2.15.tar.gz
            # cd httpd-2.2.15/modules/mappers

      setp 3. mod_rewrite 설치 1
         ※ Apache 가 설치된 경로가 "/usr/local/apache/" 라고 가정하고 아래 설명 참고

         [obj 파일 생성]
         # /usr/local/apache/bin/apxs -c mod_rewrite.c

         [so파일 생성]
         # gcc -shared -o mod_rewrite.so mod_rewrite.o -lgdbm

         [Apache 디렉토리에 mod_rewrite.so 파일 복사]
         # /usr/local/apache/bin/apxs -i mod_rewrite.so

         완료되면 /usr/local/apache/module 디렉토리에 mod_rewrite.so 파일이 생성되었는지 확인 한후 다음 단계로 넘어감.
 
  ※ 참고
     setp 3을 좀 간단하게 한줄로 처리할려면
     # /usr/local/apache/bin/apxs -aic mod_rewrite.c
     위 와 같이 설정해서 진행하면 된다. 이 방법에 문제가 있다면 위 의 순차적 단계를 통해 어디에서 문제가 발생하는지 하나씩 진단하면 진행한다.

      setp 4. mod_rewrite 설치 2 - 환경설정
         Apache 환경 설정파일에 mod_rewrite.so 모듈 설정
  Ex)
     # vi /usr/local/apache/conf/httpd.conf
     ...
     LoadModule rewrite_module      modules/mod_rewrite.so
     ...
  ※ step3의 마직막 단계에서 자동으로 이 설정이 들어감. 혹시 설정이 빠져 있다면 위와 같이 설정하면 됨.
      setp 5. Apache설정이 정상적인지 확인 후 Apache 다시 시작
        
  [Apache 구동 스크립트를 활용하여 확인]
 
  Ex)
     # /usr/local/apache/bin/apachectl -t
  또는
     # /usr/local/apache/bin/apachectl configtest
  또는
     # /etc/init.d/httpd -t 또는 # /etc/init.d/httpd configtest
 
  [이상이 없다면 Apache 다시 시작]
 
  Ex)
     # /usr/local/apache/bin/apachectl stop
     # /usr/local/apache/bin/apachectl start
  또는
     # /usr/local/apache/bin/apachectl restart
 
      setp 6. 모듈이 정상적으로 올려왔는지 간단히 확인 방법

         웹페이지에서 PHP의 phpinfo() 함수를 통해 간단히 확인 가능
  Ex) 웹브라우즈에 처음 접속해서 서비스 하는 화면의 있는 곳의 경로에 info.php 파일 생성
         info.php 파일의 내용은
         <?
         phpinfo();
         ?>
         위의 내용으로 간단히 입력
         웹브라우즈로 서버에 접속하여 info.php 실행하여 mod_rewrite 올러왔있는지 확인
            Ex) http://서버주소/info.php

이상 설치 방법, 주의 및 확인 방법에 관해 알아보았습니다.
 
 
 

[문제 해결]
 
만약 이렇게 했는데도 mod_rewrite 사용이 잘 안된다면 Apache의 환경설정 중 아래 내용을 참고
Apache 환경 설정 파일 httpd.conf 파일을 열어 다음내용을 수정 또는 추가
   <Directory "mod_rewrite가 사용된 디렉토리 최사위 경로">
       Options FollowSymLinks
       AllowOverride All
   </Directory>
Ex)
   <Directory "/usr/local/apache/htdocs">
       Options FollowSymLinks
       AllowOverride All
   </Directory>
 

본문인쇄본문메일발송
타임 서버 시간 동기화 명령어(서버 시간 변경)
☞계정.도메인.com 으로 계정주기 (http://domain/~ID --> http://ID.domain)
Copyright 1999-2019 Zeroboard / skin by ChanBi