반응형
먼저 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
#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 : 로그 파일에 대한 정보를 가진다.
(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
=> 데몬을 띄운다.
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해서 권한을 설정한다.
[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 데몬을 띄운 후 클라이언트가 웹브라우저를 띄우고 프록시 서버를
실제적으로 사용하면 squid 데몬이 죽는 경우가 발생한다.
직접적인 로그기록(프로세스아이디 등)을 할 수 없기 때문에 발생한다.
ㄴ.해결책 : nobody가 로그를 기록할 수 있도록 설정한다.
chmod 777 /usr/local/squid/var/logs
ㄴ.해결책 : 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
(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계정으로 관리하기때문에
보다 효율적으로 프록시서버를 운용할 수 있습니다...^^
반응형
'서버,보안' 카테고리의 다른 글
웹상에서 Mac주소 및 내컴퓨터 정보 보기 (0) | 2008.10.21 |
---|---|
컴퓨터 맥주소(mac address) 바꾸기 (0) | 2008.10.21 |
내PC를 CCProxy 를 이용해서 프록시 서버로 만들기 (0) | 2008.10.21 |
공개 네트워크 모니터링 툴 활용 NTOP (0) | 2008.10.21 |
Linux(프록시 서버 설치 및 구성) (0) | 2008.10.21 |
프록시 IP 목록 사이트 (0) | 2008.10.21 |
국내 프록시 IP 주소 목록 (0) | 2008.10.21 |
프록시서버 쓰는 방법 (0) | 2008.10.21 |