Apache HTTP Server

apt-get으로 HTTP Server 를 설치하였을 때

aappsroot·2014년 1월 29일·조회 4,040

최근 Ubuntu 리눅스 머신 한 대에 급히 Apache HTTP Server를 구성해야 할 일이 있었습니다.

처음에는 직접 컴파일해 설치하려고 했지만, 패키지 의존성 문제 때문에 컴파일 과정에서 계속 오류가 발생했습니다. 운영 용도가 아니라 몇몇 정적 웹 페이지만 띄우면 되는 상황이었기 때문에, 결국 apt-get으로 설치하기로 결정했습니다. 역시 패키지 매니저를 사용하니 순식간에 설치가 완료되었습니다.

sudo apt-get install apache2

Ubuntu에서 Apache 설정 확인하기

그런데 웹 소스를 올리려고 보니, 정작 DocumentRoot를 어디에서 찾아야 할지 바로 떠오르지 않았습니다. 한동안 확인해 본 결과는 다음과 같습니다.

  • 메인 설정 파일은 apache2.conf입니다.
  • DocumentRoot는 환경과 Ubuntu/Apache 패키지 버전에 따라 다를 수 있습니다. 당시 확인한 경로는 /var/www였습니다. 최근 Ubuntu 환경에서는 /var/www/html을 기본 DocumentRoot로 사용하는 경우도 있으므로, 실제 경로는 사이트 설정 파일에서 확인하는 것이 안전합니다.
  • OS상에서 Apache 프로세스는 www-data 계정으로 기동되어 있습니다.
# ps -ef | grep www
www-data 14387 14386  0 Jan27 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 14388 14386  0 Jan27 ?        00:00:07 /usr/sbin/apache2 -k start
www-data 14389 14386  0 Jan27 ?        00:00:06 /usr/sbin/apache2 -k start
  • www-data 계정의 홈 디렉터리도 /var/www로 설정되어 있었습니다.

DocumentRoot를 직접 확인하는 방법

Apache를 패키지로 설치한 경우에는 배포판에서 제공하는 기본 디렉터리 구조를 따릅니다. 따라서 파일을 올리기 전에 현재 활성화된 사이트 설정을 먼저 확인하는 편이 좋습니다. 예를 들어 Ubuntu 계열에서는 /etc/apache2/sites-enabled/ 아래의 설정 파일에서 DocumentRoot 항목을 확인할 수 있습니다.

웹 파일을 올린 뒤에는 브라우저로 접속해 페이지가 정상적으로 표시되는지 확인하고, 권한 문제가 있다면 파일 소유자와 읽기 권한을 함께 점검하면 됩니다. Apache 프로세스가 www-data 계정으로 실행되므로, 해당 계정이 정적 파일을 읽을 수 있어야 합니다.

다음에는 yum으로도 한번 설치해 보겠습니다.

댓글 1

로그인 후 댓글을 남길 수 있습니다.

  • 몽상가몽상가· 2014년 3월 29일
    apt-get으로 설치할 때는 디렉토리 설정이나 뭐 그런 것들을 지정할 수 없나보네요~