Network 일반 > LINUX

본문 바로가기

사이트 내 전체검색

뒤로가기 LINUX

Network 일반

페이지 정보

작성자 최고관리자 작성일 21-02-10 16:54 조회 8,058 댓글 0

본문

출처 http://blog.naver.com/nirvana2k/60002516130

 1장. Network 일반

2.    Network관련 파일(반드시 알아야 하는 파일)
①    /etc/sysconfig/network : domain,hostname,gateway정보
②    /etc/sysconfig/network-scriptr/ifcfg-eth0 : Lan Card 정보(ip,network주소,gateway등)
③    /etc/resolv.conf : DNS ip(반드시 ip로 적어야 하며, 위에서부터 순서대로 1차,2차DNS)
 ④    /etc/hosts : mini nameserver

 3.    Network 장비
①    NIC(Network Interface Card), Ethernet Card // 랜카드
        다른 컴퓨터와 의 통신을 위한 필수장비
②    전송매체(Cable) : UTP cable : 양쪽 끝에 RJ45 컨넥터가 달려 있다.
③    Router : GateWay 역할을 하는 장비
④    HUB : 여러대의 컴퓨터를 연결시켜주는 장비



** 내부망과 외부망을 구분하는 방법 **

목적지 주소와 netmask값을 AND연산한다.

결과값과 Network부소값을 비교하여 동일하면 내무망, 다르면 외부망.



 ** Routing table 계산법 **

목적지 주소와 첫번째 레코드의 Genmask값을 AND연산한다.

결과값과 그 레코드의 Destination값과 비교하여 일치하면

Packet을 그 레코드의 Interface로 보내고,

일치하지 않으면 다음 레코드의 Genmask값과 목적지 주소를 AND연산한다.

그다음은 위와 동일하다.





 ** ping 명령어 사용법 **



ping [Domain|Hostname|ip]

 ping -c 3  // 보내는 갯수를 3개로 한다.

ping -i 4  // 보내는 간격을 4초로 한다. default 1초

ping -s 3000 // packet의 크기를 재지정. default 64byte(data-56,header-8)

              // 최대값은 65507 byte

 ping -w 10  // 10초간 보낸다. default 계속(^C 를 누를때 까지)

시간은  1/1,000 초 단위 최소/평균/최대





** ping에 응답하지 않기.

 /proc/sys/net/ipv4/icmp_echo_ignore_all  값 변경 0=응답, 1=무응답





** ifconfig 명령어 사용법 **

랜카드의 설정을 다양하게 적용시킬 수 있다.



ifconfig  // 현재 활성화 된 상태 보기

ifconfig  eth0  up/down    // 활성화/비활성화

ifconfig  eth0  192.168.1.50  // ip를 변경한다.

ifconfig  eth0  mtu 1300  // MTU값을 조절할 수 있다.

ifconfig  eth0  netmask  255.255.128  // netmask 값을 조절한다.

ifconfig  eth0  broadcast 192.168.1.127  //broadcast값을 변경한다.

ifconfig  eth0:0 192.168.1.100  // ip를 하나더 올림.





 **** 이렇게 설정한 것은 임시 방편이다. network Daemon 재실행하거나

 시스템을 재부팅하게 되면 모두 초기화 된다.





 ** route 명령어 사용법 **



route  // 현재 설정된 routing table을 본다.

route  del  default gw 192.168.1.254  // gateway 정보 삭제.

route  add  default gw 192.168.1.254  // gateway 정보 추가.



위의 ifconfig와 마찬가지로 임시방편이다.



실제로 설정값을 영구히 변경하기 위해서는 이 두개의 파일을 수정해야 한다.

 /etc/sysconfig/network

      1    NETWORKING=yes

      2    HOSTNAME=aha.ahalinux.co.kr

 /etc/sysconfig/network-scripts/ifcfg-eth0 

      1    DEVICE=eth0

      2    ONBOOT=yes

      3    BOOTPROTO=static

      4    IPADDR=192.168.1.1

      5    NETMASK=255.255.255.0

      6    GATEWAY=192.168.1.254







 2장.      DNS(Domain Name System)

