본문 바로가기
강좌/HW운영관리

사용자마다 웹 사이트 운영하기

by 막대바람 2021. 6. 26.
반응형

사용자마다 웹 사이트 운영하기

리눅스 서버의 사용자마다 자신의 홈 디렉터리에서 웹 사이트를 운영하도록 설정할 수 있습니다.

아파치 웹 서버는 이런 기능을 사용자 디렉터리 모듈(userdir)로 분리해서 제공합니다.

웹 서버의 모듈을 활성화하는 명령은 a2enmod입니다.

 

다음과 같이 userdir 모듈을 활성화합니다.

 

administrator@server01:~$ sudo a2enmod userdir

웹 서버를 재시작해서 설정 내용을 반영합니다.

administrator@server01:~$ sudo service apache2 restart

홈 디렉터리마다 각자의 웹 서버 루트 디렉터리가 필요합니다.

public_html이라는 디렉터리를 만들어 ‘index.html’ 파일을 vi로 생성합니다.

administrator@server01:~$ mkdir public_html 
administrator@server01:~$ vi public_html/index.html 

구분하기 쉽도록 웹 서버 루트 디렉터리의 ‘index.html’과 약간 다르게 ‘index.html’ 파일을 작성해봅시다.

<html> 
	<body> 
		<h1>웹 서버 테스트입니다.</h1> 
		<p>이 문서는 사용자 디렉터리의 public_html에서</p> 
		<p> 제공되는 index.html 파일입니다.</p> 
	</body> 
</html>

 

호스트로 돌아와서 웹 브라우저를 실행하고[웹 서버 주소]/~[사용자 계정] 형식으로 주소를 입력해봅니다.

 

이렇게 리눅스 서버의 사용자마다 각각 웹 사이트를 운영할 수 있습니다.

 

 그림 8-9 administrator 계정의 홈 디렉터리에서 웹 서비스하기

 

‘userdir.conf’ 파일에는 사용자 디렉터리와 관련된 항목을 설정합니다.

vi로 열어서 살펴봅시다.

administrator@server01:~$ vi /etc/apache2/mods-enabled/userdir.conf

UserDir은 사용자 웹 서버 루트 디렉터리를 public_html로 지정합니다.

보안을 유지하기 위해 루트 사용자 홈 디렉터리에 대한 접근은 차단합니다(disabled root).

 

사용자 웹 서버 루트 디렉터리의 기본 설정은 <Directory /home/*/public_html>에 정의되어 있습니다.

 

사용자 홈페이지를 사용 중단할때는 a2dismod 명령을 사용합니다.

 

administrator@server01:~$ sudo a2dismod userdir

 

웹 서버를 재시작해서 설정 내용을 반영합니다.

 

administrator@server01:~$ sudo service apache2 restart

사용자 계정에 대한 웹 서비스가 중단됩니다.

 그림 8-10 administrator 계정의 웹 서비스가 중단됨

728x90
반응형

댓글