화면과 같이 Network Adapter 를 추가 하고 실습을 시작한다.
ens36 도 설정해준다. IP만 다르게 하고 서브넷마스크, 게이트웨이, DNS 는 동일하게 함.
주설정파일
/etc/httpd/conf/httpd.conf
보조설정파일
/etc/httpd/conf.d/*.conf
conf.d/ 에 *.conf 으로 파일을 만들면 주설정파일 하단에 자동으로 설정 내용들이 붙는다.
[root@localhost ~]# vi /etc/httpd/conf.d/vhost.conf
<VirtualHost 192.168.111.10>
DocumentRoot /var/www/html
ServerName www.chul.com
<VirtualHost 192.168.111.100>
DocumentRoot /vhost/jeong/www
ServerName www.jeong.com
ServerAlias jeong.com
ServerAdmin admin@jeong.com
ErrorLog /vhost/jeong/logs/error_log
CustomLog /vhost/jeong/logs/access_log combined
<Directory "/vhost/jeong/www">
Options Indexes
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
conf 형식에 맞춰서 이런식으로 설정을 넣어주고 저장합니다.
[root@localhost ~]# mkdir -p /vhost/jeong/{logs,www}
[root@localhost ~]# chmod -R 755 /vhost/
[root@localhost ~]# apachectl configtest
에서 신텍스 오케이 나왔으면 됐음.
설정파일을 추가했으니 systemctl restart httpd 를 했는데 SELinux 때문에 에러가 뜹니다.
SELinux 가 원인인지 알았던 이유는, setenforce 0 으로 해서 Permissive 모드로 바꾼 다음 systemctl restart httpd 를 했을때는 정상 작동되었다.
setenforce 1 으로 해서 Enforcing 모드로 바꿔준다. 확인방법은 getenforce 이다.
/vhost 하위디렉트 모두 사용자는 system_u 로 바꾸고 컨텍스트 타입은 httpd_sys_content_t 으로 바꿔준다.
http 가 접근하기 위해선 컨텍스트 타입을 바꿔야함.
[root@localhost ~]# chcon -R -u system_u -t httpd_sys_content_t /vhost
ls -Zd /var/log/httpd 으로 확인해보니
system_u:object_r:httpd_log_t:s0 /var/log/httpd 로그파일들은 컨텍스트 타입이 httpd_log_t 이다.
[root@localhost ~]# chcon -R -t httpd_log_t /vhost/jeong/logs
을 하면 /vhost/jeong/logs/error_log 와 /vhost/jeong/logs/access_log 파일 컨텍스트 타입이 httpd_log_t 으로 바뀐다!
[root@localhost ~]# systemctl restart httpd
다시 restart 하면 성공!
html을 /vhost/jeong/www/ 에 넣고 확인해보자!
'Linux' 카테고리의 다른 글
[CentOS8] SAMBA 사용법 (0) | 2021.02.08 |
---|---|
[CentOS8] ssh 원격접속 명령어 사용법 (비밀번호사용, 전자서명) (0) | 2021.02.02 |
[CentOS8] DNS 보안을 위한 TSIG (0) | 2021.02.01 |
[CentOS8] DNS 구축을 위한 BIND 설치 (0) | 2021.02.01 |
CentOS8 커널5.8.9 으로 수동 업데이트 하기 (2) | 2021.01.25 |