본문 바로가기

Server

우분투, 아파치 설정


-. 아파치 디렉토리 구조
우분투의 경우 아파치는 /etc/apache2 에 설치되며 구조는 다음과 같다

/apache2
     apache2.conf             : 아파치 기본 설정
     /conf.d
     envvars
     httpd.conf
     /mods-available
     /mods-enabled
     ports.conf
     /sites-available           : 가상 호스팅 설정
          default
     /sites-enabled            : sites-available 의 링크
          000-default

가상 호스팅 관련 설정은 보통 /sites-available/default 파일을 복사해서 사용하나, httpd.conf 나 apache2.conf 에 직접 삽입해도 된다(apache2 에서 httpd.conf 와 /sites-enable 의 링크를 include 한다).


-. /etc/apache2/apache2.conf 설정
서버명을 추가해준다.
(가상 호스팅일 경우 첫번째 도메인)
ServerName 첫번째 도메인(혹은 IP)


-. /sites/available/ 의 설정파일 수정
호스팅의 기본값으로 default 파일이 있으며, 이는 가상호스팅을 하는 경우 특정 도메인으로 연결을 시켜줘야 한다. 두번째 도메인부터는 default 파일을 복사한 뒤, 아래에 표시된 값을 변경한다.

<VirtualHost *>
    ServerAdmin webmaster@localhost

    ServerName 첫번째 도메인
    ServerAlias 첫번째 도메인

    DocumentRoot /첫번째 도메인의 루트/
    <Directory /첫번째 도메인의 루트/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog /var/log/apache2/첫번째 도메인.error.log
    CustomLog /var/log/apache2/첫번째 도메인.access.log combined
</VirtualHost>

default 파일은 /sites-enable/000-default 로 연결되어 있다.
두번째 도메인을 위한 설정 파일을 연결시켜 준다.

sudo ln -s /etc/apache2/sites-available/두번째 설정파일 /etc/apache2/sites-enable/두번째 설정파일


-. Apache 로그 설정(cronolog)
단일 파일에 저장되는 아파치 웹로그를 날짜별로 분할

1. 설치
    $ sudo apt-get install cronolog

2. 아파치 설정
    사이트 설정 파일 의 CustomLog 값 변경
    $ sudo vi /etc/apache2/site-available/사이트 설정 파일
ErrorLog "|/usr/sbin/cronolog /var/log/apache2/로그폴더/%Y%m%d_error.log"
CustomLog "|/usr/sbin/cronolog /var/log/apache2/로그폴더/%Y%m%d_access.log" combined env=!do_not_log
출처 : apache 로그 날짜별로 저장
로그 파일 처리
$ sudo vi /etc/apache2/apache2.conf (다음 내용을 추가)
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{User-Agent}i\"" use_robot

# Log exception
SetEnvIf Remote_Addr "^127.0.0.1$" do_not_log

# image and other files
SetEnvIfNoCase Request_URI "\.(gif|jpg|png|css|js|java)$" do_not_log

# Robots
BrowserMatchNoCase "Googlebot/" do_not_log is_a_robot
$ sudo vi /etc/apache2/sites-available/web.mr-dust.pe.kr
CustomLog "|/usr/sbin/cronolog /var/log/apache2/web.mr-dust.pe.kr/%Y%m%d_robot.log" use_robot env=is_a_robot

# Often connected IPs
SetEnvIf Remote_Addr "^자기 아이피 범위$" do_not_log

출처 : 아파치 로그 파일 - 특이한 녀석들은 따로 담거나 없애기

-. 에러 처리
apache2: Could not reliably determine the server's fully qualified domain name, using 110.45.143.70 for ServerName
$ sudo vi /etc/apache2/apache2.conf
하단에
ServerName localhost 추가

'Server' 카테고리의 다른 글

우분투 openssl  (2) 2010.02.26
우분투 APM  (0) 2010.02.01
우분투 32bit 라이브러리 설치  (4) 2010.01.07
우분투 메일서버  (4) 2010.01.06
[펌] [linux] 리눅스에서 쓰이는 거의 모든 명령어 총집합  (1) 2009.12.21