domain ==> ip 로 변환해준다. 반대의 기능도한다.





4.    왜 dns가 필요한가?

네트워크에 참여하는 컴퓨터가 많지 않을때는 /etc/hosts 파일만으로 통신할 수 있었지만

네트워크에 참여하는 컴퓨터가 늘어나면서 모든 정보를 기억하는게 불가능해졌다.



5.    name server의 동작 원리와 zone의 개념.

PowerPoint 자료 참조



6.    bind 설치 방법



  bind(2개)

    caching(1)

이렇게 설치 되어 있으면 되고, 만약 설치시 빠트렸다면 배포판 CD에서 찾거나.

rpmfind.net에서 다운로드 받는다.

 

7.    bind 시작과 종료(항상 가동하기)

    /etc/init.d/named  start/stop/restart

부팅할때 항상 자동으로 실행되기를 원한다면  ntsysv 명령을 내려서 named에 체크해주면 된다.





8.    dns와  관련된 파일들



⑤      /etc/resolv.conf

 // 질의할 nameserver 지정하고 있는 파일. 반드시 ip로 입력해 놓아야 한다.



serarch ahalinux.co.kr

 nameserver      168.192.63.1

 nameserver    211.217.47.100





 ⑥      /etc/host.conf 

// 질의 순서를 정의하고 있는 파일.



  order hosts,bind      multi on

  nospoof on



 /etc/hosts파일에서 정보를 찾고, 없으면 bind 즉 /etc/resolv.conf 파일에 정의된 ns에게 질의하라.



⑦      /etc/hosts  // mini name server



 # Do not remove the following line, or various programs

 # that require network functionality will fail.

 127.0.0.1                  b3.ahalinux.co.kr b3 localhost.localdomain localhost

 211.115.211.8  empas.com    em

 211.218.150.200                    naver.com      na



 // 이 파일의 사용형식은  위의 예제처럼 ip,hostname,nickname을 순서대로 적어서 사용하며,

자주 방문하는 곳은 이 파일을 사용함으로서 속도를 빠르게 해준다.





⑧    /etc/named.conf  // nameserver master 설정 파일.



 // generated by named-bootconf.pl



 options {

            directory "/var/named";      //zone 파일들이 위치할 디렉토리를 지정하는 옵션.

            /*

            * If there is a firewall between you and nameservers you want

            * to talk to, you might need to uncomment the query-source

            * directive below.  Previous versions of BIND always asked

            * questions using port 53, but BIND 8.1 uses an unprivileged

            * port by default.

            */

            // query-source address * port 53;

 };



 //

 // a caching only nameserver config

 //

 controls {

            inet 127.0.0.1 allow { localhost; } keys { rndckey; };

 };

 zone "." IN {

            type hint;

            file "named.ca";

 };



 zone "localhost" IN {

            type master;

            file "localhost.zone";

            allow-update { none; };

 };



 zone "0.0.127.in-addr.arpa" IN {

            type master;

            file "named.local";

            allow-update { none; };

 };

 include "/etc/rndc.key";





 9.    실습1. cache-only server



아래에 있는 named.ca 파일만으로 운영되는 nameserver





 ;      This file holds the information on root name servers needed to

 ;      initialize cache of Internet domain name servers

 ;      (e.g. reference this file in the "cache  .  <file>"

 ;      configuration file of BIND domain name servers).

 ;

 ;      This file is made available by InterNIC registration services

 ;      under anonymous FTP as

 ;          file                /domain/named.root

 ;          on server          FTP.RS.INTERNIC.NET

 ;      -OR- under Gopher at    RS.INTERNIC.NET

 ;          under menu          InterNIC Registration Services (NSI)

 ;              submenu          InterNIC Registration Archives

 ;          file                named.root

 ;

 ;      last update:    Aug 22, 1997

 ;      related version of root zone:  1997082200





 10.              실습2. 기본 DNS설정. (각 레코드에 대한 설명)



설정순서.

⑨      domain 등록

⑩      설정 table작성

⑪      /etc/named.conf 에 zone 파일 지정

⑫      zone 파일 생성(/var/named)

 ⑬      named  restart

 ⑭      /etc/resolv.conf  파일 수정

