본문 바로가기

Server Story..../ubuntu

Alias 사용법 및 logrotate 사용법


Alias 설정 파일  /etc/apache/mod-enable/alias.conf 

Alias /fiaa_error/ "/var/log/apache2/"

<Directory "/var/log/apache2/">
#인덱스페이지 보이기 
    Options Indexes MultiViews
    AllowOverride None
#허용순서  아래와같은 순서는  허용먼저 검사하고 거부 검사함, 그러나 기본적으로 모두 막음. 
    Order allow,deny
#허용 ip   예) 10.10
              예) 10.10.10.0/255.255.255.0
              예) domain.co.kr
 
    Allow from 87.139.131.34
    Allow from 203.173.116.225

</Directory>


위의 내용적용후 아래 logrotate 설정 을 보고,  
접근 권한을 수정해야 함.  기본적으로 웹 접근은 www-data 이므로,
폴더권한 을 sudo chown -R root:www-data 로 수정해주고, 

아래 logrotate 의 apache2 설정에서  

 create 640 root adm 이부분을   create 640 root www-data 로 수정하면 됨. 

기타 설정은 아래 참고를 ....


============================================================================================

logrotate 설정 파일..    /etc/logrotate.d/  에 있음, 


/var/log/apache2/*.log {
        daily
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 640 root adm
        sharedscripts
        postrotate
                if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
                        /etc/init.d/apache2 reload > /dev/null
                fi
        endscript
}
 

==============================================================================================
 로그 파일이 작성되고 있다면, 점차 로그가 쌓임에 따라 로그 파일은 크기는 무한정 늘어나게 된다.
그래서, 주기적으로 이를 백업해주고 관리해줄 필요가 있는데, 이를 쉽게 해주는 것이 logrotate 이다.
logrotate 는 대부분의 Linux 시스템에 기본적으로 설치되는 유틸리티이다.

일반적인 설정 파일은 대부분의 시스템에서 /etc/logrotate.conf 에 있고, 개별적인 프로그램에서의 로그는 /etc/logrotate.d 디렉토리에 있다.
웹서버를 돌리고 있거나 DB 서버를 돌리고 있다면, 이에 대한 로그가 상당히 많이 쌓일 것이다.
따라서, 가급적 자주 logrotate를 실행해주는 것이 좋다.

아래 표는 logrotate 설정 파일에서 사용되는 인자들이다.

인 자 설 명
daily 매일 logrotate를 실행
weekly 주단위로 logrotate를 실행
monthly 월단위로 logrotate를 실행
compress 기존의 log 파일을 보관하기 위해 gzip을 이용하여 압축하여 저장
nocompress log 파일을 압축하여 저장하지 않고 그대로 저장
create mode owner group log를 rotate를 실행하여 생성하는데 퍼미션 설정과 사용 및 그룹을 지정하여 생성
nocreate 새로운 log를 생성하지 않음.
notifempty log 파일의 내용이 비어 있는 경우 순환을 하지 않음.
ifempty 비어 있는 log 파일도 강제로 순화
include file_or_direcoty logrotate 설정 파일이나 디렉토리 포함
mail address 지정한 사용자로 메일 전송
missingOK 만약 파일이 존재하지 않더라도 무시하고 진행
nomissingOK log 파일이 존재하지 않는다면 에러 메시지 출력
postrotate/endscript logrotate를 실행한 후에 취하고자 하는 액션을 정의
prerotate/endscript logrotate를 실행하기 전에 취하고자 하는 액션을 정의
rotate count rotate 순환주기를 설정할 수 있으며 곧 저장하고자 하는 파일의 개수를 의미
size size 지정한 파일보다 크면 logrotate 실행