2018. 6. 27. 17:26

Apache VirtualHost (가상호스트)

1. 시스템 계정 추가시마다 pubilc_html 자동 생성
시스템 계정 추가시(useradd)마다 추가된 계정의 디렉토리 하위에 /etc/skel/ 디렉토리안에 포함된 파일이나 디렉토리가 자동으로 복사됩니다. 따라서 아래처럼 디렉토리를 만들어주면, 시스템 계정 추가시마다 public_html 디렉토리가 자동으로 생성됩니다.
[root@localhost ~]# mkdir /etc/skel/public_html


2-1. 그룹 확인 및 추가
[root@localhost ~]# cat -n /etc/group
[root@localhost ~]# groupadd your_domain


2-2. 사용자 확인 및 추가
[root@localhost ~]# cat -n /etc/passwd
[root@localhost ~]# useradd your_domain


3. 비밀번호 변경
[root@localhost ~]# passwd your_domain
Change new password:
Retype new password:
passwd:  all authentication tokens updated successfully.



4. 계정 디렉토리에 Apache 웹서버에서 접근 가능하도록 권한 부여
[root@localhost ~]# ls -l /home/ | grep your_domain
drwx------  3 your_domain your_domain 4096 Feb 24 06:51 your_domain

[root@localhost ~]# chmod 710 /home/your_domain

[root@localhost ~]# chgrp apache /home/your_domain

[root@localhost ~]# ls -l /home/ | grep your_domain
drwx--x---  3 your_domain apache  4096 Feb 24 06:51 your_domain

[root@localhost ~]# ls -l /home/your_domain
total 4
drwxr-xr-x 2 your_domain your_domain 4096 Feb 25 02:43 public_html


[ Apache 2.2 + CentOS 6.8 Apache VirtualHost (가상호스트) 추가 ]



5-1.  httpd.conf 수정
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
...
NameVirtualHost *:80
...
#<VirtualHost 103.31.12.170>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>
<VirtualHost *:80>
    DocumentRoot /home/your_domain/public_html
    ServerName your_domain.com
    ServerAlias www.your_domain.com
    ErrorLog logs/your_domain.com-error_log
    CustomLog logs/your_domain.com-access_log common
</VirtualHost>


6. Apache 웹서버를 재시작

   service httpd restart


7. 웹브라우저에서 접속 확인하기
<?php
phpinfo();
?>





 참고 : http://www.happyjung.com