2014년 12월 27일 토요일

리눅스의 시작12_Apache 서버 및 서버의 네임드화

Apache web 서버 및 서버의 네임서버화에 대해 알아 보자!

1. Apache web 서버란 ?
 - Apache의 어원은 A PAtCH에서 나온 말이다. 세계의 웹서버 시장에서 50% 이상을 점유하고 있는 좋은 웹서버 일뿐만이 아니라, 기능, 보안, 속도와 무료라는 큰 매력을 가지고 있다. 하지만, 가장 큰 단점이 아파치 자체로 인한 서버 장애시 대처방법이 없는 것과, 버전이 올라갈 때 마다 나오는 새로운 내용에 대해서 체계적인 매뉴얼이 부족한 것도 그렇고 GUI방식의 웹서버의 설정이 안되는 것등의 단점이 있음.


2. Apache 서버 설치과정
 1).  httpd-2.2.25.tar.gz 버전을 /usr/local 에 다운 받음
 2). cd /usr/local 디렉토리로 이동후 tar 명령어를 사용 압축을 품 tar xvfz httpd-2.2.25.tar.gz
 3). cd ./httpd-2.2.25 디렉토리로 이동 후 ./configure --prefix=/app/apache --enable-so 명령어로 파일을 설치 할 준비를 함
 > --prefix 옵션은 설치 디렉토리를 /app/apache로 지정해주고 
 > --enable-so 옵션은 아파치에 DSO 방식으로 모듈이 적재되도록 하는 옵션. DSO 방식이란 사용할 모듈을 주소공간에 가져와서 사용하는 것으로 사용된 모듈을 다시 불러와 재컴파일 하는 일이 없게함. 처음 서버를 구동할 때 시간이 좀 더 걸리거나 일부 플랫폼에서 지원이 안된다는 단점이 있지만 한번 불러오면 속도도 빠르고 확장이 쉽다는 장점이 있음.
 4). make 명령어 실행
 5). make install 명령어 실행
  ---- 여기까지가 기본 패키지 설치 및 실행 준비
3. Apache 서버 설정 및 실행
 > 구성파일
  * 실행 데몬 : /app/apache/bin/httpd
  * 관리 스크립트 : /app/apache/bin/apachectl
  * 설정 파일 : /app/apache/conf/httpd.conf
  * 초기 서비스 파일 : /app/apache/htdocs/index.html
  * 컴파일 옵션에 따라 달라질 수 있음
  * 추가 설정 /etc/hosts 파일에 IP와 서버의 도메인 명을 입력

 > 서버 구동
   /app/apache/bin/apachectl {start | stop | restart}

 > httpd.conf 파일의 구문 점검 (경로 : /app/apache/conf/httpd.conf)
  /app/apache/bin/httpd -t
  * httpd.conf 파일의 문법상의 오류를 찾아줌
  * "Syntax OK" : 오류 문법 없음

 > 3개의 섹션으로 구성
  * 전역 환경 설정 부분
  * 기본 서버 구성
  * 가상 호스트 부분

 > httpd.conf 파일 내의 설정 옵션 
  '전역 환경 설정'
  * ServerRoot "/app/apache"
   - 웹 서버의 설정파일, 로그파일 등이 저장되는 최상위 디렉토리
  * Timeout 120
   - 서버와 클라이언트의 연결시에 아무런 메시지가 없을 때에 오류로 처리되는 초단위 시간
  * MaxClients 150
   - 접속 가능한 최대 client 수
  * Startservers 20
   - 초기 서버 프로세스의 수
  * MinSpareServers / MaxSpareServers
   - 대기 상태의 프로세스 수
  '기본 서버 구성'
  * ServerAdmin root@localhost
   - 관리자의 메일주소
  * DocumentRoot "/app/apache/htdocs"
   - 웹 서버의 홈 디렉토리 (메인 페이지 파일이 있는 경로)
  * DirectoryIndex index.html index.java index.php
   - 메인 페이지 파일명
  * ErrorLog "/logs/error_log"

   - 웹 서버에 문제가 발생시에 에러를 기록하는 로그 파일
  * CustomLog "logs/access_log combind"
   - 외부에서 접근한 기록에 대한 로그파일
  * UserDir public_html
   - 개인 홈 디렉토리 지정

- 기본 구성 폼 -
  <Directory "/app/apache/htdocs">
    Options indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
  <Directory>

IP 기반 호스트
  <VirtualHost 접속IP>
     DocumentRoot 홈 디렉토리
     ServerName IP 또는 도메인명
  </Virtual Host>
  <Virtual Host> 항목에는 모든 전역 설정 파라미터가 기술 가능
 예
   <VirtualHost 192.168.10.10>
     DocumentRoot /home/httpd/10
     <기본 구성 폼 추가>
     ServerName 192.168.10.10
   </VirtualHost>

> 아파치 웹서버 만들기
 위의 설치 준비 과정을 거친 후

위 경로에서

해당 코딩을 활성화 시킨 뒤 해당 경로의 conf 파일을 아래와 편집


st01과 te01은 동일한 아이피에 서로 다른 웹 페이지를 갖고 있는 아파치 웹 서버, 도메인도 보유하고 있음


 > 주의 사항
   * 호스팅 디렉토리에 대한 접근 설정이 유효해야 함
   * conf/extra/httpd-vhosts.conf를 참고
   * apache 설정보다 name server 설정이 우선
   * 호스팅 중인 호스트명이 name 서버에서 확인 되야 함
   * 시스템의 호스트명과 /etc/hosts에 기록된 이름이나 IP를 동일하게 설정









댓글 없음:

댓글 쓰기