Apache, Linux

아파치 로그 분석하기

아파치 웹 서버에는 접속에 대한 로그를 남길 수 있습니다. 로그의 형식은 다양하지만 대략적으로 어느 컴퓨터(IP 주소)에서 어떤 기기, 어떤 프로그램을 이용해서 어떤 웹 페이지를 접속했는지, 각 컨텐츠의 전송량등의 정보가 담깁니다. 이 문서는 아파치 로그 분석하기 에 대한 것입니다. 전송량 통계 로그 파일에 컨텐츠의 전송량이 담기기 때문에 이것들을 전부 더하면 아파치 웹 서버가 내보낸 전송량을 알 수 있겠지요? awk 쉘 스크립트로 간단하게 할 수 있습니다.

여기서 중요한 것이 access_log 파일에 전송량을 표시하는 위치 입니다. 위 명령어 앞줄에 ‘s += $10’ […]

Apache, Linux

Apache Options, AllowOverride

Apache 설정 중에 Directory 디렉티브(Directive) 내에서 Options, AllowOverride 등을 사용할 수 있는데 이에 대해서 자세히 알아 보겠습니다.   AllowOverride AllowOverride 는 AccessFileName 에 지정한 파일에서 아파치의 설정을 덮어쓸 수 있도록 해줍니다. 보통 AccessFileName 에는 .htaccess 를 지정해주고 DocumentRoot 에 .htaccess 파일에 아피치 설정에 대한 것을 해두면 아파치는 이 파일을 읽어서 반영해 줍니다. 만일 AccessFileName 을 지정하지 않았고 .htaccess 파일이 필요없을 경우에는 AllowOverride 를 사용할 필요가 없기 때문에 다음과 같이 None 으로 설정해주면 좋습니다.

AllowOverride 를 사용할때에 지정할 수 있는 […]

HowTo, Linux

smartctl을 이용한 하드디스크 진단

컴퓨터에서 디스크의 의미는 매우 중요합니다. 사람의 데이터를 영구적으로 보관해야 할 의무를 가지 때문이지요. 이러한 디스크에 문제가 발생한다면 데이터를 영구적으로 잃을 수도 있고 오늘과 같이 IT 를 기반으로 사회가 움직이는 마당에 그러한 일이 발생한다면 큰 금전적인 손실을 입을 수도 있습니다. 이렇게 중요한 디스크의 문제나 오류를 차단하기 위해서는 주기적으로 점검을 해야할 필요가 있는데, 리눅스 시스템에서는 이러한 유용한 도구를 제공 합니다. smartctl smartctl 도구는 S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) 기능이 탑재된 하드디스크를 점검하는 도구 입니다. 사실상 S.M.A.R.T 의 기능을 이용하는 도구이다보니 이 […]

Apache, Linux

Apache mod_ruid2 설치

Apache 는 TCP/IP 접속과 접속이 이루어진 후에 컨텐츠를 처리하는 프로세스의 권한이 다릅니다. TCP/IP 접속관련은 Root 권한으로 동작하고 이후 동작은 아파치의 설정에 따른 권한으로 실행 됩니다.   아파치의 동작 권한은 다음과 같이 설정 합니다.

위 설정은 아파치의 컨텐츠를 처리하는 프로세스가 nobody:nobody 권한으로 동작하도록 지정한 것입니다. 그런데, 이렇게 하면 버추얼 호스트(VirtualHost) 설정을 할 경우에 보통 각 계정별로 RootDocument 를 설정하는데, 이럴경우 아파치 프로세스는 한가지의 권한으로 동작하고 모든 계정에 접근해야 함으로 각 계정에 액세스 권한을 줘야 합니다. 그래서 주로 다음과 같이 해줘야 […]

Apache, Linux

Apache mod_deflate 설정

Apache 2.4 에서 mod_deflate 설정 에 대한 문서 입니다. Apache 2.2 에비해서 Apache 2.4 에서의 설정이 새롭게 바뀌었습니다.     1. Requirement Apache 2.4 에서 mod_deflate 를 사용하기 위해서는 다음과 같은 모듈들도 활성화되어야 합니다. mod_setenvif : 환경변수를 정의한다. mod_headers : HTTP 요청 헤더와 응답 헤더를 조절하고 수정하는 지시어를 제공한다. mod_deflate : 서버의 출력을 네트웍으로 클라이언트에 보내기 전에 압축하는 기능 제공 위 모듈들이 Apache 2.4.10 에 활성화 되어 있어야 합니다. 2. 설정 mod_deflate 의 설정은 Apache 2.2 와 2.4 가 차이가 […]

