유혁의 개발 스토리

[CentOS] CentOS7 웹서버 오픈하기(Web Server Open) 본문

개인공부

[CentOS] CentOS7 웹서버 오픈하기(Web Server Open)

유혁. 2017. 6. 27. 12:04

 

 

CentOs7 에서 아파치 설치 방법은 


# yum -y install httpd


입니다. yum 이 안되는경우는 인터넷 연결이 안됬을 경우 ,  nameserver를 지정하지 않은 경우 입니다.


이전 포스트에서 설정방법을 확인하시고 진행해주시면 됩니다.


httpd를 설치하고 기존 윈도우 에서 apache tomcat 을 다운받고 설정하는 방법을 아시는 분들은 편리하게 이해하실 수 있지만


처음 접하시는분은 이해가 힘들거라 생각합니다.


처음하시는 분들을 위해 자세하게 설명하겠습니다.


WAS 프로그램 (tomcat) 을 사용하고 documentRoot 를 지정해줍니다.


documentRoot 가 웹서버의 가장 상위 디렉토리가 되며 이곳에 원하는 웹 언어를 넣어주고

 http://주소/ 가 가장 상위 디렉토리 웹페이지를  의미합니다.

이 디렉토리에 웹 문서를 넣으며 


가장 상위 디렉토리 내에 test.html을 작성하여 저장하게되면 http://주소/test.html URL로 test의 페이지를 보여주게 됩니다.


상위 디렉토리에 Hello 라는 디렉토리를 생성하고 Hello 내에 test2 라는 html을 만든다면 /Hello/test2.html ->

 http://주소(IP)/Hello/test2.html 를 URL로 요청해서 test2라는 페이지를 볼 수가 있습니다.


이 루트 디렉토리를 설정하여 이 디렉토리는 웹페이지와 연결된다라고 생각하시면 될 것 같습니다.


자이제 그럼 루트디렉토리 설정 확인해봅시다.


# vi /etc/httpd/conf/httpd.conf

이거 경로 외워두시면 좋습니다..


를 입력하고 쭉 내리다보면 (주석 제거하신분은 안내리셔도 됩니다. ) DocumentRoot 가 보일 것입니다.

루트 폴더는 "/var/www/html" (디폴트) 라고 설정이 되어있습니다. 리눅스 / (root)에 /var 디렉토리안에 /www 디렉토리안에 /html 디렉토리 안에 있는 파일들이 루트 폴더 입니다.

즉 /var/www/html/ ~~~~     ~~부분이 가장 최상위 디렉토리를 의미합니다.

~~부분에 test.html 파일을 만들게되면 http://localhost/test.html 로 페이지를 확인 할 수 있습니다.


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

나의 실제 PC에서 오픈하려는 가상 서버에게 ping 을 날려봅시다.

이전 포스트에서 가상 IP를 192.168.20.101 -> 192.168.137.101 자동으로 변경되버렸습니다.. 연습한다 생각하시고 서버 eth0를 변경해주세요!

 

tcping을 다운받아 system32에 넣어 사용하면 편리합니다. tcping 사용법은 검색하시면 잘나와용~

tcping에서는 포트개방여부까지 확인이 가능해여 좋습니다.

80번 포트가 개방됨을 확인하였습니다. (포트개방 방법 포스트로 개방하세요 - 안될시)

DocumentRoot로 이동합니다.

# cd /var/www/html  

html파일을 만듭니다.

# vi test.html
 

:wq 저장후

httpd를 재시작 해주어야 합니다.

restart 또는 reboot

서비스 부분도 외우시면 좋습니다.

# systemctl restart httpd.service 

재시작이후 나의 PC에서 

가상 서버가 재대로 동작하는지 확인합니다.


기본 루트로 실행하면 나오는 화면입니다.
이화면이 나왔다면 정상적으로 접근을 하였다는 것입니다.



test.html도 실행해 볼까요?


 
잘나옴을 확인합니다. 이부분을 이제 응용하셔서 웹서버를 제작하면 됩니다.

하나더 나아가서 

httpd 구성에 <Directory> 라는 xml형식으로 쓰여진 부분이 있는데 디렉토리마다 접근권한 이런게 부여가 됩니다.

디렉토리 접근권한이 없다면 이런 페이지 오류가 발생합니다.

You don't have permission to access / on this server

이런 오류를 막기위해 모든 디렉토리에 접근권한을 부여해야합니다.

내가 루트디렉토리에 여러 디렉토리가 있다고 한다면 디렉토리 부분을 계속 수정해주어야 합니다.

번거로우니까

httpd.conf에 들어갑니다.

# vi /etc/httpd/conf/httpd.conf



이런식으로 설정해주면 Mdic폴더 내에 있는 모든 디렉토리에 대한 접근권한을 다음과 같이 부여하면 접근 오류가 발생하지 않습니다.

접근 권한에 대해서는 검색하시면 잘나와있습니다. 

감사합니다.