Setting Up Virtual Host On Apache Web Server
버추얼 호스트 추가방법
# 가상 호스트로 설정할 디렉토리 생성 $ sudo mkdir -p /var/www/example.com/html # 가상 호스트의 로그파일 디렉토리 생성 $ sudo mkdir -p /var/www/example.com/log # 가상 호스트의 디렉토리에 사용자 권한 설정 $ sudo chown -R $USER:$USER /var/www/example.com/html # 웹 루트 경로 이하 전체 rwx 퍼미션 설정 $ sudo chmod -R 755 /var/www # 가상 호스트 설정 파일 경로는 기본값인 /etc/httpd/conf.d 디렉터리를 사용한다. $ sudo vim /etc/httpd/conf.d/example.com.conf
example.com.conf 파일을 다음과 같이 수정한다.
<VirtualHost *:80> ServerName www.example.com ServerAlias example.com DocumentRoot /var/www/example.com/html ErrorLog /var/www/example.com/log/error.log CustomLog /var/www/example.com/log/requests.log combined </VirtualHost>
가상 호스트에 대한 SELinux의 권한을 조정한다.
SELinux는 Apache 기본 설정만 되어 있기 때문에 가상 호스트 추가 시 임의로 설정된 로그파일 경로에 대한 정책을 추가해 줘야한다.
설정하지 않을 경우 서비스를 시작할 때 오류가 발생하게 된다.
# Apache에 대한 SELinux 설정 $ sudo setsebool -P httpd_unified 1 $ sudo semanage fcontext -a -t httpd_log_t "/var/www/example.com/log(/.*)?" $ sudo restorecon -R -v /var/www/example.com/log $ sudo systemctl restart httpd