'프락시'에 해당되는 글 1건

 
먼저 squid는 주서버 프로그램인 squid와 함께 도메인네임서버 검색프로그램인 dnsserver,
그리고 FTP데이터를 가져오는 프로그램인 ftpget, 그리고 squid관리도구와 클라이언트
도구들로 구성되어 있습니다..
 
설치는 현재 날짜 기준으로 squid-2.6.STABLE13.tar.gz로 소스 설치 하겠습니다..^^
 
다운받는 주소는
ftp://ftp.squid.org/pub/squid-2/STABLE에서 받으시면 됩니다.
 
일단 설치하기 전에
#rpm -qa | grep squid
검색 하셔서 나온다면 지워 줍니다..
 
압축을 풀어주고
#tar zxvf squid-2.6.STABLE13.tar.gz
압축푼 디렉토리로 이동한다음
#cd squid-2.6.STABLE13
 
설치될 경로를 지정 해주고..
#./configure --prefix=/usr/local/squid
컴파일 한다음..
#make
설치 합니다..^^
#make install
 
squid설치후 생성되는 디렉토리를 설명하자면...^^
(1) bin : squid실행과 관련된 스크립트 프로그램이 있다.
(2) etc : squid관련 환경설정파일인 squid.conf가 위치하고 있다.
(3) libexec : 서버운영과 관련된 스크립트 파일이 있는 디렉토리이다.
(4) lib : 프로그램 개발에 필요한 라이브러리 정보를가진다.
(5) man : man명령관련 정보파일을 가진다.
(6) sbin : squid 서버를 실행하고 관리하는 squid라는 명령이 위치하는 디렉토리이다.
(6) share : squid를 사용하면서 생기는 에러 메시지에 대한 정보 파일을 가진다.
(7) var : 로그 파일에 대한 정보를 가진다.
소스로 설치 했다면 환경설정 파일은
/usr/local/squid/etc/squid.conf에 위치합니다..^^
 
 
Squid 데몬 실행
   1) /usr/local/squid/sbin/squid -z
     => 스왑디렉토리를 초기화한다.
   2) /usr/local/squid/sbin/squid
     => 데몬을 띄운다.

 (2) 데몬실행시 오류분석
   1) 서버 호스트네임이 없는 경우: squid -z 실행시 나타난다.
     [root@www193 squid]# sbin/squid -z
     FATAL: Could not determine fully qualified hostname.  Please set 'visible_hostname'
     Squid Cache (Version 2.5.STABLE1): Terminated abnormally.
     CPU Usage: 0.008 seconds = 0.002 user + 0.006 sys
     Maximum Resident Size: 0 KB
     Page faults with physical i/o: 245
     Aborted
      => (해결책)
        squid.conf 에 'visible_hostname 호스트이름'을 지정해 준다.
  
2) cache 디렉토리가 없는 경우 : squid -z 실행시 나타난다.
     [root@mybestone /usr/local/squid/sbin]# ./squid -z
     2002/12/02 00:28:18| Creating Swap Directories
     FATAL: Failed to make swap directory /usr/local/squid/var/cache: (13) Permission denied
     Squid Cache (Version 2.5.STABLE1): Terminated abnormally.
     CPU Usage: 0.000 seconds = 0.000 user + 0.000 sys
     Maximum Resident Size: 0 KB
     Page faults with physical i/o: 9
      => 해결책
        ㄱ. mkdir /usr/local/squid/var/cache 해서 디렉토리를 생성한다.
        ㄴ. chmod 777 /usr/local/squid/var/cache해서 권한을 설정한다.
 
 3) logs디렉토리에 권한이 없는경우
     ㄱ.원인: squid 데몬을 띄운 후 클라이언트가 웹브라우저를 띄우고 프록시 서버를
         실제적으로 사용하면 squid 데몬이 죽는 경우가 발생한다.
         직접적인 로그기록(프로세스아이디 등)을 할 수 없기 때문에 발생한다.
     ㄴ.해결책 : nobody가 로그를 기록할 수 있도록 설정한다.
         chmod 777 /usr/local/squid/var/logs
 
Squid 서버 실행절차
 (1) squid.conf에서 환경설정을 한다.
    vi /usr/local/squid/etc/squid.conf
(2) cache 영역으로 사용할 공간을 /usr/local/squid/var디렉토리밑에 생성한다.
    mkdir /usr/local/squid/var/cache
(3) 모든 사람들이 접근할 수 있도록 허가권을 설정한다.
    chmod 777 /usr/local/squid/var/cache
(4) 스왑디렉토리(캐시용 디렉토리)를 초기화한다.
    /usr/local/squid/sbin/squid -z
(5) 데몬을 실행한다.
    /usr/local/squid/sbin/squid
 
 
ps. root가 아닌 전용계정으로 squid 관리하기
먼저 squid서버를 관리할 계정을 만들어야 합니다. 흔히 root로 squid를 관리하기도
하지만 가능한 별도의 계정으로 squid를 관리하는 것이 보안에 좋다고 생각합니다...^^
squid란 계정을 만든후 관리하도록 할건데 굳이 계정을 squid라고 만들지 않고
다른 계정으로 만들어도 상관없습니다..^^
 
#useradd squid
#passwd squid
#chown -R squid:squid /usr/local/squid
#ls -l /usr/local/squid/ <- 보시면 권한이 squid로 바뀐것을 보실수 잇습니다..^^
 
그리고 squid서버를 별도의 계정으로 실행하고 관리한다면 squid.conf파일의
아래 설정에 해당 관리계정을 설정해 주셔야 합니다..
 
cache_effective_user squid
cache_effective_group squid
 
이제 프록시서버를 root가 아닌 squid계정으로 관리하기때문에
보다 효율적으로 프록시서버를 운용할 수 있습니다...^^

출처 : Tong - hanjunghee님의 ☞ [UNIX관련자료]통

블로그 이미지

세이박스

세이박스는 세상의 모든 이야기를 담는 소통박스 입니다.

댓글을 달아 주세요