Computer/LINUX 48

mod_cband (apache 2.x)

mod_cband(아파치2의 트래픽 제어모듈 like mod_throttle&mod_bandwidth) 사용법 0. 내가 원한는 것? 예전에 apache 1은 mod_throttle으로 가상호스트별 트래픽 측정 및 제한이 가능했습니다. 이 트래픽 제한 기능은 호스팅을 하기위해서는 필수입니다. 어떤 도메인에서 많이 사용하는지 아는 것은 아주 중요한 일이기 때문입니다. 하지만, apache2를 쓰면 이놈을 포기할 수 밖에 없었습니다. 검색하다 .. cband를 찾았습니다. mod_throttle과 기능및 구조 거의흡사하며, mod_bandwidth의 기능까지포함했고, 최근에 개발되어 계속 성능 향상이 되어 가고 있었습니다. 보다 좋은건, ?xml 이라고 붙여주면, 데이터를 xml형태로 얻을 수 있어, 호스팅..

Computer/LINUX 2012.08.10

httpd.conf

http://www.superuser.co.kr/apache/apache2_manual/howto/public_html.html ServerType Standalone # 서버 타입을 설정하는 지시자 이다. # ServerType 에서 설정할 수 있는 것은 Standalone 과 inetd 두가지 설정이 있다. ServerRoot /usr/local/apache # 아파치 서버의 루트 디렉토리를 설정한다. PidFile /usr/local/apache/logs/httpd.pid # 아파치가 실행될 때 생성되는 httpd.pid 파일이 생성될 경로를 지정한다. ScoreBoardFile /usr/local/apache/logs/httpd.scoreboard #부모 프로세스가 자식 프로세스와 의사 소통을 할..

Computer/LINUX 2012.08.10

HTTP response

http://lab.zagia.com/developer_zone/bbs/link.php?bo_table=devzone_crawler&wr_id=5&no=1 HTTP/0.9의 요구에 대해서는 단지 Entity-Body만을 돌려주는 형태의 응답을 한다. 그 이상의 버전은 다음과 같은 형태의 응답을 한다. Full-Response  Status-Line General-Header Response-Header Entity-Header CRLF Entity-Body Status-Line 요구 처리의 성공 여부와 오류가 생겼을 경우 그 이유 등을 전달한다. HTTP-Version SP Status-Code SP Reason-Phrase CRLF Status Code와 Reason Phrase: 클라이언트는 Sta..

Computer/LINUX 2012.08.10

HTTP Request

http://lab.zagia.com/developer_zone/bbs/link.php?bo_table=devzone_crawler&wr_id=4&no=1 Simple-Request  GET SP Request-URI CRLF 위와 같이 HTTP/0.9에서는 한 줄로 이루어진다. 그러나 HTTP/1.0이후부터는 여러 가지의 내용을 기술 할 수 있다. HTTP/1.1에서는 반드시 필요한 항목들도 있다. CRLF는 새로운 라인을 말하며 C 언어상의 “\r\n”과 같다. SP는 공백을 의미한다. Full-Request  Request-Line General-Header Request-Header Entity-Header CRLF Entity-Body A. Request-Line Method SP Reque..

Computer/LINUX 2012.08.10

HTTP ERROR

HTTP Status Code(HTTP 1.1 : RFC 2616) 상태코드는 서버가 요구 메시지를 수신하여 처리한 결과를 알려주는 세 자리의 정수로 된 처리 결과 번호입니다. 첫 번째 자리 숫자는 응답의 종류에 대한 분류 기호이며, 나머지 두 자리 숫자는 일련번호입니다. 현재 첫 번째 자리 숫자에 대해 다섯 가지로 분류하여 쓰고 있습니다. Informatinal 1xx Success 2xx Redirection 3xx Client Error 4xx Server Error 5xx Informational 1xx 참고 정보로 클라이언트의 요청이 접수되었고 현재 처리하고 있다는 의미입니다. 클라이언트에서 첨부문서(attatched document)를 보내기 전에 요청을 보낼때 Expect헤더에 설정해서 보냅..

Computer/LINUX 2012.08.10

http 1.0 막기

