평범한 이야기들

[Apache] Ubuntu 20.04에서 Apache2 가상호스트 설정 본문

평범한 개발 이야기/OS

[Apache] Ubuntu 20.04에서 Apache2 가상호스트 설정

songsariya 2021. 1. 13. 16:52
728x90

 Ubuntu 20.04에서 Apache2의 가상 호스트 설정하는 방법을 정리합니다.

 

# Apache2의 설정값이 존재하는 위치로 이동
$ cd /etc/apache2/sites-available

 

기본적으로 설정되어있는 default.conf를 복사해서 사용하거나 해당 파일에서 추가하셔도 됩니다. 저는 도메인과 연결해서 구분하기 편하기 위해서 도메인.conf을 생성했습니다.

 

# 도메인 명으로 파일 복사
$ sudo cp default.conf 도메인.conf

 

도메인.conf 파일을 열어서 내용에 맞게 수정합니다.

 

<VirtualHost *:80>    
    DocumentRoot /home/ywpark/public_html
    ServerName 도메인주소
    ServerAlias 도메인주소

    ServerAdmin 메일주소

    <Directory "/home/ywpark/public_html">
        Options Indexes FollowSymLinks
        AllowOverride All 
        Require all granted
    </Directory>
     
   ErrorLog "/var/log/apache2/error.log"
   CustomLog "/var/log/apache2/access.log" common
</VirtualHost>

 

파일을 저장한 후에 가상 호스트를 추가해주시면 됩니다. a2ensite 유틸리티를 이용하시면 됩니다.

 

# a2ensite 유틸리티를 이용해 추가해준다.
$ sudo a2ensite [파일명|사이트주소]

 

그러면 site-available에 작성한 도메인.conf 파일이 site-enable 폴더에 링크가 걸려 사용하는 사이트로 설정이 됩니다.

 

그리고 Apache2를 재시작해주시면 됩니다.

 

# 아파치 재시작
$ sudo service apache2 restart

 

그리고 해당 도메인으로 접속을 하게 되면 정상적으로 접근이 되는 것을 확인하실 수 있습니다.

 

 

저는 rewrite모듈을 사용하기 위해 a2enmod 유틸리티를 이용해 설정을 해줍니다.

 

# rewrite 모듈을 사용한다고 선언
$ sudo a2enmod rewrite

# rewrite 모듈을 사용하지 않는다고 선언
$ sudo a2dismod rewrite

 

그리고 conf파일의 내용에 해당 내용을 추가해주었습니다.

 

   --- 도메인.conf 파일 내
   
   RewriteEngine On
   RewriteCond %{REQUEST_FILENAME} !-f    
   RewriteCond %{REQUEST_FILENAME} !-d 
   RewriteRule "^/.*" "/home/ywpark/public_html/index.php" 
   
   --- 중략

 

그리고 아파치를 재시작 하면 rewrite 모듈이 정상적으로 작동해 주소에 어떤 내용을 넣어도 index.php 파일로 갈 수 있게 했습니다.

728x90
Comments