⑮      test





Domain : blue.com

ns.blue.com  : 211.217.47.100

www.blue.com  : 211. 217.47.50

 ftp.blue.com  : 211. 217.47.60

 mail.blue.com : 211. 217.47.70



 ** /etc/named.conf  아래 내용 추가.

zone "blue.com" IN {

            type master;

            file "blue.zone";

 };



 zone "47.217.211.in-addr.arpa" IN {

            type master;

            file "blue.rev";

 };



blue.zone.

 //forward zone : domain에 대한 ip정보를 가지고 있는 데이터베이스 파일.



 $TTL    86400

 @      IN      SOA    ns.blue.com.        master.blue.com.  (

                                      1997022700 ; Serial

                                      28800      ; Refresh

                                      14400      ; Retry

                                      3600000    ; Expire

                                      86400 )    ; Minimum

            IN        NS      ns.blue.com.

            IN        A        211.217.47.100

 ns      IN        A        211.217.47.100

 www    IN        A        211.217.47.50

 ftp      IN        A        211.217.47.60

 mail    IN        A        211.217.47.70

 @        IN        MX      10      mail.blue.com.

 @        IN        A        211.217.47.100

 linux    IN        CNAMW          www

 @        IN        HINFO  "P4-2.4"          "hancom3.1"

 blue.rev

 //reverse zone : ip에 대한 domain정보를 가지고 있는 데이터베이스 파일.

                  in-addr.arpa형식으로 표기(등록해야만 사용 가능)



 $TTL    86400

 @      IN      SOA    ns.blue.com.        master.blue.com.  (

                                      1997022700 ; Serial

                                      28800      ; Refresh

                                      14400      ; Retry

                                      3600000    ; Expire

                                      86400 )    ; Minimum

            IN        NS      ns.blue.com.

            IN        A        211.217.47.100

 100      IN        PTR    ns.blue.com.

 50      IN        PTR    www.blue.com.

 60      IN        PTR    ftp.blue.com.

 70      IN        PTR    mail.blue.com.



데몬 재실행 후 테스트.

/etc/init.d/named start

/etc/resolv.conf



nameserver  211.217.47.100

 #nslookup



 11.              각 레코드에 대한 설명





Record
Record 의 의미

@
domain 자체를 뜻한다. 여기서는 blue.com을 말함.origin이라고 함.

IN
Internet address class를 뜻하며, 일반적으로 사용.

SOA
Start of Authority 해당 domain에 대한 모든 권리를 갖는다는 의미.

여기서는 blue.com domain에 대해  ns.blue.com 이 모든 권한을 갖겠다.

NS
nameserver  domain에 대한 nameserver를 지정한다.

A
Address  domain에 대한 ip 정보를 나타낸다.

PTR
Pointer  ip에 대해 dommain정보를 나타낸다.

MX
Main Exchange  domain에 대해 들오온 메일을 포워딩 할 서버를 지정한다.

숫자가 적을수록 우선순위가 높다.

CNAME
Canoical Name 하나의 domain에 여러개의 이름을 가질 수 있도록 alias 해주는 기능

HINFO HareWare information  서버의 cpu 종류와 OS종류를 표기한다.






12.              2차 dns의 개념과 필요성

nameserver가 중지되면 모든 서비스 마비된다.

Nameserver가 한대 밖에 없다면 그 서버가 문제가 발생하여 서비스를 할 수 없다면 web,ftp,mail등

 다른 서버가 잘 작동하고 있다고 할지라도 서비스를 해줄 수가 없다.

Master 서버가 문제가 발생할 것에 대비하여 slave 2차 서버를 준비하여 두는 것이다.

두 서버는 스스로 통신을 하며, 항상 새로운 데이터를 가지게 되는데,

아래의 표는 master와 slave가 서로 통신할 때의 필요한 설정을 나타낸다.







표기
각 표기의 의미

Serial nameser의 version 표시. slave가 비교 할 수 있게끔 해야 한다

Refresh 접속 주기 기본값(8시간)

