본문 바로가기
Linux/NetAdmin

[CentOS5.11] 아파치(Apache) 웹 서버.

by Luuii 2017. 9. 16.

★ 아파치 웹 서버에 관련된 파일/디렉토리.

  /etc/httpd/conf/httpd.conf

 아파치 웹서버 주 설정 파일

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

 아파치 웹서버 주 설정 파일에 포함된 하위 설정 파일

 /etc/httpd/logs

 /var/log/httpd/  ,   아파치 웹 서버 로그 디렉토리

 /etc/httpd/modules

 /usr/lib/httpd/modules  ,  아파치 웹 서버 로그 모듈 디렉토리

 /etc/httpd/run/httpd.pid

 /var/run/   ,    실행 중인 아파치 데몬의 PID 번호를 저장하는 파일 

 /etc/mime.types 

 CUPS를 위한 MIME 타입 설명 파일 

 /etc/rc.d/init.d/httpd 

 아파치 데몬을 제어할 수 있는 스크립트 

 /usr/sbin/httpd 

 아차피 웹 데몬 

 /usr/sbin/htpasswd 

 특정 디렉토리를 제어 할 때 사용하는 사용자 패스워드 입력 프로그램 

 /usr/sbin/apxs

 DSO(Dynamic Shared Object) 기반 아파치 모듈을 컴파일 할 때 사용되는 유틸리티


 

★ /etc/httpd/conf/httpd.conf 파일 분석

>> 3 Section으로 구분됨.

> Section 1. Global environment                // 전역 설정

> Section 2. Main Server Configuration        // 메인이 되는 서버 설정 부분

> Section 3. Virtual Host                           // 가상 서버를 구성하는 부분

 

 

Section 1) 주요 지시자.

 ServerType

 

 ServerRoot

 서버 설정 파일에 대한 최상위 디렉토리를 지정. 디렉토리의 경로의 마지막 부분에 /(slash)를 쓰면 안됨.

 StartServers

 단위 : 개수 ( EX : 8개 ) 처음 서버를 시작할 때 시작하는 프로세스 개수.

 MinSpareServer

 아파치 서버는 주기적으로 몇 개의 서버가 요청 대기 상태인지를 점검. MinSpareServer 보다 적으면 여유 서버

 프로세스를 생성하며 MaxSpareServer 보다 많다면 불필요한 프로세스를 제거한다.

 MaxSpareServer

 MaxClients

 Maximum number of server processes allowed to start

 LoadModuls

 

 

Section 2) 주요 지시자. 

 Listen

 단위 : 포트번호 (EX : 80번) 1023보다 낮을 경우 httpd권한을 root로 실행.

 User / Group

 

 DocumentRoot

 서버의 웹문서가 있는 경로를 지정한다. 경로의 마지막에 '/'를 추가해선

 안되고 심볼릭 링크나 Alias를 사용하여 다른 위치를 가리키도록 할 수 있다

 <Directory "/path/to/somedir"> <Directory>

 아래 링크 참고. 키워드는 Directory.

 AccessFileName

 각 디렉토리에 대하여 접근 제어 정보 내용을 담고 있는 파일이름을 설정한

 다. 통상적으로 .htaccess 라는 이름을 사용한다.

 Log file locations and formats

 아래 링크 참고. 키워드는 Log.

 Modules specific configuration blocks

 

 MIME type definitions and handlers: /etc/mime.types

 

 

Section 3) 주요 지시자.

 NameVirtualHost

 이름 기반 기상호스트를 사용하겠다고 선언하는 부분.

 *:80 은 :80 80번포트로 들어오는 * (모든 IP요청)에 대하여가상호스트를 수행한다는 것

 mod_ssl을 이용한 SSL을 사용할 것이라면 포트번호를 :443 과 같이 적용해야 함.

 httpd -S 옵션으로 가상호스트 설정에 대한 점검을 할 수 있다.

 <VirtualHost 10.100.0.50> ... </VirtualHost>

 

 ServerName

 클라이언트에게 보여주는 호스트이름을 지정.

 www를 쓰지 않는 호스트에서 www를 쓰는 것처럼 보이게 설정할 수 있다.

 bbs.uzuro.com을 www.uzuro.com로 지정하는 것과 같다.

 만약 현재 사용하는 도메인이 없다면 여기에 IP 주소라도 꼭 적어 주어야 한다.

 Documentation

 

> Section 3의 설정은 Sections 2에 설정을 덮어 쓰게 된다.  

 

http://webdir.tistory.com/178                ★★★★★★★★★★★★★★★★★★★★★★★★★★★

캬 친절하게 잘 정리되어있다 이걸 참고하자. 기분이 좋다. 하핫!

 

1. 아파치 서버 기동

# service httpd restart

# chkconfig httpd on

# httpd -t        < 주 설정 파일 Syntax 점검  == # service httpd configtest

 

# httpd -v        < 버전정보 확인. 주 설정 파일을 건들 때마다 습관적으로 해주자.

 

# service httpd stop

# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd_test.conf

# httpd -f /etc/httpd/conf/httpd_test.conf        > 설정파일은 항상 백업을 받자.

# pgrep -lf httpd

# service httpd restart

 

 

2. 아파치 웹 서버 설정

ⓐ ServerAdmin / ServerName / UserDir 지시자 설정

 

# 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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed.  This address appears on some server-generated pages, such
# as error documents.  e.g. admin@your-domain.com
#
#ServerAdmin root@localhost                # 주석처리
ServerAdmin root@linux213.example.com    # 관리자의 이메일주소 추가
 
 
#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If this is not set to valid DNS name for your host, server-generated
# redirections will not work.  See also the UseCanonicalName directive.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
# You will have to access it by its address anyway, and this will make 
# redirections work in a sensible way.
#
#ServerName www.example.com:80                # 주석처리
ServerName www.linux213.example.com:80        # 서버이름을 입력
 
 
<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        
</IfModule>
 
cs

 

# service httpd restart

 

ⓑ 웹 확인.

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

 

 

반응형