-. 아파치 디렉토리 구조
우분투의 경우 아파치는 /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 한다).
/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/두번째 설정파일
<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/사이트 설정 파일
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"출처 : apache 로그 날짜별로 저장
CustomLog "|/usr/sbin/cronolog /var/log/apache2/로그폴더/%Y%m%d_access.log" combined env=!do_not_log
로그 파일 처리
$ sudo vi /etc/apache2/apache2.conf (다음 내용을 추가)
출처 : 아파치 로그 파일 - 특이한 녀석들은 따로 담거나 없애기
$ sudo vi /etc/apache2/apache2.conf (다음 내용을 추가)
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{User-Agent}i\"" use_robot$ sudo vi /etc/apache2/sites-available/web.mr-dust.pe.kr
# 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
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 |