▶ httpd.conf : 전역 환경 설정

ServerRoot “/app/apache”
 : 웹서버의 설정 파일, 로그파일 등이 저장되는 최상위 디렉토리
Timeout 120  //120초 뒤에 연결 끊어짐
 : 서버와 클라이언트의 연결 시에 아무런 메시지가 없을 때에 오류로 처리되는 초단위 시간
MaxClients 150  //서버가 수용할 수 있는 소켓 개수

 : 접속 가능한 최대 client 수
Startservers 20   //클라이언트가 접속 안 해도 20개 띄워놔서 제공할 프로세스 세팅
 : 초기 서버 프로세스의 수
MinSpareServers/MaxSpareServers  
 : 대기 상태의 프로세스 수
ServerName [명칭]
 : DNS나 hosts 파일에 등록된 이름을 지정한다.
ServerAdmin root@localhost
 : 관리자의 메일 주소

 

** 웹에서는 아이디랑 패스워드 이미 한번 입력하면 그때마다 확인을 계속하므로 계속 새로운 로그인 작업이 일어난다.

웹브라우저에서 로그인 정보를 저장하는 곳이 쿠키이다. 

서버에서 로그인 정보를 저장하는 곳은 세션이다.

 

▶ httpd.conf : 기본 서버 구성

ServerTokens Major|Minor|Min|Prod|OS|Full
 : 클라이언트에 보내는 응답에 포함될 서버의 정보에 대한 설정

  (Full은 권하지 않음)
DocumentRoot “/app/apache/htdocs” 
 : 웹서버의 홈 디렉토리
DirectoryIndex index.html index.java index.php
 : 메인 페이지 파일명
ErrorLog logs/error_log
 : 웹서버에 문제가 발생 시에 에러를 기록하는 로그파일.
CustomLog logs/access_log combind
 : 외부에서 접근한 기록에 대한 로그파일
UserDir public_html  
 : 사용자의 개인 홈 디렉터리 지정

 

▶ httpd.conf : Directory 설정

<Directory “/app/apache/htdocs”> … </Directory>
• 웹서버는 디렉토리 단위로 설정
ex)
<Directory "/app/apache/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow, deny
Allow from all
</Directory>

  ** document root는 반드시 지정해준다.

 

option 항목

• ALL : 가능한 모든 옵션을 다 사용한다.
• None : 아무런 옵션도 없다.
• Indexes : 메인 페이지가 없는 경우 파일 목록을 보여준다.  //파일 목록 보여주는 것은 보안상 좋지 않음
• FollowSymLinks : 디렉토리의 심볼릭 링크를 이용한다.
• ExecCGI : CGI를 실행한다.


AllowOverride 항목  //아파치 자체가 사용자 계정 관리하는 것

• 디렉토리에 대한 apache 레벨에서의 접근 제한
• 사용자 인증 파일인 .htaccess 파일 사용 여부
• 현재 인증은 apache 레벨에서 구현하지 않는다.

 

Order 항목(2.2)

• 접근 권한 적용 순서
ex)
Order deny, allow  //deny먼저 지정 후 allow를 지정 (기본 정책은 deny, 예외는 allow)
Deny from all
Allow from 192.168.123.
- 192.168.123. 으로 시작하는 IP를 제외하고 모든 접속을 막는다.

 

Require 설정

Require all [denied | granted] : 기본 설정
Require [not] ip ip_주소 : IP별 설정
Require all granted
Require not ip 192.168.123.0/24
- 192.168.123.0 네트워크를 제외하고 모두 접속 허용

 

각 사용자의 개인 홈 디렉터리에 대한 설정 예

<Directory "/home/*/public_html">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "/home/*/public_html">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>


더보기

실습

개인 홈페이지 만들고 개인 홈페이지 접속

개인 홈페이지 httpd.conf가 없음 (/httpd/extra 디렉토리에 있음 찾아서 쓰기)

 

가상 호스트 설정 (ip기반) 실습

실습 내용

www.st04.sec  > 192.168.10.133

www.st04.itc  >192.168.10.132

서로 다른 웹페이지가 열리게 설정할 것이다. 

 

각각 어디서든지 DNS 서버 지정하면 두 개의 웹페이지가 열리게 할 수 있다.

DNS server 192.168.10.131

webserver : 192.168.10.133, 192.168.10.132

 

< 작업 수행 과정 >

1) 가상 인터페이스 추가하여 ip 세팅

2) DNS 서버 도메인 추가

     www.st04.sec  > 192.168.10.133

     www.st04.itc  >192.168.10.132

3) 아파치 서버에서 서로 다른 홈페이지가 열리도록 설정

    www.st04.sec  > 192.168.10.133 디렉토리를 /home/httpd/html/133

    www.st04.itc  >192.168.10.132 디렉토리를 /home/httpd/html/132

 

1) ip 추가

ens32:0 파일을 하나 만들어서 수정할 것이다.

 

ens32:0 을 수정한다.

 

네트워크를 재시작하고 ip가 추가된 것을 확인한다.

 

2) DNS 서버 도메인 추가

     www.st04.sec  > 192.168.10.133

     www.st04.itc  >192.168.10.132

 

/etc/named.conf 파일에 st04.itc 설정을 추가한다.

 

# /var/named/st04.zone

 

# /var/named/st04_itc.zone

 

# /var/named/* 모두 그룹 소유자를 named로 변경한다.

 

named.service를 재시작한다.

 

host 명령을 이용해 확인한다.

 

3) 아파치 서버에서 서로 다른 홈페이지가 열리도록 설정

    www.st04.sec  > 192.168.10.133 디렉토리를 /home/httpd/html/133

    www.st04.itc  >192.168.10.132 디렉토리를 /home/httpd/html/132

 

 

# vi /app/apache/conf/httpd.conf

<VirtualHost 192.168.10.132>
 DocumentRoot /home/httpd/html/132
 ServerName 192.168.10.132
 <Directory "/home/httpd/html/132">
 Options Indexes FollowSymLinks
 Order allow,deny
 Allow from all
 </Directory>
</VirtualHost>

<VirtualHost 192.168.10.133>
 DocumentRoot /home/httpd/html/133
 ServerName 192.168.10.133
 <Directory "/home/httpd/html/133">
 Options Indexes FollowSymLinks
 Order allow,deny
 Allow from all
 </Directory>
</VirtualHost>

 

아파치 서비스를 재시작해준다.

 

각각 www.st04.sec/www.st04.itc/ 에 들어가면 잘 된 것을 확인할 수 있다. 

 

다른 페이지가 열리는지 확인이 어렵기 때문에 다음과 같은 작업을 수행한다. 

 

index.html 파일이 각 디렉토리 별로 없기 때문에 각 디렉토리에 index.html 파일을 만들어준다.

복사하는 명령을 이용해서 만든다.

 

각 index.html 파일 내용을 변경한다.

 

아파치 서비스를 재시작한다.

 

www.st04.sec/www.st04.itc/ 에 잘 설정된 것을 확인할 수 있다.

+ Recent posts