2010. 2. 28. 16:37

아파치 사용자 홈 디렉토리와 버추얼 호스트(Virtual Host)

아파치 환경설정 파일

/usr/local/apache/conf/httpd.conf

기본 웹 루트 디렉토리(묵시적, 다른 디렉토리로 변경 가능)
/usr/local/apache/htdocs

에러 로그
/usr/local/apache/logs/error

사용자 홈 디렉토리

사용자별 개인 홈페이지 공간을 주기 위해 가상 디렉토리를 사용하려면 아파치 환경설정 파일에서, #UserDir public_html부분의 주석을 해제해 준다.

#useradd -g fedora -d /home/fedora

사용자 : fedora → /home/fedora
/home/fedora/public_html/index.html
http://서버주소/~fedora(사용자 홈 디렉토리)
 요즘은 http://fedora.도메인 이름 (virtual host 즉, 가상 호스트)

아래처럼 되어 있는 <Directory /home/*/public_html> ~ </Directory>부분의 `#`주석을 해제해서 사용하면 된다. 그리고, 맨 마지막 줄의 DirectoryIndex에 보면 초기 문서를 index.html로 지정해놓고 있다.

버추얼 호스트

/etc/named.conf에 bw.com 도메인은 이미 추가되어 있으므로, /var/named에서 bw.com.zone 파일에 호스트만 추가해주면 된다. 여기서는 `web`과 `file`이라는 호스트를 각각 `웹서버`와 `파일서버`로 사용하고 그 주소를 www.bw.com 그리고, file.bw.com으로 하고 있다. 

#cd /var/named
#vi bw.com.zone 도메인 파일을 만들고 호스트 생성
file          IN   A          192.168.17.130

동일한 IP에 이름 기반(Name-based)으로 버추얼 호스트를 설정하기 위해 /usr/local/apache/conf 디렉토리에 있는 httpd.conf에서 `NameVirtualHost`부분의 주석을 제거하고, IP 주소를 적어준 다음 버추얼 호스트를 추가하고, 홈디렉토리 경로를 명시한다. 네임 서버는 물론 아파치 데몬을 재시작해야 적용된다.

<VirtualHost 서버 IP 주소: 80>
    ServerName
www.bw.com
    DocumentRoot /web/httpd/htdocs
</VirtualHost>

<VirtualHost 서버 IP 주소: 80>
    ServerName file.bw.com
    DocumentRoot /home/fedora/public_html
</VirtualHost>

리눅스 환경에서 APM 설치하시려면 아래 포스트를 참조하세요.

리눅스(Linux) APM(Apache, PHP, MySQL) 소스 컴파일 설치

윈도우즈 환경에서 설치하는 APM(Apache + MySQL + PHP)은 아래의 주소에서 다운 받을 수 있습니다.

http://www.mysql.com/downloads/
http://httpd.apache.org/dist/httpd/binaries/win32
http://www.php.net/downloads.php

APM을 구축하기 위해 설치하는 순서가 정해진건 아니나, MySQL부터 설치를 시작합니다. 압축을 풀고 설치를 하는데, 디렉토리를 정해주면 자동으로 진행이 됩니다.

설치가 끝나고 MySQL 서버 데몬을 실행해서 아래와 같이 나오면 됩니다. 트레이 아이콘의 신호등에 파란색이 뜨는지 확인해봅니다.

아파치를 설치할때 별도의 도메인이 없다면 아무렇게나 써주면 되고, 써버 네임은 `localhost`로 지정해줍니다.

디렉토리는 `Apach Group`밑에 `Apache`폴더로 위치합니다.

PHP는 설치하는 것이 아니라 특정 폴더를 만들고, 거기에 압축을 풀어주면 일단 설치는 이것으로 끝납니다. 설치를 마친 후에 아파치 관련 환경설정을 해주는 작업이 필요하므로 우선 `PHP 폴더`로 가서

1. `php.ini` 파일을 Windows폴더로 복사한다.

2. `php4ts.dll`파일을 Windows\System32폴더로 복사한다.

그 후, `Apache\conf` 폴더에서 `httpd.conf`파일을 편집기로 불러온다.

열려진 파일에서 다음 부분을 찾아 가지고 아래와 같이 확장자들을 입력하고, `#`은 주석이므로 지웁니다.

다음, Module을 인식시키기 위해 추가해 줍니다.

이것으로 설정을 끝낼 수 있으나 혹시 안되는 경우도 있으므로, 마지막으로 아래처럼 덧붙입니다.

설정이 제대로 되었는지 확인해 보세요. `TestConfiguration`을 실행합니다.

다음과 같이 나오면 설정이 잘 된 것입니다. 만약 이상이 있다면 `not found module...`이니 뭐니 하면서 `Note the error...`어쩌구 나옵니다. 이땐, 십중팔구 설정에서 철자가 틀린게 없나 살펴보면 오류를 잡을 수 있습니다.

이제 

를 샐행하고, 웹 브라우저에서 http://localhost를 입력하면 아래와 같이 나오는데 아직 index.html 같은 메인 페이지가 만들어지지 않아서 아래처럼 나오는 것입니다.

마지막으로 MySQL과 PHP와의 연동이 잘 이루어지는지 확인만 하면 끝납니다. 에디트 프로그램을 열고 아래의 코드를 입력한 다음 `phptest.php`라는 이름으로 `Apache\htdocs`에 저장합니다.

웹 브라우저에서 위의 파일을 실행해서 아래처럼 나오면 작업완료!!