우분투 서버에서 아파치 가상 호스트 설정하기
아파치 웹 서버에서 여러 웹사이트를 호스팅하는 가장 효과적인 방법 중 하나가 가상 호스트(Virtual Host) 기능을 이용하는 것입니다. 가상 호스트는 한 서버에서 여러 도메인 또는 여러 웹사이트를 호스팅할 수 있도록 해줍니다. 여기서는 우분투 서버 기준으로 가상 호스트를 설정하는 방법을 설명하겠습니다.
1. 아파치 설치
먼저, 아파치가 설치되어 있지 않다면 설치합니다. 터미널에서 다음 명령어를 입력하세요.
sudo apt update
sudo apt install apache2
설치가 완료되면 아파치 서버가 자동으로 시작됩니다. 아파치가 정상적으로 동작하는지 확인하려면 다음 명령어를 입력하여 서비스 상태를 확인할 수 있습니다.
sudo systemctl status apache2
2. 가상 호스트 디렉토리 생성
각 웹사이트의 파일을 보관할 디렉토리를 생성합니다. 예를 들어, 두 개의 웹사이트를 설정하려고 한다면 다음과 같이 디렉토리를 만들 수 있습니다.
sudo mkdir -p /var/www/yourdomain1.com/public_html
sudo mkdir -p /var/www/yourdomain2.com/public_html
그런 다음, 생성한 디렉토리에 대한 올바른 권한을 부여합니다.
sudo chown -R $USER:$USER /var/www/yourdomain1.com/public_html
sudo chown -R $USER:$USER /var/www/yourdomain2.com/public_html
3. 가상 호스트 설정 파일 작성
아파치에서 각 도메인에 대한 설정을 별도의 파일로 작성할 수 있습니다. 아파치 설정 파일은 /etc/apache2/sites-available/
디렉토리에 저장됩니다. 예를 들어 yourdomain1.com
에 대한 설정 파일을 만들려면 다음 명령어를 사용합니다.
sudo nano /etc/apache2/sites-available/yourdomain1.com.conf
파일에 다음 내용을 추가합니다. 각 <VirtualHost>
블록은 각 도메인의 설정을 나타냅니다.
<VirtualHost *:80>
ServerAdmin webmaster@yourdomain1.com
ServerName yourdomain1.com
ServerAlias www.yourdomain1.com
DocumentRoot /var/www/yourdomain1.com/public_html
ErrorLog ${APACHE_LOG_DIR}/yourdomain1.com-error.log
CustomLog ${APACHE_LOG_DIR}/yourdomain1.com-access.log combined
</VirtualHost>
두 번째 도메인 yourdomain2.com
도 비슷한 방식으로 설정 파일을 만듭니다.
sudo nano /etc/apache2/sites-available/yourdomain2.com.conf
<VirtualHost *:80>
ServerAdmin webmaster@yourdomain2.com
ServerName yourdomain2.com
ServerAlias www.yourdomain2.com
DocumentRoot /var/www/yourdomain2.com/public_html
ErrorLog ${APACHE_LOG_DIR}/yourdomain2.com-error.log
CustomLog ${APACHE_LOG_DIR}/yourdomain2.com-access.log combined
</VirtualHost>
4. 가상 호스트 활성화
작성한 가상 호스트 파일을 활성화하려면 다음 명령어를 입력합니다.
sudo a2ensite yourdomain1.com.conf
sudo a2ensite yourdomain2.com.conf
변경 사항을 적용하려면 아파치 서버를 다시 시작해야 합니다.
sudo systemctl restart apache2
5. 로컬 테스트를 위한 /etc/hosts
파일 수정
가상 호스트 설정이 제대로 동작하는지 확인하려면 로컬 테스트를 위해 /etc/hosts
파일을 수정할 수 있습니다. 터미널에서 다음 명령어를 입력하여 파일을 엽니다.
sudo nano /etc/hosts
파일에 다음 줄을 추가하여 로컬에서 도메인을 테스트할 수 있습니다.
127.0.0.1 yourdomain1.com
127.0.0.1 yourdomain2.com
6. 가상 호스트 테스트
브라우저에서 http://yourdomain1.com
및 http://yourdomain2.com
으로 접속하여 가상 호스트 설정이 올바르게 적용되었는지 확인합니다.