본문 바로가기

Ubuntu

우분투에서 가상 호스트 설정 하기

하나의 우분투 서버에서 여러 도메인의 웹서비스를 제공하려면 가상 호스트 설정을 이용해야 한다.

윈도우는 IIS에서 설정하면 되는데 리눅스는 몰라서 그냥 폴더로 구분해서 썼다.

 

이젠 그냥 내버려 두기엔 너무 많은 웹서비스를 테스트하고 있다.

 

윈도우와 비슷하게 가상호스트 서비스라 한다.

 

 

1. 호스팅 할 디렉토리 생성 하기

 

- decowall.co.kr을 운영할 디렉토리를 생성한다.

 

sudo mkdir -p /var/www/decowall.co.kr/public_html

 

- decowall.co.kr의 log 디렉토리를 생성한다.

 

sudo mkdir /var/www/decowall.co.kr/logs

 

※ sudo chown -R $USER.$USER /var/www/decowall.co.kr/public_html

 

2. 접근 권한 설정한다.

 

- 누구나 접근해서 읽을 수 있게 권한 변경 한다.

 

sudo chmod -R 755 /var/www

 

3. 가상 호스트 설정

 

sudo vi /etc/apache2/sites-available/000-default.conf

 

- 아래와 같이 입력하고 저장한다.

 

 

<VirtualHost *:80>
    ServerName www.decowall.co.kr
    ServerAdmin webma@decowall.co.kr

    ServerAlias decowall.co.kr
    DocumentRoot /var/www/decowall.co.kr/public_html

    # Other directives here
    <Directory /var/www>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All

  Order allow,deny

  allow from all

</Directory>

</VirtualHost>

 

4. apache2 재시작


sudo service apache2 restart



5. 가상 host 의 위치 


home 폴더 아래에 폴더를 만들어 가상 호스트로 설정하려 무지 노력하다 알게 되었다. 기본적으로 우분투는 /var/www 를 사용하라고 한다. 그렇게 하지 않으려면 /etc/apache2/apache2.conf 에 설정을 해줘야 한다는 것도. 


By default, Ubuntu does not allow access through the web browser to any file apart of those located in/var/wwwpublic_html directories (when enabled) and /usr/share (for web applications). If your site is using a web document root located elsewhere (such as in /srv) you may need to whitelist your document root directory in /etc/apache2/apache2.conf.

The default Ubuntu document root is /var/www/html. You can make your own virtual hosts under /var/www. This is different to previous releases which provides better security out of the box.