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