본문 바로가기
Linux/NetAdmin

[CentOS5.11] 간단한 웹 서버 구성 실습.

by Luuii 2017. 9. 16.

(정리) Apache WEB Server

 프로그램

 httpd-2.2.3-31 httpd-manual system-config-httpd

 데몬 & 포트 & 프로토콜

 /usr/sbin/httpd, 80, TCP

 주 설정 파일

 /etc/httpd/conf/httpd.conf

 하위 설정 파일

 /etc/httpd/conf.d/*.conf

 스크립트

 /etc/init.d/httpd


▶ 간단한 웹서버 구성 실습
   - 관리자 페이지 구성
   - 사용자 페이지 구성
 http://www.linux213.example.com/~user01/
 http://www.linux213.example.com/user01/


▶ CGI 설정(shell, perl, php)
 http://www.linux213.example.com/cgi-bin/test.(cgi | pl | php)

▶ .htaccess 파일을 이용한 웹 페이지 보호
▶ 가상 호스트 구성
 Name-based Virtual Hosting
 IP-based Virtual Hosting
 Port-based Virtual Hosting
 Mixed Virtual Hosting

 


 Port-based Virtual Hosting
 Mixed Virtual Hosting

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

 

 선행 작업.

 DNS Server : 192.168.35.243

WEB Server : 192.168.35.143

 

[DNS Server]

> /etc/resolv.conf 설정

> Master Server만 구축

> 웹 서버 등록

1
2
3
4
5
# [Master DNS] /etc/resolv.conf
; generated by /sbin/dhclient-script
nameserver 192.168.35.243
nameserver 8.8.4.4
search linux213.example.com 
cs
8.8.4.4 를 네임서버로 잡은 이유는 별다른이유없다.

namebench를 돌렸더니 이게 제일 좋다고 나왔다. 하핫!

 

> Zone 파일 설정

1
2
3
4
5
6
7
8
9
10
11
12
# [Master DNS Server] example213.zone
$TTL        4
@           IN SOA  ns1.linux213.example.com.   root.linux213.example.com.  (
                    42      ; serial (d. adams)
                    3H      ; refresh
                    15M     ; retry
                    1W      ; expiry
                    1D )        ; minimum
            IN NS       ns1
ns1         IN A        192.168.35.243
 
www                     IN  A       192.168.35.143        //웹 등록.
cs

 

 

 

[WEB Server]

> /etc/resolv.conf 설정

> (Optional) /etc/hosts 파일 설정.

1
2
3
4
; generated by /sbin/dhclient-script
search linux213.example.com
nameserver 192.168.35.243
nameserver 8.8.4.4
cs

 

◇ 관리자 서버 구성

 

ⓐ yum -y install httpd

ⓑ httpd -v ( 버전정보 확인)

 

 

ⓒ grep http /etc/services | more

 

 

ⓓ cd /etc/httpd/conf    ;    ls -l           < 주 설정 파일 확인

 

 

ⓔ cd /var/www/html    ;    ls -l

> if not exist index.html file

 

ⓕ cp /etc/passwd /var/www/html/index.html

 

ⓖ service httpd restart

 

ⓗ firefox http://www.linux213.example.com &     <웹 서비스 확인

웹 서비스를 확인하는 여러가지 방법

ⓐ GUI 웹브라우저를 사용하는 방법 ( EX: firefox )    

ⓑ TUI 웹브라우저를 사용하는 방법  (EX: lynx / curl )

ⓒ telnet 명령어를 사용하는 방법 ( EX: telnet <Server IP> 80 ) ★★★★★★★

ⓓ netstat 명령어를 사용하는 방법 ( EX: netstat -an | 80 )

# firefox http://www.linux213.example.com &

 

 

 

# lynx http://www.linux213.example.com &

 

 

 

# lynx -head http://www.linux213.example.com &       < -head      send a HEAD request 라고 헬프에 나온다.

 


 

# telnet www.linux213.example.com 80

 

 

 

# netstat -antp

 

 

★ 참고 netstat 명령어.

 # netstat -an

 모든 서비스 TCP + UDP + 소캣. 열려있는 모든 TCP + UDP 포트번호와 소캣의 정보.

 # netstat -ant

 TCP 서비스만

 # netstat -anu

 UDP 서비스만

 # netstat -anp

 모든 서비스 TCP + UDP + 소캣. 프로그램이름 PID 표시.

 # netstat -antp

 TCP 서비스만. 프로그램이름 PID 표시.

 # netstat -anup

 UDP 서비스만. 프로그램이름 PID 표시.

 

 

◇ 사용자를 위한 웹 기본 설정

*********************************   /~user01  *********************************

# useradd user01

# passwd user01

 

# su - user01

$ id ; pwd

 

$ mkdir public_html

$ cd public_html

$ vi index.html

1
2
3
<H1>
<CENTER>Web Server(linux113 : /home/user01)</CENTER>
</H1>
cs

 

$ cd

$ chmod 755 /home/user01

$ ls -ld /home/user01

 

 

$ exit

 

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

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<IfModule mod_userdir.c>
    #
    # UserDir is disabled by default since it can confirm the presence
    # of a username on the system (depending on home directory
    # permissions).
    #
#    UserDir disable                //기존 라인 주석처리.
    #
    # To enable requests to /~user/ to serve the user's public_html
    # directory, remove the "UserDir disable" line above, and uncomment
    # the following line instead:
    
#    UserDir public_html            //기존 라인 주석처리.
    UserDir public_html                //새로운 라인 주석처리.
</IfModule>
cs

 

#service httpd restart

 

#firefox http://www.linux213.example.com/~user01

 

 

( 정리 ) 사용자 웹 페이지

 

WEB Client --------------------------------------> WEB Server

http://DAUM/~user01 --------------------------> httpd(80)

/home/<사용자>/public_html/index.html

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

UserDir public_html

 

 

 

*********************************   /user01/  *********************************

 

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

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Aliases: Add here as many aliases as you need (with no limit). The format is 
# Alias fakename realname
#
# Note that if you include a trailing / on fakename then the server will
# require it to be present in the URL.  So "/icons" isn't aliased in this
# example, only "/icons/".  If the fakename is slash-terminated, then the 
# realname must also be slash terminated, and if the fakename omits the 
# trailing slash, the realname must also omit it.
#
# We include the /icons/ alias for FancyIndexed directory listings.  If you
# do not use FancyIndexing, you may comment this out.
#
Alias /icons/ "/var/www/icons/"
Alias /user01/ "/home/user01/public_html/"        //새로운 라인 추가.
 
<Directory "/var/www/icons">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
 
cs

 

# service httpd restart

 

# firefox http://www.linux213.example.com/user01/

 

 

 

반응형