Retry
재접속 주기. 접속을 시도했는데 master가 문제가 발생하여 접속되지 않을 때 다시 접속 시도하는 시간 (기본 4시간)

Expire
파기할 시간. 일정기간 접속 되지 않으면 기존 정보를 파기한다.(기본 약 41일)

Minimum
다른 ns가 자신의 ns정보를 가져 갔을때 가져간 측의 cache에 살아있는 시간(TTL) 기본1일






13.              실습3. master,slave nameserver 설정.



    master는 크게 달라지지 않는다.

    slave는 zone 파일은 생성 할 필요가 없고, /etc/named.conf 만 설정하면 된다.



16    1차 네임서버 작업

blue.zone.



 $TTL    86400

 @      IN      SOA    ns.blue.com.        master.blue.com.  (

                                      1997022700 ; Serial

                                      28800      ; Refresh

                                      14400      ; Retry

                                      3600000    ; Expire

                                      86400 )    ; Minimum

            IN        NS      ns.blue.com.

            IN        NS      ns2.blue.com.

            IN        A        211.217.47.100

            IN        A        211.217.47.102

 ns      IN        A        211.217.47.100

 ns2    IN        A        211.217.47.102

 www    IN        A        211.217.47.50

 ftp      IN        A        211.217.47.60

 mail    IN        A        211.217.47.70





 blue.rev



 $TTL    86400

 @      IN      SOA    ns.blue.com.        master.blue.com.  (

                                      1997022700 ; Serial

                                      28800      ; Refresh

                                      14400      ; Retry

                                      3600000    ; Expire

                                      86400 )    ; Minimum

            IN        NS      ns.blue.com.

            IN        NS      ns2.blue.com.

            IN        A        211.217.47.100

            IN        A        211.217.47.102

 100      IN        PTR    ns.blue.com.

 102      IN        PTR    ns2.blue.com.

 50      IN        PTR    www.blue.com.

 60      IN        PTR    ftp.blue.com.

 70      IN        PTR    mail.blue.com.



 17    2차 네임서버에서의 설정.

 /etc/named.conf



 zone "blue.com" IN {

            type slave;

            file "slave-blue.zone";

            masters{211.217.47.100;};

 };

 zone "47.217.211.in-addr.arpa" IN {

            type slave;

            file "slave-blue.rev";

            masters{211.217.47.100;};

 };

  위 내용을 작성해 준 후에 named 데몬을 실행 시키면 된다.



2차 name server에서 zone파일들은 자동생성



slave-blue.zone

 $ORIGIN .

 $TTL 86400    ; 1 day

 blue.com                  IN SOA ns.blue.com. master.blue.com. (

                                          1997022700 ; serial

                                          28800      ; refresh (8 hours)

                                          14400      ; retry (4 hours)

                                          3600000    ; expire (5 weeks 6 days 16 hours)

                                          86400      ; minimum (1 day)

                                          )

                                NS      ns.blue.com.

                                NS      ns2.blue.com.

                                A        211.217.47.100

                                A        211.217.47.102

 $ORIGIN blue.com.

 ftp                            A        211.217.47.60

 mail                          A        211.217.47.70

 ns                            A        211.217.47.100

 ns2                          A        211.217.47.102

 www                        A        211.217.47.50



 slave-blue.rev

 $ORIGIN .

 $TTL 86400    ; 1 day

 47.217.211.in-addr.arpa        IN SOA ns.blue.com. master.blue.com. (

                                          1997022700 ; serial

                                          28800      ; refresh (8 hours)

                                          14400      ; retry (4 hours)

                                          3600000    ; expire (5 weeks 6 days 16 hours)

                                          86400      ; minimum (1 day)

                                          )

                                NS      ns.blue.com.

                                NS      ns2.blue.com.

                                A        211.217.47.100

                                A        211.217.47.102

 $ORIGIN 47.217.211.in-addr.arpa.

 100                          PTR    ns.blue.com.

 102                          PTR    ns2.blue.com.

 50                            PTR    www.blue.com.

 60                            PTR    ftp.blue.com.

 70                            PTR    mail.blue.com.







 3장.        Web-server



 14.              Apache 설치