자동봇은 HTTP/1.0 을 이용한다. 1.0 으로만 공격해도 효과가 충분하기도 하고, 1.1 은 복잡해서 1.1 대응은 웬만한 정성으로는 못만들것이다. 모바일 접속용 브라우저는 1.0 을 사용할지도 모르고, 웹크롤러(검색엔진)도 1.0을 사용하지만 일단 막고, 막힌것이 무엇인지 검사 후 풀어주면 된다. 제가 관리하지 않던 서버의 홈페이지를 제가 관리하는 서버로 옮겼습니다. 옮기면서 php취약점 공격하던 넘들도 같이 넘어왔더군요. 로그를 좀 쌓으면서 보니까 봇 공격인듯 하여 일단 HTTP/1.0 을 막았습니다. RewriteEngine On RewriteCond %{THE_REQUEST} HTTP/1\.0$ RewriteRule .* /deny.php deny.php

Computer/LINUX 2012.08.10

.htaccess

CodeIgniter와 Rewrite --> .htaccess RewriteEngine On RewriteCond $1 !^(index\.php|css|js|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] ------------------------------------------------- 루트디렉토리에 .htaccess 파일을 만들고 위의 내용을 입력한다. index.php와 css디렉토리, js디렉토리, robots.txt 파일은 Rewrite 하지 않는다. 그 외의 파일들은 index.php 이하의 파라미터로 넣는것으로 한다. 형..

Computer/LINUX 2012.08.10

qmail vpopmail mysql 설치

qmail + vpopmail 설치편 qmail을 설치해봅시다. 여기서는 qmail+vpopmail+mysql+courier-imap 기반으로 설치를 합니다. ◆ 설치할 소스 apache_1.3.31 (http://httpd.apache.org/download.cgi) php_4.3.7 (http://www.php.net/downloads.php) mysql_4.0.20 (http://dev.mysql.com/downloads/) gd_2.0.26 (http://www.boutell.com/gd/http/) freetype_2.1.9 (http://prdownloads.sourceforge.net/freetype) ZendOptimizer_2.5.2 (http://zend.com/store/product..

Computer/LINUX 2012.08.10

Qmail Antispam 구축

http://qmail.kldp.org/phpbb/viewtopic.php?t=7327 Anti spam 시스템 구축하기 # 이글은 qmail을 이용한 메일서버를 운영중인 시스템 관리자를 위한 문서이며 본문의 내용중에 다소 틀린 내용이 있을 수 있습니다. 글에 문제가 있다면 언제라도 고쳐서 업데이트를 해주시길 바라겠습니다.^^; 좋은 의견은 stone@linuxstudy.pe.kr 로 주시면 감사하겠습니다. 존칭은 생략하도록 하겠습니다. 널리 이해해 주시기 바랍니다. 머릿말 # 100 % 스팸을 막을 수는 없지만 최소한 아침에 메일 정리하는 시간을 줄여보고자 이 글을 적는다. 100 % 막으려 하지 말라. 머리도 아프고 당신은 원하던 메일도 못받는 경우가 생길 수 있다.^^; 100 % 스팸을 막고 싶은..

Computer/LINUX 2012.08.10

mrtg2

MRTG설치 MRTG가 뭔가? 자세한건 해당 사이트에 가서 보고(www.mrtg.org), 여기서는 설치법만을 설명한다. 설치하고 보면, 감이 올것이라 믿는다. mrtg에 대해서 이미 많은 문서가 있으므로 여기서는 내가 작업한 것에 대한 정리라는 생각으로 적어나가려 한다. MRTG를 설치하려면 다음과 같은 놈들이 있어야 한다. gcc (이거 깔리지 않은 곳은 없겠지?) perl (이거 깔리지 않은 곳은 없겠지?) gd (www.boutell.com) libpng (www.libpng.org) zlib (www.info-zip.org/pub/infozip/zlib/) 나의 경우, libpng, zlib는 rpm으로 설치되어 있었다. 따라서 gd만 설치해주면 되었다. 현재 gd버전은 1.8.4이다. 홈페이지..

Computer/LINUX 2012.08.10