본문 바로가기

운영체제

WWW server 구축과 실습

728x90
WWW(World Wide Web)

네트워크에 연결된 시스템의 정보를 한 위치에서 검색할 수 있는 서비스

hyper text를 통해 정보 공유 > 문서화

-하나의 웹 문서에서 제공하는 연결 주소(링크)를 통해 다른 문서로 이동 

 

hypertext markup language = html

 

Web version

1.0 : 초기 / 정적인 검색 서비스 제공

2.0 : 현재 사용되는 기본 서비스 / 동적 검색 서비스 제공 

3.0 : 지능형 web (facebook, instagram... )

 

정적인 검색 서비스

접속한 사용자가 모두 동일한 페이지의 문서

 

동적인 검색 서비스

사용자별 다른 페이지를 볼 수 있는 것 ex)로그인 상태에서 메일함 등등

 

 

Web 구성요소

Client

-chrome, edge, safari, firefox, interex..

Server

-Webserver, WAS, DB

 

Client가 문서를 요청하면 Server에서 제공하는 문서를 다운로드 받아 해석하여 사용자에게 보여줌 !

  

 

 

URL (Uniform Resource Location)

-통합 자원 위치

http://~~~~~~/~~~ 합쳐진 것이 URL

== Host / URI  = URL

 

URI (Uniform Resource Ideifiers)

통합 자원 식별 자

자원을 균일하게 식별하는 ID => 시스템 자원의 위치를 표시 

 

 

Client -> Server : request(요청)

Server -> Client : response(응답)


HTTP 실습 

 

1) 인터넷이 되는 환경에서 필요한 Package(=httpd) 설치 

# yum -y install httpd

 

# service httpd restart //설치를 해도 서비스 시작을 안하면  실행이 되지 X

 

# netstat -antup | grep 80 

tcp        0      0 :::80                       :::*                        LISTEN      1506/httpd 

]# netstat -antup | grep httpd 

tcp        0      0 :::80                       :::*                        LISTEN      1506/httpd 

                         

 

같은 네트워크 상에 있는 PC로 테스트 http://웹서버주소 = http://192.168.42.231 접속

접속 완료 

 

 

/var/www/html 에 1.html 파일 생성하여 html 만들기

<html>
<head>
   <title>hello</title>
</head>
<body>
     hello </br>

hhhheeeellllooooooooo </br>
</body>
</html>

 

==> http://192.168.42.231/1.html 로 들어가야 보인다 !!

1.html == URI

 


Default Document  기본문서 

 

웹서버에서 http://host를 request 할 때 보여주는 문서

기본 DocumentRoot : /var/www/html 여기를 /라 생각함 ==> http://Host:80/

 

+자원의 실제 위치를 정확하게 지정하지 않았을 때 보여주는 문서 : index.html

(수정하지 않았을 때 아파치테스트페이지)

 

 

실습 1) index.html 변경 

/var/www/html/1.html을 index.html로 변경하여 uri없이 http://host 만으로 보이는지

 

 

 

다시 아파치 테스트 페이지로 원상복구 

 

 

 

실습2) DirectoryIndex에 1.html 을 추가 

 

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

/Directory 검색 후 

DirectoryIndex index.html index.html.var 1.html 

 

# service httpd restart

 

http://웹서버에 1.html 문서로 접속

 

 

 

실습3) 포트번호 변경

변경 시 http://host:port NO 로 접속 

 

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

/Listen

Listen 8080 으로 변경 

 

# service httpd restart 

# netstat -antup | grep 8080 

tcp        0      0 :::8080                     :::*                        LISTEN      11966/httpd 

80으로 접속이 XXXX

http:192.168.42.231:8080 접속 !

 

 

실습4) Redirect

/를 요청 하면 지정된 페이지로 이동 된다. 

 

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

/Redirect

 

원래 꺼 주석처리 후 yy->p 복붙

Redirect permanent / https://www~~~ 원하는 주소로 변경

 

# service httpd restart 

 

접속 시 지정된 페이지로 이동 !

 

 

 

실습5) http virtualhost

하나의 웹사이트에서 여러개의 웹사이트를 동시 접속 하기

 

1) Port-based

포트 번호를 두개로 나눠서 다른 웹사이트같이 접속 

 

# mkdir /var/www1 

# mkdir /var/www2

 

# vi /var/www1/index.html

# vi /var/www2/index.html 

 

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

원본 그대로 주석처리 후 복사하여 수정하기 

 

 포트번호 설정

Listen 80

Listen 8080

 

NameVirtualHost *:80

NameVirtualHost *:8080

 

디렉터리 설정  

<VirtualHost *:80> 

    DocumentRoot /var/www1 

 </VirtualHost> 

 

<VirtualHost *:8080

     DocumentRoot /var/www2 

</VirtualHost> 

 

 

# service httpd restart //서비스 재시작 필수 

 

 

 

2) IP-Based

임시 ip 주소를 추가한다. 

# ifconfig eth0:1 192.168.42.232 netmask 255.255.255.0 //재부팅하면 사라짐 

# ifconfig //확인 

 

 

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

 

NameVirtualHost 192.168.42.231:80 

NameVirtualHost 192.168.42.232:80 

 

 <VirtualHost 192.168.42.231:80

  DocumentRoot /var/www1 

    ServerName www1.kh00.kh 

</VirtualHost> 

 

<VirtualHost 192.168.42.232:80

    DocumentRoot /var/www2 

     ServerName www2.kh00.kh 

 </VirtualHost> 

 

 

# service httpd restart 

 

 

 

사용자별 웹사이트 추가 //


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

/UserDir 검색 

UserDir public_html 주석 제거 

 

사용자 생성

useradd ktest

useradd test01

passwd ktest

passwd test01

 

허가권 부여

# chmod 755 /home/ktest
# chmod 755 /home/test01

 

각 사용자 홈디렉터리에 public_html 생성

# mkdir /home/ktest/public_html

# mkdir /home/test01/public_html

 

소유권이 root로 지정되있어서 소유권 편집 

 # chown ktest:ktest /home/ktest/public_html/

 # chown test01:test01 /home/test01/public_html/

 

# service httpd restart 

 

 

http://host/~kest

http://host/~test01 

 

~을 쓰고 들어가야 접속이 된다 

728x90

'운영체제' 카테고리의 다른 글

DNS와 Resolver  (0) 2021.06.30
HTTP : Direcotry Listing  (0) 2021.06.30
FTP(File Transfer Protocol)  (0) 2021.06.29
DHCP (Dynamic Host Configuration Protocol)  (0) 2021.06.29
dhcp Server : Linux로 설정  (0) 2021.06.28