18    이미 rpm 으로 설치되어 있는 아파치를 지운다.
    #rpm  -qa|grep  apache
    #rpm  -e  apache

 19    소스를 다운로드 후 압축을 푼다.
    #tar xvfz  apache_1.3.20.tar.gz
    압축을 풀면 디렉토리 생성되고, 그곳으로 이동.

20    컴파일 환경설정한다(Makefile 생성)
    #./configure  --prefix=/apm/apache
    (--prefix옵션은 설치위치를 지정한다. 생략하면  /usr/local)

 21    컴파일 한다.
    #make

 22    파일 복사
  #make install



 15.              아파치 시작과 종료

23                  apache 시작
    /apm/apache/bin/apachectl start

 24                  실행 확인
  #ps  -ef|grpe  httpd  (Daemon 5개면 정상)

25                  apache 종료
  #killall  httpd

 26                  apache 재실행(설정을 변경하면 재실행 해 주어야 적용됨)
  #/apm/apache/bin/apachectl restart



 16.              apache 설정 파일 설명(httpd.conf)



      2    ## httpd.conf -- Apache HTTP server configuration file

     

    41    ### Section 1: Global Environment

   

    52    ServerType standalone      // 서버가 항상 가동중임을 의미한다. 



    63    ServerRoot "/apm/apache"    // 아파치의 설치 위치



    80    PidFile /apm/apache/logs/httpd.pid    // process id 를 저장하고 있는 파일



    88    ScoreBoardFile /apm/apache/logs/httpd.scoreboard



    99    #ResourceConfig conf/srm.conf      // 이전 버전에서 httpd.conf,srm.conf,access.conf 파일

100  #AccessConfig conf/access.conf  // 세개로 분리하여 사용하였으나 지금은 httpd.conf

하나로 통합.



    105    Timeout 300  // client가 접속을 한후 요청을 받을때까지 기다리는 시간. 모든 시간설정값은 초단위.

                      // 이 시간을 초과하게 되면 접속을 끊어 버린다.

   

111      KeepAlive On  // 지속적인 연결을 유지할것인가를 설정. 한번 연결로 여러개의 요청을 허용할

 것인가를 결정.

   

118      MaxKeepAliveRequests 100 // 위에서 지속적인 연결을 유지했을때 최대 몇개까지의 요청을 처리

 할 것인가를 결정.

   

124      KeepAliveTimeout 15  // 동일한 client가 다음 요청을 했을때 기다리는 시간.15초가 지나면

 접속을 끊음.



    139    MinSpareServers 5    // 최소로 유지할 process 수

  140    MaxSpareServers 10    // 최대로 유지할 process 수



  146    StartServers 5  // 처음 서버 기동할때 시작할 process 수

            # End of document types.

 

    155    MaxClients 150  // 동시접속 허용 client 수

 

    178    #Listen 3000  // 서버가 귀 귀울여야 하는 포트와 ip. 특정한 포트만 사용시 필요.

    179    #Listen 12.34.56.78:80  // 기본적으로 모든 포트와 ip에 대해 귀 귀울인다.

    187    #BindAddress *



    190    # Dynamic Shared Object (DSO) Support  // 동적으로 모듈을 사용할때 필요.

                    // 특정한 기능을 아파치실행시 사용하고 싶다면 이 기능을 이용한다.

    203    # Example:

    204    # LoadModule foo_module libexec/mod_foo.so



 211  #ExtendedStatus On  // 서버의 자세한 상태를 웹상에서 확인하고자 할때

