구축

Rocky 9.2 - Apache 가상호스트 - 계정별

상석하대 2023. 9. 26. 19:35

【개요】

한 서버에 홈페이지를 여러개 운영하는 웹호스팅이다.

사용자 계정의 홈 안에 특정 디렉터리를 웹루트로 한다.

***사용자를 user01, 사이트는 user01.co.kr 이며 DNS는 아직 없는 경우를 가정한다.

 

【웹루트 설정】

계정별 웹루트 디렉터리를 public_html으로 일원화 한다.

mkdir /etc/skel/public_html

chmod 751 /etc/skel/public_html

***public_html이 계정을 추가할 때 자동으로 생성되도록 하는 거다.

 

【UserDir 사용】

vi /etc/httpd/conf.d/userdir.conf

...
#UserDir disabled
...
UserDir public_html
...
Options MultiViews SymLinksIfOwnerMatch IncludesNoExec
...

#UserDir disabled 줄을 주석한다.

UserDir public_html 줄의 주석을 해제한다.

Options 줄에서 Indexes를 제거한다.

【설정 적용】

systemctl restart httpd.service

 

【httpd_unified 불린 적용】

httpd_sys_content_t가 설정된 자원을 읽고, 쓸 수 있도록 한다.

setsebool -P httpd_unified 1

 

【사용자 추가】

adduser user01
passwd user01
chmod 701 /home/user01

 

【사이트 생성】

vi /etc/httpd/conf.d/user01.co.kr.conf

<VirtualHost *:80>
    ServerAdmin webmaster@user01.co.kr
    DocumentRoot /home/user01/public_html
    ServerName user01.co.kr
    ServerAlias www.user01.co.kr
    ErrorLog logs/user01.co.kr-error_log
    CustomLog logs/user01.co.kr-access_log combined
</VirtualHost>

【사이트 시작】

systemctl reload httpd.service

 

【기본 페이지 작성】
echo "user01.co.kr's site is works!" > /home/user01/public_html/index.html

 

【접속 테스트 설정】
먼저, 접속에 사용할 컴퓨터의 hosts 파일을 편집한다.
Windows 컴퓨터라면 메모장을 관리자 권한으로 실행한다.
***웹서버의 IP가 192.168.0.32라고 가정한다.

【접속 확인】
http://user01.co.kr
http://www.user01.co.kr

***혹시, 별로 권장하고 싶지 않지만 사정이 있어 IP로 기본 사이트도 열리게 하고 싶다면,

vi /etc/httpd/conf.d/localhost.conf

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /var/www/html
</VirtualHost>

systemctl reload httpd.service

반응형

'구축' 카테고리의 다른 글

Rocky 9.2 - PHP  (0) 2023.10.01
Rocky 9.2 - Apache 가상호스트 - https 설정  (0) 2023.09.30
Rocky 9.2 - Apache 가상호스트  (0) 2023.09.26
Rocky 9.2 - Apache 설정 - 기본  (0) 2023.09.26
Rocky 9.2 - Apache 설치 - 기초  (0) 2023.09.26