Amazon AMI Apache Mod cband install process.
Apache Mod Cband install Process. (Amazon AMI, CentOS, Redhat)
- 2015.06.01. tested on “Amazon Linux AMI release 2015.03”.
Mod Cband is Apache2 custom module.
Functionality - work within each virtual host.
1) Bandwidth Limit (ex. 1.5Mbps)
2) Concurrent Visitor Limit (ex. concurrent 20 session)
3) Transfer Limit (ex. 5GB / Day)
현재 공식사이트가 닫혀있어서 대체할 만한 다운로드 경로를 적는다.
1) mod cband 공식사이트 : http://cband.linux.pl/ (closed)
2) mod cband 메인 개발자 블로그 : http://dembol.org/blog/mod_cband/ (다운로드 링크가 동작안함)
3) source forge 링크 : http://sourceforge.net/projects/cband/files/ (최신버전이 아님)
4) 현존하는 것 중에서 가장 최선의 선택 : https://fossies.org/linux/www/apache_httpd_modules/mod-cband-0.9.7.5.tgz/
5) 라엘이 블로그 백업용 파일 (4번과 완전히 동일한 파일) mod-cband-0.9.7.5.zip
1] install apxs - apache devel library.
# yum install httpd24-devel
OR
# yum install httpd-devel
2] apache cband module 다운로드
#wget https://fossies.org/linux/www/apache_httpd_modules/mod-cband-0.9.7.5.tgz
3] 압축을 풀고 설치
#tar -xzvf mod-cband-0.9.7.5.tgz
#cd mod-cband-0.9.7.5
3-1] 패치.
apxs 가 업데이트 되면서 변수명이 몇개 바뀌었다.
#vi src/mod_cband.c
찾기 : remote_addr , 바꾸기 : client_addr 1365번째줄, 1번만 치환되어야 함.
찾기 : remote_ip , 바꾸기 : client_ip 4번 치환되어야 함.
3-2] 설치 계속 진행.
#./configure
#make
#make install
4] cband 모니터링 페이지 생성
#vi /etc/httpd/conf.modules.d/cband.conf
<IfModule mod_cband.c> <Location /cband-status> SetHandler cband-status AuthName "adminpage" AuthType Basic AuthUserFile /home/.htpasswd require valid-user </Location> <Location /cband-status-me> SetHandler cband-status-me Order deny,allow Deny from all Allow from all </Location> </IfModule>
#htpasswd -c -m /home/.htpasswd admin
5] 적용을 위해서 아파치 재시작
#/etc/init.d/httpd restart
6] 확인
웹브라우져로
YOUR_SERVER_IP/cband-status-me
YOUR_SERVER_IP/cband-status
에 들어가 보자.
7] 설정하기.
https://www.linux.co.kr/home/lecture/?leccode=10588
위의 링크 글을 참조하여 이미 생성해서 사용중인 sites-available 안의 virtualhost 파일을 수정한다.
8] Example
주의 : 아래 예제는 속도 허용값이 매우 낮게 맞추어져 있으니 테스트 해서 본인에 맞게 값을 수정하도록 하자.
잘 모르겠다면 CbandLimit 과 CbandPeriod 만 남겨두고 나머지는 지우도록 하자.
<VirtualHost *:80> #main domain ServerName lael.be #something #~~~ #~~~ <IfModule mod_cband.c> CBandLimit 6G CBandPeriod 4W CBandPeriodSlice 1W CBandSpeed 500kbps 10 30 CBandExceededSpeed 128kbps 5 15 #CBandScoreboard /var/www/scoreboard/domain.com.scoreboard </IfModule> </VirtualHost>