<SERVER-STATUS> 지시자와 관련 있다.



    213    ### Section 2: 'Main' server configuration

   

 236      Port 80  // 기본 포트 설정 부분. 다른 포트를 사용하기 위해서는 1024 이후 포트를

 지정하여 사용한다.

   

    250    User nobody    // 웹서버 실행시 사용자와 그룹의 권한. root로 변경하지 않도록 주의한다.

    251    Group nobody

   

    258    ServerAdmin root@aha.ahalinux.co.kr  // 서버 관리자의 E-mail Address

 

    276    #ServerName aha.ahalinux.co.kr  // dns에서 지정한 이름을 적어주도록 한다.

 

    283    DocumentRoot "/apm/apache/htdocs"  // 웹문서 root

   

    293    <Directory />  // System root directory 에 대한 옵션 설정.

    294        Options FollowSymLinks

    295        AllowOverride None

    296    </Directory>

   

    308    <Directory "/apm/apache/htdocs">  // 웹문서의 root directory에 대한 옵션 지정



      // 각 옵션에 대한 설명은 교재를 참고할것.





    311    # This may also be "None", "All", or any combination of "Indexes",

    312    # "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".

    317    Options Indexes FollowSymLinks MultiViews

 

    320    # This controls which options the .htaccess files in directories can

    321    # override. Can also be "All", or any combination of "Options", "FileInfo",

    322    # "AuthConfig", and "Limit"

 

    324        AllowOverride None

 

    329        Order allow,deny

    330        Allow from all

    331    </Directory>

 

    337    <IfModule mod_userdir.c>

    338        UserDir public_html

    339    </IfModule>

    340

          // 일반 user들에 대한 옵션 설정.

    345    #<Directory /home/*/public_html>

    346    #    AllowOverride FileInfo AuthConfig Limit

    347    #    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

    348    #    <Limit GET POST OPTIONS PROPFIND>

    349    #        Order allow,deny

    350    #        Allow from all

    351    #    </Limit>

    352    #    <LimitExcept GET POST OPTIONS      # End of document types.

    353    #        Order deny,allow

    354    #        Deny from all

    355    #    </LimitExcept>

    356    #</Directory>



    362    <IfModule mod_dir.c>

    363        DirectoryIndex index.html    //  처음으로 보여줄 파일명.

    364    </IfModule>



    370    AccessFileName .htaccess    // 디렉토리 접근제어 할 파일명.

   

    383    <Files ~ "^\.ht">            // ".ht" 파일에 대한 접근을 불허한다.

    384        Order allow,deny          // ~는  정규표현식.  파일 이름을 정의 하겠다.

    385        Deny from all

    386    </Files>

   

    394    #CacheNegotiatedDocs  // proxy 서버로 하여금 cache를 할 것인가를 설정.

   

    404    UseCanonicalName On  // 아파치가 자신의 url을 만들때 규범적인 이름과 포트를 사용한다.

   

    410    <IfModule mod_mime.c>  // mime type에 대한 설정파일 위치.

    411        TypesConfig /apm/apache/conf/mime.types

    412    </IfModule>

   

    423    DefaultType text/plain

   

    436    <IfModule mod_mime_magic.c>

    437        MIMEMagicFile /apm/apache/conf/magic

    438    </IfModule>

   

 448  HostnameLookups Off    // 로그기록시 client의 ip만 기록하느냐, 아니면 hostname

까지 기록하느냐 설정. on 으로 설정하면 hostname가지 기록한다. 이 경우 DNS 에게

 질의하여야 하므로 느려진다.



    457    ErrorLog /apm/apache/logs/error_log

     

        ***로그포멧 형식은 교재를 참고.



    460    # LogLevel: Control the number of messages logged to the error_log.

    461    # Possible values include: debug, info, notice, warn, error, crit,

    462    # alert, emerg.

    464    LogLevel warn



    470    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

    471    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    472    LogFormat "%{Referer}i -> %U" referer

    473    LogFormat "%{User-agent}i" agent



    482    CustomLog /apm/apache/logs/access_log common



    488    #CustomLog /apm/apache/logs/referer_log referer



    489    #CustomLog /apm/apache/logs/agent_log agent



    495    #CustomLog /apm/apache/logs/access_log combined

   



    504    ServerSignature On    // error 문서에 대한 여러 형태의 처리 방식



  533    <IfModule mod_alias.c>

   

    542        Alias /icons/ "/apm/apache/icons/"      // 별칭 기능.

    544        <Directory "/apm/apache/icons">

    545            Options Indexes MultiViews

    546            AllowOverride None

    547            Order allow,deny

    548            Allow from all

    549        </Directory>

   

    559        ScriptAlias /cgi-bin/ "/apm/apache/cgi-bin/"    // 별칭 기능

 

    565        <Directory "/apm/apache/cgi-bin">

    566            AllowOverride None

    567            Options None

    568            Order allow,deny

    569            Allow from all

    570        </Directory>



    572    </IfModule>



   

    585    <IfModule mod_autoindex.c>



    590        IndexOptions FancyIndexing



 597                  AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip 

