우분투 아파치 설정 파일
목차
이번 포스팅에서는 우분투 리눅스의 아파치 설정 파일에 대해서 알아보겠습니다. 우분투나 데비안 계열은 다른 리눅스 디스트로와 좀 차이가 있습니다. 우분투 디폴트 페이지에서 보면 우분투 도구들과의 상호작용에 최적화 하기 위해 파일이 분리되어 있다고 설명하고 있습니다.
아파치의 온라인 문서들과도 일부 차이가 있기 때문에 우분투 환경에서 아파치를 사용하려는 경우 잘 찾아볼 필요가 있습니다.
우분투 디폴트 페이지에 보면 설정 레이아웃이 나와 있습니다. 한번 들어가보겠습니다.
다음은 /etc/apache2 디렉토리의 리스트입니다.
apache2.conf
apache2.conf는 메인 설정 파일입니다. 웹서버가 시작할 때 다른 설정 파일들을 총괄합니다.
apache2.conf 파일을 열어보면 Include 하는 파일들이 여러개 있고 설정들이 있습니다. 파일을 흝어보면 대략 어떤 레이아웃인지 짐작할 수 있을 겁니다. 예를 들어 포트에 관한 내용은 ports.conf에 저장되어 있고 apache2.conf에서 그 설정 내용을 읽어오는 방식입니다. (Include ports.conf)
IncludeOptional 은 디렉토리를 읽어서 사용한다는 의미입니다. * 와일드 카드는 그 안에 있는 모든 파일들을 읽어와서 사용합니다.
ports.conf 파일
apache2.conf에서 include 하는 ports.conf 파일입니다. 여기에서 포트를 추가하면 VirtualHost 문도 바꿔야한다고 나와있습니다.
여기서 가리키는 000-default.conf 파일로 가보겠습니다. sites-enabled 디렉토리 안에 있습니다.
VirtualHost 설정이 있습니다. 여러개의 VirtualHost를 운영할 수 있는데 여기서는 아파치의 설정을 통하여 설정할 수 있다는 정도만 소개하겠습니다. 또 한가지를 보면 DocumentRoot에 디렉토가 있습니다. 여기가 VirtualHost에 접속하면 나오는 페이지입니다.
그럼 /var/www/html 로 가보겠습니다. 우분투에 아파치를 설치했다면 초기에 index.html 파일이 하나 있을겁니다. 이것을 mv 명령어로 index.html.bak으로 바꾸고 vi 편집기로 index.html을 새로 만듭니다. 내용은 body 태그에 Hello World를 넣습니다. elinks 127.0.0.1를 실행하면 다음과 같이 나옵니다. 웹문서의 루트가 /var/www/html 라는 것을 알 수 있습니다.
log 파일
위의 000-default.conf 파일에 있는 ErrorLog는 /var/log/apache2에 있습니다. 여기서는 웹서버 접속 내용이 기록됩니다.
이 웹서버에 누가 접속했는지 어떤 요청이 있었고 응답은 어떻게 했는지 알 수 있습니다. 로그 파일을 통해서 현재 활동에 대한 파악을 할 수 있기 때문에 중요한 파일입니다.
정리
간단하게 우분투에 설치한 아파치 웹서버의 설정 파일을 알아봤습니다. 웹서버는 어떤 일을 순서에 맞게 시작해서 끝맺음을 하는 프로그램이 아니라 가동하면 뒤에서 대기를 하는 방식으로 작동합니다. 시작이 있고 끝이 있는 일반 프로그래밍과는 조금 개념 차이가 있지요. 사용자의 요청에 따라 다양한 응답을 할 수 있는 서버(Server – 제공자)라는 이름이 이해가 됩니다. 설정 파일은 이 웹서버의 서비스에 대한 준비작업으로 볼 수도 있습니다.
웹서버를 전체적으로 이해하는데는 시간이 걸릴 수 있습니다. 하나씩 설정 파일을 수정해보고 테스트해보면 체감적으로 느끼고 이해하는데 도움이 됩니다. 조금 시간이 걸리는 듯 해도 직접 아파치를 설정하고 실행해보는게 좋습니다.