[일반] 아파치 도메인 설정 (Apache Virtual Host)
-
- 첨부파일 : 20241005150214.png (22.7K) - 다운로드
본문
Apache Virtual Host 설정의 간단한 예시를 보여드리겠습니다.
Apache Virtual Host는 여러 개의 웹사이트를 하나의 서버에서 호스팅할 수 있게 해주는 설정입니다.
1. Apache 설정 파일 위치
일반적으로 Virtual Host 설정 파일은 `/etc/httpd/conf/httpd.conf` 또는 `/etc/httpd/conf.d/vhost.conf`에 있습니다. 혹은 `/etc/httpd/sites-available/`와 같은 경로에서 설정할 수 있습니다.
2. 기본 Virtual Host 설정 예시
여기서는 도메인 이름을 example.com으로 가정하고, 이 도메인에 대한 Virtual Host 설정 예시를 보여드립니다.
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/example.com/public_html
ServerName example.com
ServerAlias www.example.com
<Directory /var/www/example.com/public_html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>
3. 설명
- ServerAdmin: 서버 관리자의 이메일 주소를 설정합니다.
- DocumentRoot: 웹사이트의 파일들이 위치한 디렉토리입니다. 여기에 실제로 웹사이트의 HTML, PHP 파일들이 저장됩니다.
- ServerName: 이 Virtual Host가 응답할 도메인 이름을 설정합니다. (예: `example.com`)
- ServerAlias: 추가적으로 응답할 다른 도메인 이름이나 서브도메인을 설정합니다. (예: `www.example.com`)
- Directory: `DocumentRoot`에 설정된 디렉토리의 접근 권한을 정의합니다.
- Options: 허용할 옵션들 (`Indexes`, `FollowSymLinks` 등)
- AllowOverride: `.htaccess` 파일을 통해 설정을 덮어쓸 수 있게 할지 결정합니다.
- Require all granted: 모든 클라이언트가 디렉토리에 접근할 수 있도록 허용합니다.
- ErrorLog: 에러 로그 파일의 경로를 지정합니다.
- CustomLog: 접근 로그 파일의 경로를 지정하고 로그 형식을 설정합니다.
4. HTTPS (SSL) 설정 예시
HTTPS(SSL)를 사용하려면 `*:443` 포트를 사용해야 하고, SSL 인증서를 설정해야 합니다.
<VirtualHost *:443>
ServerAdmin [email protected]
DocumentRoot /var/www/example.com/public_html
ServerName example.com
ServerAlias www.example.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/example.com.crt
SSLCertificateKeyFile /etc/ssl/private/example.com.key
SSLCertificateChainFile /etc/ssl/certs/chain.pem
<Directory /var/www/example.com/public_html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/example.com_ssl_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_ssl_access.log combined
</VirtualHost>
- SSLEngine on: SSL을 활성화합니다.
- SSLCertificateFile: SSL 인증서 파일 경로입니다.
- SSLCertificateKeyFile: SSL 개인 키 파일 경로입니다.
- SSLCertificateChainFile: 인증서 체인 파일 경로입니다.
5. 설정 적용
설정 파일을 수정한 후에는 Apache를 다시 시작하거나 새로고침해야 합니다.
# CentOS/Red Hat
sudo systemctl restart httpd
# Ubuntu/Debian
sudo systemctl restart apache2
6. Virtual Host 활성화 (Ubuntu/Debian)
만약 `sites-available`에 설정 파일을 저장한 경우, 다음 명령어로 설정을 활성화합니다.
sudo a2ensite example.com.conf
sudo systemctl reload apache2
이 Virtual Host 설정을 통해 도메인마다 다른 웹사이트를 하나의 Apache 서버에서 호스팅할 수 있습니다.
댓글목록0
댓글 포인트 안내