// file들에 대한 icon지정.



    599        AddIconByType (TXT,/icons/text.gif) text/*

    600        AddIconByType (IMG,/icons/image2.gif) image/*

    601        AddIconByType (SND,/icons/sound2.gif) audio/*

    602        AddIconByType (VID,/icons/movie.gif) video/*

             

    604        AddIcon /icons/binary.gif .bin .exe

            .............................

    624        AddIcon /icons/blank.gif ^^BLANKICON^^



    630        DefaultIcon /icons/unknown.gif





    638        #AddDescription "GZIP compressed document" .gz

    639        #AddDescription "tar archive" .tar

    640        #AddDescription "GZIP compressed tar archive" .tgz



    654        ReadmeName README

    655        HeaderName HEADER



    661        IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

    662   

    663    </IfModule>





    669    <IfModule mod_mime.c>



    677        AddEncoding x-compress Z

    678        AddEncoding x-gzip gz tgz



    707        AddLanguage da .dk

   



          ......

    720        AddCharset ISO-2022-KR .iso-kr

 

    734        AddCharset Big5        .Big5    .big5

    735        AddCharset WINDOWS-1251 .cp-1251

    736        AddCharset CP866        .cp866

    737        AddCharset ISO-8859-5  .iso-ru

    738        AddCharset KOI8-R      .koi8-r

    739        AddCharset UCS-2        .ucs2

    740        AddCharset UCS-4        .ucs4

    741        AddCharset UTF-8        .utf8



    749        <IfModule mod_negotiation.c>

    750            LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw

    751        </IfModule>

 



    760        #AddType application/x-httpd-php3 .php3

    761        #AddType application/x-httpd-php3-source .phps

    762        #

    763        # And for PHP 4.x, use:

    764        #

    765        AddType application/x-httpd-php .php .php3

    766        AddType application/x-httpd-php-source .phps



    768        AddType application/x-tar .tgz



    778        # To use CGI scripts:



    780        #AddHandler cgi-script .cgi



    785        #AddType text/html .shtml

    786        #AddHandler server-parsed .shtml



    792        #AddHandler send-as-is asis



    797        #AddHandler imap-file map

    802        #AddHandler type-map var



    804    </IfModule>



    820    #MetaDir .web



    826    #MetaSuffix .meta



    829    # Customizable error response (Apache style)

    830    #  these come in three flavors

    831    #

    832    #    1) plain text

    833    #ErrorDocument 500 "The server made a boo boo.

    834    #  n.b.  the single leading (") marks it as text, it does not get output

    835    #

    836    #    2) local redirects

    837    #ErrorDocument 404 /missing.html

    838    #  to redirect to local URL /missing.html

    839    #ErrorDocument 404 /cgi-bin/missing_handler.pl

    840    #  N.B.: You can redirect to a script or a document using server-side-includes.

    841    #

    842    #    3) external redirects

    843    #ErrorDocument 402 http://some.other_server.com/subscription_info.html

    844    #  N.B.: Many of the environment variables associated with the original

    845    #  request will *not* be available to such a script.



    847    #

    848    # Customize behaviour based on the browser

    849    #



    850    <IfModule mod_setenvif.c>

    860        BrowserMatch "Mozilla/2" nokeepalive

    861        BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0



    868        BrowserMatch "RealPlayer 4\.0" force-response-1.0

    869        BrowserMatch "Java/1\.0" force-response-1.0

    870        BrowserMatch "JDK/1\.0" force-response-1.0



    872    </IfModule>



    879    #<Location /server-status>

    880    #    SetHandler server-status

    881    #    Order deny,allow

    882    #    Deny from all

    883    #    Allow from .your_domain.com

    884    #</Location>



    887    # Allow remote server configuration reports, with the URL of

    888    # http://servername/server-info (requires that mod_info.c be loaded).

    889    # Change the ".your_domain.com" to match your domain to enable.



    891    #<Location /server-info>

    892    #    SetHandler server-info

    893    #    Order deny,allow

    894    #    Deny from all

    895    #    Allow from .your_domain.com

    896    #</Location>



    905    #<Location /cgi-bin/phf*>

    906    #    Deny from all

    907    #    ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi

    908    #</Location>



    914    #<IfModule mod_proxy.c>

    915    #    ProxyRequests On



    917    #    <Directory proxy:*>

    918    #        Order deny,allow

    919    #        Deny from all

    920    #        Allow from .your_domain.com

    921    #    </Directory>



    928    #    ProxyVia On



    934    #    CacheRoot "/apm/apache/proxy"

    935    #    CacheSize 5

    936    #    CacheGcInterval 4

    937    #    CacheMaxExpire 24

    938    #    CacheLastModifiedFactor 0.1

    939    #    CacheDefaultExpire 1

    940    #    NoCache a_domain.com another_domain.edu joes.garage_sale.com



    942    #</IfModule>



    945    ### Section 3: Virtual Hosts



    961    #NameVirtualHost *



    969    #<VirtualHost *>

    970    #    ServerAdmin webmaster@dummy-host.example.com

    971    #    DocumentRoot /www/docs/dummy-host.example.com

    972    #    ServerName dummy-host.example.com

    973    #    ErrorLog logs/dummy-host.example.com-error_log

    974    #    CustomLog logs/dummy-host.example.com-access_log common

 975      #</VirtualHost>



    *** 더 자세한 사항은 참고 서적이나. Apache.org또는 apache.kr.net을 이용 바람니다. **





17.              특정페이지 암호화



 특정한 디렉토리나 링크를 클릭했을 때 인증창을 띄워서 허락된 사용자만 접근이 가능하게 설정한다.



실습>

mkdir  /apm/apache/htdocs/login

그아래에  html문서를 위치시킨다.



Httpd.conf 설정

<Directory  “/apm/apache/htdocs/login”>

Options  Indexes FollowSymLinks                // 생략가능. 위의 설정을 그대로 적용받는다.



AllowOverride  Authconfig

 AuthName        “이곳은  로그인 하셔야 들어오실 수 있습니다!”

AuthType        Basic

 AuthUserFile    /apm/apache/htdocs/login/.htpasswd

 <Limit  POST  GET>

          require  valid-user

 </Limit>

 Order  allow,deny

 Allow  from  all

 </Directory>





인증파일 생성하기

htpasswd  -c  /apm/apache/htdocs/login/.htpasswd  <user>   

 // .htpasswd  파일이 생성되며 로그인 가능한 계정정보를 보관한다.

-c 옵션은  처음 파일을 생성할때만 사용하고, 사용자를 추가할때는  -c 옵션없이 등록만 하면 됨.



브라우저에서 확인

18.              일반계정의 홈페이지 만들기

~/public_html 이  일반계정의  홈페이지 디렉토리가 된다.



일반사용자를 보통 홈디렉토리가 700 으로 권한 설정이 되어 있으므로

 타인이 디렉토리까지 접근 하도록 허용해 주여야 웹페이지를 볼수 있다.

chmod  701  ~계정

 브라우저 확인 :    http://localhost/~계정





19.              가상호스트



가상호스트는 여러 개의 도매인을 하나의 웹 서버에서 서비스하기 위한 설정이며,

웹 호스팅 시 반드시 필요한 사항이다.



1. ip 기반 가상호스트

  (domain 하나에 ip하나 mapping) 



계획:  211.217.47.50 = haha.co.kr

              211.217.47.60 = ok.com

              211.217.47.70= wind.org

             

① httpd.conf 설정



<VirtualHost 211.217.47.50>

        ServerAdmin    webmaster@haha.co.kr

        DocumentRoot    /apm1/apache/htdocs/h

댓글목록 0

등록된 댓글이 없습니다.

Copyright © beautipia.co.kr. All rights reserved.

contact : webmaster@beautipia.co.kr

PC 버전으로 보기