CentOS 7 / Apache / 하나의 서버에 여러 사이트 운영하기
하나의 서버에 하나의 사이트만 운영하는 것이 가장 이상적일 것입니다. 하지만 사이트 접속자가 많지 않거나 서버 사양이 훌륭하다면 여러 사이트를 하나의 서버에서 운영하는 게 경제적입니다.
CentOS에 Apache 웹서버를 설치하고 운영하는 경우 여러 사이트를 운영할 수 있게 설정하는 방법을 요약해보겠습니다.
네임 서버 설정
각 도메인의 네임 서버의 호스트 IP를 웹서버 아이피로 설정합니다.
디렉토리 만들기
한 서버에 aaa.com과 bbb.bom이란 홈페이지를 운영한다고 할 때, 각 사이트의 파일이 들어갈 디렉토리를 만듭니다. aaa.com은 /www/aaa라는 디렉토리에, bbb.com은 /www/bbb라는 디렉토리에 만든다고 가정하겠습니다.
Apache 설정 파일 수정
CentOS에서 Apache 설정 파일은
/etc/httpd/conf/httpd.conf
입니다. 설정 파일을 열고 맨 밑에 다음을 추가합니다.
NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /www/aaa ServerName aaa.com </VirtualHost> <VirtualHost *:80> DocumentRoot /www/bbb ServerName bbb.com </VirtualHost>
첫번째 줄은 여러 사이트를 운영하겠다는 뜻이고, 나머지는 각 도메인으로 접속했을 때 연결할 디렉토리를 설정하는 것입니다.
위 예에서는 aaa.com로 접속했을 때만 연결시켰는데, www.aaa.com으로도 접속 가능하게 하려면
ServerName aaa.com
밑에 다음의 코드를 추가합니다.
ServerAlias www.aaa.com
Apache 재시작
설정을 마쳤으면 웹서버를 다시 시작합니다.
service httpd restart
이제 웹브라우저로 각 도메인에 접속하면 해당 디렉토리를 접속이 됩니다. 만약 접속했을 때 forbidden error가 나면 대부분 selinux 때문이므로
setenforce 0
라고 명령하여 selinux를 중지시킵니다.