웹서버를 구성하는 소프트웨어는 아파치(Apache), PHP, MySQL, 톰캣(Tomcat), 펄(Perl), FTP 서버 등등 다양한 것들이 있습니다. 이런 프로그램 목록을 보면 웹 서버 초보자는 어떤 프로그램이 필요하고 어떻게 설치하며 설정해야 하는지 판단하기 어려울 수 있습니다.
이런 상황에서 XAMPP라는 프로그램은 큰 도움이 될 수 있습니다. XAMPP는 웹 서버 입문자나 간편한 설정을 원하는 사람들을 위해, 여러 서버 관련 프로그램을 셋팅된 패키지 형태로 제공합니다.
XAMPP 를 설치하기 전 이해하고 넘어가셔야 하는 개념이 있습니다. APM 이라고도 하는데 Apache, PHP, MySQL이라는 세 가지 프로그램이며 앞 글자를 딴 용어입니다. 이 세가지의 프로그램은 웹 서버를 운영하기 위해 가장 기본적으로 필요한 소프트웨어 3형제입니다.
이 글은 세 가지 프로그램, APM (Apache,PHP,Mysql)에 대한 기본 개념을 설명하는 내용으로 구성되어 있습니다.
이 글의 목차
1. 웹서버 필수 소프트웨어 3형제 기본 개념 (아파치, PHP, Mysql)
HTTP 서버 – 아파치(Apache)
웹브라우저에서 사용자가 주소를 입력해서 웹페이지에 접속하였을 때 서버 측에서 지정한 페이지를 보여주도록 상호 통신하는 가장 기초 소프트웨어 입니다.
네이버 카페를 예로 들면 사용자가 웹브라우저를 통해 네이버카페에 접속할 수 있게 사용자와 서버간의 기반을 깔아주는 역할을 합니다. HTTP 서버는 사용자로부터 요청을 받고 응답을 되돌려주는 역할을 합니다.
HTTP 서버 프로그램은 아파치, nginX, IIS 등 다양한 종류가 있습니다. 그 중 XAMPP 에 포함되어있는 소프트웨어는 아파치(Apache) 입니다. 아파치는 리눅스 유닉스 윈도우 등 다양한 플랫폼을 지원하며 역사도 길고 오픈소스라서 많은 사람들이 사랑하는 웹 서버 중 하나 입니다.
데이터베이스(DB) – Mysql (MariaDB)
웹페이지계의 Excel 이라고 생각하시면 편합니다. 데이터베이스는 구조화된 정보 또는 데이터의 조직화 된 모음으로서 데이터의 효율적인 저장과 관리, 사용을 위해 작성됩니다. DB소프트웨어에서 데이터를 엑셀과 같은 표에 저장하고 필요에 따라 호출하여 사용자에게 보여줍니다.
네이버 카페를 예로 들면 웹 서버가 게시판 껍데기까지 담당하고, 열어보았을 때 보이는 게시글 제목, 내용 등은 PHP가 데이터베이스(DB)에서 불러와 웹페이지와 조합되어 사용자에게 보여줍니다. XAMPP에 포함된 DB소프트웨어는 MariaDB(Mysql호환)로 오픈소스 소프트웨어 입니다.
웹 프로그래밍 언어 – PHP
HTTP서버는 서버에 저장된 정적인 내용만 사용자에게 보여주는 서비스만 가능합니다. 하지만 PHP 웹 프로그래밍 언어를 사용하면 DB 저장소와 연계하여 동적인 서비스가 가능하게 됩니다. 동적인 서비스라 함은 사용자의 요청에 서버가 사용자 맞춤 화면을 사용자에게 제공하는 것을 말합니다.
다시 네이버 카페를 예시로 들면 PHP로 프로그래밍 된 게시판에서 사용자가 ‘키워드’ 검색을 요청하면 PHP가 DB에서 해당 키워드 내역을 조회하여 사용자에게 결과 값을 반환해 보여줍니다. 네이버 카페의 예시는 PHP의 이해를 돕기 위한 단적인 예시로 PHP프로그래밍에 따라서 다양한 기능을 할 수 있는 웹페이지 제작을 가능하게 해줍니다.
대표적인 웹프로그래밍 언어로는 PHP, JSP, ASP 등이 있으며 그 중 PHP는 현존하는 거의 모든 DB를 지원하고 있어 많이 사용되고 있습니다.
2. 기본 개념도 정리
웹서버 구성 프로그램 3형제 아파치웹서버, PHP, Mysql 정리를 하자면
HTTP 웹서버 아파치가 사용자와 서버와 통신을 할 수 있게 밑 바탕을 깔아주고, PHP 프로그래밍으로 웹페이지를 구축해 동적인 서비스가 가능하게 하고, PHP가 MySQL 데이터베이스와 연동하여 내용을 저장하고 불러들이며 쓰이게 됩니다.
방망이 깎듯 그림판으로 그린 아래의 개념도를 참고하세요.
다음 글은 XAMPP 설치하는 방법과 요령에 대해서 알아보도록 하겠습니다.