CI 묻고 답하기

제목 index가 절 괴롭힙니다.
카테고리 CI 2, 3
글쓴이 JeffreyOh 작성시각 2019/07/05 01:20:23
댓글 : 5 추천 : 0 스크랩 : 1 조회수 : 18769   RSS

웅파님의 https://www.cikorea.net/bbs/view/lecture?idx=7073 해당글을 참고하며 진행하는 도중 1번부터 막혀서... 질문드립니다.

 

centos 7 에 httpd 최신버전 (2.4.6) 을 설치하고 (yum으로 설치)

첫 단계인 httpd.conf 파일에서 

 

LoadModule rewrite_module modules/mod_rewrite.so

 

요녀석을 찾아보았으나 없었습니다.

/etc/httpd 경로에 modules 안에는 mod_rewrite.so가 있고 phpinfo()를 실행하여

있는 것도 확인이 되어서 LoadModule rewrite_module modules/mod_rewrite.so 이 부분을 임의로 추가해보았습니다.

 

2단계인 AllowOverride none -> all 변경은 전부 하지않았습니다. (전부 변경도 해보았음)

현재 DocumentRoot 경로가 /home/rcnt/public_html로 가상호스트 설정하였습니다.

/etc/httpd/conf.d 경로에 vhost.conf 라는 파일을 생성하여 2번째 첨부파일과 같이 설정하였습니다.

해당 첨부파일에서 AllowOverride none은 임시로 설정하였습니다. index.php를 썼을 때 정상작동하는지를 보기위함 (지우면 작동안함)

 

3단계인 index_page 는 '' 비워뒀구

4단계인 .htaccess 는 웅파님이 잘 정리해주신것과같이 동일한 코드를 쓰고있습니다.

 

하지만 여전히 인덱스를 죽이고 싶은데 죽일수가없네요.

 

주소/index.php/a/b 하면 정상작동 되는 상황입니다.

vhost.conf에서 AllowOverride 삭제하거나 all로 바꿔봐도 죽질않네요.. 어디가 문제일까요.. ? 초보자로 써 정말 해결하고싶네요

구글링 + 포럼을 아무리 뒤져도 시원한 설명이 안보입니다.

첨부파일 제목 없음.png (326.9 KB)
1.png (154.2 KB)
 다음글 운영자님 이 사이트 아이디를 잊어버리면 찾을 길이 없습... (1)
 이전글 한글이동주소 대해 (1)

댓글

변종원(웅파) / 2019/07/05 09:35:33 / 추천 0

아파치 버전에 따라 설정이 달라집니다. 2.2와 2.4대의 설정이 다릅니다.

아파치 로그나 에러로그 올려주세요.

 

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/works/codeigniter4/public"
    ServerName ci4.com
    ErrorLog "logs/ci4.com-error_log"
    CustomLog "logs/ci4.com-access_log" common
<Directory /works/codeigniter4/public>
    AllowOverride All
    Require all granted
</Directory>
</VirtualHost>

JeffreyOh / 2019/07/05 10:36:04 / 추천 0

AllowOverride 임시값 none에서 다시 All로 변경 후 경로 상 index.php를 없앤 뒤 호스트/a/b 로 접속 시도 후 나온 첫 에러들입니다.

파일명 : "error_log"

[Fri Jul 05 10:33:33.596180 2019] [rewrite:error] [pid 19547] AH00670: Options FollowSymLinks and SymLinksIfOwnerMatch are both off, so the RewriteRule directive is also forbidden due to its similar ability to circumvent directory restrictions : /home/rcnt/public_html/rcnt

 

파일명 : "access_log"

124.59.189.203 - - [05/Jul/2019:10:33:33 +0900] "GET /rcnt/input HTTP/1.1" 403 212

JeffreyOh / 2019/07/05 10:54:31 / 추천 0

추가적인 구글링을 통해 conf.module.d 경로에 00-base.conf 파일에서 

LoadModule rewrite_module modules/mod_rewrite.so

가 주석 해제되어있는 것을 확인하였습니다.

JeffreyOh / 2019/07/05 11:07:35 / 추천 0

아파치 2.4 버전 가상호스트에서 

<Directory /[서버루트]>
    Options FollowSymLinks
    AllowOverride All

</Directory>

 

이부분     Options FollowSymLinks

이 에러로그에서 표기되어 추가하였더니 index가 아주 깔끔히 죽었습니다.

 

근데 이부분은 보안상 취약한 것으로 알게되었는데 이 설정을 하지않고 하는 방법은 없을까요

kaido / 2019/07/05 12:08:32 / 추천 0
 sed -i 's/Options Indexes FollowSymLinks/Options FollowSymLinks/g' /etc/apache2/apache2.conf

 

리룩스 쉘 상태에서 해당 아파치 conf 파일을 수정

가상호스트에서 설정 하실려면 

인덱스 제거하고
Options FollowSymLinks

 

 

인덱스만 제거 하시면 상관없습니다.

일반적으로는 구조가 비슷해서 sed 실행 하면 깔끔하게 해결 됩니다.

 

참고

https://zetawiki.com/wiki/%EC%95%84%ED%8C%8C%EC%B9%98_%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC_%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A7%95_%EB%A7%89%EA%B8%B0