구축환경: Ubuntu 14.04 LTS


1.

http://httpd.apache.org/download.cgi#apache24

위 사이트에서 가장 최신의 Apache HTTP Server(httpd)를 다운 받았다.


2.

tar -xvzf httpd-2.4.29.tar.gz

명령어로 압축을 푼다.


3.

httpd-2.4.29 디렉터리로 이동해서

./configure

명령어를 사용하니 error가 떴다.

apr이 없다고 해서, apt-get 명령어로 관련 패키지를 설치하고 다시 해보니

이번엔 apr-util이 없다고 한다.

INSTALL 문서를 참고해서,

http://apr.apache.org/download.cgi#apr1에서

apr-1.6.3.tar.gz apr-util-1.6.1.tar.gz를 다운받아,

./scrlib/apr와 ./scrlib/apr-util에 각각 압축을 풀고

./configure --with-included-apr 

명령어를 실행했다.

(apr, apr-util 모두 apt-get 명령어로 설치하면 따로 옵션을 줄 필요가 없는데,

그냥 INSTALL 문서를 참고하는게 편해서 이 방식을 택했다. 이게 차후 문제 발생 방지에 좋다는 설명도 함께 있었다.)


4.

이번엔 pcre-config가 필요했다.

INSTALL 문서에 별다른 설명이 없어서 그냥

apt-get install libpcre3

apt-get install libpcre3-dev

두 명령어로 설치를 하고 다시

./configure --with-included-apr 

명령어를 실행했고

configure: summary of build options:


    Server Version: 2.4.29

    Install prefix: /usr/local/apache2

    C compiler:     gcc -std=gnu99

    CFLAGS:          -g -O2 -pthread  

    CPPFLAGS:        -DLINUX -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE  

    LDFLAGS:           

    LIBS:             

    C preprocessor: gcc -E

다음과 같은 결과가 나왔다. 여기서 prefix는 기본값인데, 이걸 변경해 주려면 --prefix=PREFIX 옵션을 주면 된다.

makemake install 명령어를 차례로 실행해주었다.


5.

/usr/local/apache2/bin/apachectl start

명령어를 사용해 데몬을 켜주면 80번 포트가 열리고,

웹 브라우저에 IP 주소를 입력해서 다음과 같은 창이 뜨면 기본적인 웹서버 구축 완료.



+친구의 요청으로 웹페이지의 첫 화면을 바꿔주었다.

이 웹서버의 DocumentRoot/usr/local/apache2/conf/httpd.conf에 설정되어 있다.

/usr/local/apache2/htdocs가 기본값이여서 수정하지 않고 그냥 사용했다.

이 디렉터리 안에 있는 index.html 파일을 수정하면 된다.


HTTP (HyperText Transfer Protocol)

World Wide Web 상에서 정보를 주고 받을 수 있는 프로토콜로써,

주로 HTML 문서를 주고 받는 데 이용 (현재는 이미지, 비디오, 음성 등 거의 모든 형식의 데이터 전송 가능)

TCP와 UDP를 사용하며, 80번 포트를 사용

클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜

이미지 출처: http://www.ktword.co.kr/abbr_view.php?nav=&m_temp1=648&id=1283


웹 서버

웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 프로그램

HTTP 프로토콜을 구현하며, 사용자 요청 결과를 HTML 형태로 변환하여 전달함

웹 서버 소프트웨어로는 Apache web server, IIS, GWS 등이 있다.


*웹 어플리케이션 서버(WAS)란?

웹 서버가 HTML 문서 같은 정적 컨텐츠를 처리하는 반면,

웹 어플리케이션 서버는 asp, php, jsp 등의 개발언어를 읽고 처리하여 동적 서버 콘텐츠, 웹 응용 프로그램 서비스를 처리함

+ Recent posts