Apache, Linux

Apache 설정

Apache 설정이 필요 합니다. 그대로 쓰더라도 아무 문제가 없기는 하지만 아주 조금만 설정을 해주면 보안도 높아지고 성능도 좋아집니다. 이 문서의 내용은 Apache 2.4.10 기준으로 작성 되었습니다.   1. Default Character Set 아파치의 기본 문자셋을 지정해 줍니다.

2. Server Signature 서버의 자세한 정보를 숨깁니다. 이는 컴파일 설치를 했다면 conf/extra/httpd-default.conf 파일에 정의되어 있으며 httpd.conf 에서 extra/httpd-default.conf 파일을 Include 해주면 활성화됩니다.

3. 디렉토리 리스팅 비활성화 컴파일 설치를 했다면 httpd.conf 파일에서 extra/httpd-autoindex.html 파일을 활성화 하지 않습니다. 그리고 다음과 같이 디렉토리 리스팅을 비활성화 해줍니다. […]

HowTo, Linux

iptable 의 hashlimit 를 이용한 접속 제한

보통 DDOS 공격과 같은 경우에 초당 몇 십개에서 몇백번건의 접속을 시도 합니다. 이러한 초당 수백건의 접속을 이용해서 iptables 의 hashlimit 를 이용한 접속 제한을 할 수 있습니다.

예를들어 초당 20번 이상 접속을 시도하는 것을 차단하고 싶다면 다음과 같이 지정하면 됩니다.

이 차단은 약 1시간 동안 유지됩니다.  

Linux

[번역] 리눅스 커널 튜닝 – swappiness and overcommit_memory

이 문서는 다음 주소의 내용을 발 번역한 것입니다. http://tonylixu.blogspot.kr/2014/01/linux-kernel-tuning-swappiness-and.html 리눅스 커널 튜닝 – swappiness and overcommit_memory 리눅스 커널  튜닝가능한 파라메터 vm.swappiness (/proc/sys/vm/swappiness) 는 어떻게 메모리 페이지들이(memory pages) 적극적으로 디스크에 스왑(swap)되어질 수 있는지를 정의하는데 사용되어질 수 있습니다. 리눅스는 활용할 수 있는 free 메모리양이 충분하더라도 오랫동안 메모리 페이지에 접근하지 않는 것들을 스왑 공간으로 이동시킵니다. 이러한  동작은 “swappiness” 커널 파라메터 값을 /proc/sys/vm/swappiness 에서 변경할 수 있습니다. 높은 swappiness 값은 커널은 매핑된 페이지를 좀 더 해제하라는 의미 입니다. 낮은 swappiness 값은 반대의 의미로 […]

HowTo, Linux

CentOS IPv6 비활성화

IPv4 의 부족분을 대체하기 위해서 IPv6 가 개발되었지만 아직까지 사용빈도가 높지않아 리눅스 IPv6 비활성화 시켜서 자원을 아낄 수 있습니다. 기본적으로 CentOS 6, 7 에서는 IPv6 가 활성화 되어 있습니다.

위와같이 IPv6 가 사용 됩니다. CentOS 6  1. IPv6 커널 모듈 비활성화 다음과 같이 IPv6 커널 모듈이 로딩되지 않도록 해줍니다.

2. 커널 파라메터 추가 다음과 같이 IPv6 커널 파라메터를 추가해 줍니다.

이제 재부팅을 해주면 IPv6 가 비활성화 됩니다. CentOS 7 1. Grub2 IPv6 비활성화 옵션 추가

이와같이 […]

Apache, Linux

Apache 2.4 새로운 기능

이 문서는 Apache 2.4  새로운 기능에 대해 기술한 문서 입니다.     1. 개요 Apache 2.2 는 2005년 후반기에 발표되고 지금까지 큰 버전의 변화가 없이 사용되고 있습니다. 그러다 최근 고용량의 정적 파일 및 큰 규모의 싸이트가 많아짐에 따라서 대량 접속에도 적은 리소스를 사용하면서 빠르게 서비스 할 수 있는 웹서버가 절실해졌습니다. 이에 러시아에 한 업체가 자사 싸이트 운영을 위해서 웹 서버를 제작했고 이것을 공개했는데 그것이 바로 Nginx 입니다. Nginx 의 빠른 응답속도와 적은 리소스 사용은 그동안 Apache 서버에 답답해했던 많은 사용자들을 […]