0. WEB Server
- client에게 web page를 제공해주는 서버
> client가 web browser 프로그램을 이용하여 web server에 접근하면
접근한 client에게 알맞는 web page를 전송하고, client는 전송받은 페이지를 web browser에 출력
- web page를 두 가지 종류로 구분
1) 정적 web page : client에게 기존에 만들어 놓은 web page를 동일하게 제공
> html, java script 등
2) 동적 web page : client에게 맞춰진 web page를 만들어서 제공
> JSP, PHP 등
- web server 프로그램 중 점유율이 가장 높은건 apache
> 여러 운영체제에서 사용 가능하여 유연성이 높다
- 정보
패키지 : httpd-*
데몬 : httpd
방화벽 : port=80, service=http *https = http + ssl
설정파일 : /etc/httpd/conf/httpd.conf
- 설치 및 설정파일
저번 실습 시간에서 DNS Server를 이용해 웹페이지 주소를 192.168.10.128 주소와 연결함
파이어폭스로 접속해보면 웹서버가 없기 때문에 표출되는 페이지가 없음
yum -y install httpd-*
systemctl restart httpd
웹서버 설치 후 데몬 재실행 한 뒤 다시 파이어폭스에서 접속해 보면 apache test page 표출
[root@server named]# cd /var/www/html
[root@server html]# echo "test page" >> index.html
다시 파이어폭스에서 접속하면 웹페이지 출력
설정파일 해설
[root@server /]# vi /etc/httpd/conf/httpd.conf
31 ServerRoot "/etc/httpd" : 서버의 최상위 디렉토리
41 #Listen 12.34.56.78:80 : Listen IP:port
42 Listen 80 : Listen <port> = Listen <all IP><port>
56 Include conf.modules.d/*.conf : module 설정 파일 객체로 분리
66 User apache : UID/ GID 권한 설정
67 Group apache
86 ServerAdmin root@localhost : 서버관리자 이메일 주소
102 <Directory /> : 최상위 디렉토리 접근 방지
103 AllowOverride none
104 Require all denied
105 </Directory>
119 DocumentRoot "/var/www/html" : 이 폴더에 index.html을 넣어줌
163 <IfModule dir_module> : index.html로 웹페이지를 만들어 넣는 이유
164 DirectoryIndex index.html
165 </IfModule>
1. [실습] DocumentRoot가 되는 폴더 변경해 보기
/var/www/html/index.html 말고 다른 폴더에서 index.html 찾아 줄 수 있도록
Web server 설정하기
firefox 화면에서 /var/www/html 내부가 아닌 itbank 홈 디렉토리 내부의 index.html 출력해보기
mv /var/www/html /home/itbank index.html : 파일 이동
[root@server /]# vi /etc/httpd/conf/httpd.conf
119 DocumentRoot "/var/www/html" : /home/itbank로 변경
124 <Directory "/home"> DocumentRoot와 하위 옵션 변경
131 <Directory "/home/itbank">
[root@server /]# systemctl restart httpd
chmod 701 ~itbank로 폴더 권한 변경
출력완료
** httpd 추가 설정 파일
[root@server home]# cd /etc/httpd/conf.d
-rw-r--r-- 1 root root 2926 3월 24 23:57 autoindex.conf
-rw-r--r-- 1 root root 323 1월 14 02:38 manual.conf
-rw-r--r-- 1 root root 1252 1월 8 01:08 userdir.conf
-rw-r--r-- 1 root root 824 1월 14 02:38 welcome.conf
2. [실습] DNS / WEB Server 설정
1) user : main
skel : /kg/
자동생성 디렉토리 : public_html/
DocumentRoot : ~main/public_html/
www.2bwithu.co.kr : 화면내용 main
2) www.2bwithu.co.kr/test1 : 화면내용 test1
3) www.2biwithu.co.kr/test1/test2 : 화면내용 test2
4) www.2biwithu.co.kr/~user1 : 화면내용 user1
5) www.2biwithu.co.kr/user2/ : 화면내용 user2
* 1 ~ 5까지의 문제는 순서대로 진행(무조건 1번을 최우선으로 진행 후 2,3번 -> 4,5번 순서로 진행)
2,3번 문제는 httpd.conf 설정 파일 사용 X(hint. FQDN을 DocumentRoot로 바꿔서)
4,5번 문제는 httpd.conf 설정 파일의 마지막 줄 참조(hint. 파일 4개 중 하나는 4번 하나는 5번과 관련)
1) 풀이
Step1. 웹 서버 관련 세팅
yum -y install httpd-*
cp -r /etc/skel /kg
mkdir /kg/public_html
useradd -mk /kg main
chmod 701 ~main
vi /etc/httpd/conf/httpd.conf
119 DocumentRoot "/home/main/public_html"
124 <Directory "/home/main">
131 <Directory "/home/main/public_html">
vi /home/main/public_html/index.html main 입력
Step2. DNS server 관련 세팅
yum -y install bind-*
... DNS server 참고!
2)3) 풀이
119 DocumentRoot "/home/main/public_html" 이고 도메인 주소를 해당 폴더의 index.html에서
가져가고 있으므로 "/home/main/public_html" 폴더에 test1, test2 폴더를 각각 만들어서
그 안에 내용과 index.html 파일을 만들어 해결
[root@server public_html]# mkdir test1
[root@server public_html]# mkdir /test1/test2
[root@server public_html]# echo "dir. test1" test1/index.html
[root@server public_html]# echo "dir. test2" test1/test2/index.html
4) 풀이
[root@server conf.d]# vi userdir.conf
17 # UserDir disabled : 주석처리
24 UserDir public_html : 주석해제
<Directory "/home/*/public_html">
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
</Directory>
[root@server home]# systemctl restart httpd
[root@server home]# useradd -mk /kg user1
[root@server home]# chmod 711 user1
[root@server home]# cd ~user1/public_html
[root@server public_html]# echo "user1" >> index.html
5) 풀이 Alias
[root@server conf.d]# vi autoindex.conf
아래 설정 추가
29 Alias /user2/ "/home/user2/public_html/"
30
31 <Directory "/home/user2/public_html">
32 Options Indexes MultiViews FollowSymlinks
33 AllowOverride None
34 Require all granted
35 </Directory>
[root@server conf.d]# systemctl restart httpd
[root@server conf.d]# useradd -mk /kg user2
[root@server conf.d]# echo "user2" >> ~user2/public_html/index.html
[root@server conf.d]# chmod 701 ~user2
http://www.2bwithu.co.kr/user2/
'Base > Linux(CentOS)' 카테고리의 다른 글
22. Server (4 - phpmyadmin GUI 환경 DB 사용) (0) | 2022.07.09 |
---|---|
21. Server (3 - DB Server mariadb) (0) | 2022.06.29 |
19. Server (1 - DNS) (0) | 2022.06.28 |
18. samba / DHCP (0) | 2022.06.28 |
17. NFS / autofs 네크워트 마운트 사용 (0) | 2022.06.27 |
댓글