[ Apache ]
1. Introduction to Web Server
Internet은 크게 client & server로 이루어져있다.
Web 접속을 위해..
-
client에는 web browser가 있어야 하고
( ex. chrome, Internet explorer, firefox … )
-
server에는 web server가 있어야 한다.
( ex. apache, nginx, iis…. )
-
client의 web browser를 통해 “google.com”을 접속 시도하면, ( = request )
- server의 web server는 서버 내에 저장되어있는 정보를 반환해서 web browser에 돌려준다. ( = response )
- web server에는 DNS 서버 (Domain Name System) 도 필요하다
2. Apache 설치
현재, 한 대의 컴퓨터 내에
- web server
- web brower
가 둘 다 있는 채로 실습해볼 것이다.
sudo apt-get update
sudo apt-get install apache2
sudo service apache2 start
( 끄기 : sudo service apache2 stop
)
sudo htop
- apache가 잘 켜져있는지 확인하기
sudo apt-get install elinks
- shell에서 직접 web server에 접속하기 위해 설치!
- url 입력하기
자신의 web server의 주소를 알기 위해, ip addr
실행
elinks http://10.0.2.15/
( 컴by컴 )
- 자신의 web server에 접속 성공!
현재, 한 대의 컴퓨터로 web browser & web server가 다 있으므로, 반드시 위와 같이 안하고, 아래와 같이도 접속이 가능하다!
elinks 127.0.0.1
elinks http://localhost
3. Configuration
(1) web browser를 사용해서 web server에 접속하게 되면,
(2) web server는 해당 요청을 받은 뒤, web server내의 storage (HDD,SSD)를 뒤져서 요청한 파일을 찾아서 읽는다.
(3) 그런 뒤, 해당 파일을 web browser에 응답한다. 끝!
그렇다면, (2)에서, 도대체 web server는 어디에서 해당 파일을 찾아올까?
cd apache2/
nano apache2.conf
- 내리다보면,
site-enabled/*.conf
가 있다.
cd sites-enabled
- 그 안에, 000-default.conf가 있다
nano 000-default.conf
- ……… DocumentRoot
/var/www/html
……
cd /var/www/html
- 이 안에, index.html이라는 파일이 있다.
sudo mv index.html index.html.bak
( 파일명 변경 )
elinks http://127.0.0.1/index.html
- 더 이상 안나옴! ( NOT FOUND)
현재 경로에서 ( /var/www/html
), 새로운 index.html파일을 생성해보자.
sudo nano index.html
( 뭐라뭐라 막 적고 )
elinks http://127.0.0.1/index.html
- 방금 적은 내용이 뜬다!
[ Summary ]
( 현재 경로 : /var/www/html
)
- web server는, 이 경로 안에 있는 파일을 찾아서 response한다.
- 해당 경로에서 찾는 이유?
/etc/apache2/sites-enabled/000-default/conf
에서 해당 경로라고 말했기 때문!
4. Log
로그 확인하기
cv /var/log/apache2
-
tail access.log
: 마지막 10개 로그 확인 -
tail -f access.log
: (실시간으로) 마지막 10개 로그 확인