[개념잡기]PHP/MySQL/Apache/XE/Tomcat이란?
by Choi HyeSun
PHP란?
-
Hypertext Preprocessr
-
하이퍼텍스트 생성 언어(HTML)에 포함되어 동작하는 스크립팅 언어
-
별도의 실행 파일을 만들 필요 없이 HTML 문서 안에 직접 포함시켜 사용
-
C, 자바, 펄 언어 등에서 많은 문장 형식을 준용하고 있어 동적인 웹 문서를 빠르고 쉽게 작성할 수 있음
-
ASP(Active Server Pages)와 같이 스크립트에 따라 내용이 다양해서 동적 HTML 처리 속도가 빠름
-
PHP 스크립트가 포함된 HTML 페이지에는 .php, .php3, .phtml이 붙는 파일 이름이 부여
-
처음에는 ‘Personal Home Page Tools’이라 불렸음
-
공개된 무료 소스
mySQL이란?
-
표준 데이터베이스 질의 언어인 SQL(Structured Query Language)을 사용하는 개방 소스의 관계형 데이터베이스 관리 시스템(RDBMS)
-
매우 빠르고, 유연하며, 사용하기 쉬운 특징
-
다중 사용자, 다중 스레드를 지원
-
C, C++, Eiffel, 자바, 펄, PHP, Python 스크립트 등을 위한 응용 프로그램 인터페이스(API)를 제공
-
유닉스나 리눅스, 윈도우 운영 체제 등에서 사용할 수 있음
-
LAMP, 즉 리눅스 운영 체제와 Apache 서버 프로그램, MySQL, PHP 스크립트 언어 구성은 상호 연동이 잘되면서도 오픈 소스로 개발되는 무료 프로그램이어서 홈 페이지나 쇼핑몰 등 일반적인 웹 개발에 널리 이용
-
mySQL은 오픈 소스 라이선스를 따르기는 하나 상업적으로 사용할 때에는 상업용 라이선스를 구입해야 함
Apache란?
-
1995년 처음 발표된 월드와이드웹(WWW:World Wide Web) 서버용 소프트웨어
-
NCSA(National Center For Supercomputing Applications:미국국립수퍼컴퓨터활용센터) 소속 개발자들이 개발한 NCSA httpd 1.3 웹서버를 자신들이 개량한 것으로 소스코드까지 공개되고 있음
-
NCSA httpd 1.3 서버에 패치(patch)파일을 제공했던 개발자들이 ‘A PAtCH server’라는 용어에서 아파치라는 이름을 따왔음
-
1995년 3월 18일 공개된 아파치 0.2가 NCSA httpd 1.3에 패치파일을 제공
-
패치파일을 꾸준히 개선해 제공하고 있으며, 최고 수준의 성능을 발휘하기 때문에 월드와이드웹 서버용 소프트웨어로 가장 많이 사용되고 있음(2019년초 Nginx가 추월)
-
오픈소스(open source) 라이선스에 따라 무료로 배포되어 원하는 사람들이 자유롭게 사용할 수 있음
-
유닉스, 윈도 등을 비롯해 거의 모든 운영체제와 시스템에서 운용 가능
-
아파치소프트웨어재단(Apache Software Foundation)이라는 단체가 오픈소스 프로젝트의 아파치 커뮤니티를 지원하고 있음
- 이 재단은 아파치 인큐베이터 프로젝트, 아파치 앤트 프로젝트 등의 아파치 프로젝트를 진행중
XE란?
-
XpressEngine(eXpress+press+Engine, 구 제로보드 XE)은 고영수가 여러 자원봉사자들과 함께 개발한 LGPL 기반 오픈 프로젝트
-
제로보드 4나 zb5와는 별개로 완전히 새로 개발한 웹 프레임워크
-
제로보드 4와는 달리 BBS, 블로그, 쇼핑몰, 위키 등 웹 사이트에 필요한 모든 것을 모듈로 구현해, 종합적인 웹 빌더로 사용할 수 있는 프레임워크를 목표로 개발이 진행 중
-
이전 명칭은 ‘제로보드 XE’였으나, 정식으로 CMS 기능을 갖춘 1.1.0 버전 안내를 공지하면서 ‘보드’의 개념과 상이하다며 명칭을 변경
-
현재는 네이버 산하 오픈소스 프로젝트로 개발이 진행되고 있다.
- 네이버에서 XE 커뮤니티 개발팀을 만들어 운영하다가, 2019년 7월 1일부로 엑스이팩토리로 법인명을 이전하며 분리
-
제로보드의 명칭을 유지한 1.0.6 버전까지는 다양한 사이트와 블로그를 운영할 수 있는 홈빌더의 형태였으나, XpressEngine으로 명칭을 변경한 1.1.0 버전부터는 마이크로 블로그(플래닛) 패키지, 가상 사이트를 이용한 분양 시스템 등 더 폭넓고 다양한 기능이 탑재되
-
구조는 기본 프로그램인 XE Core가 있고, 거기에 모듈이나 위젯, 애드온 등의 추가 프로그램을 올리는 방식
-
제로보드의 장점이었던 쉬운 개발 난이도는 정 반대로 어려워졌다는 평가
-
그러한 문제로 Core를 직접 수정하는 사용자들이, 개발자들의 비권장 공고에도 꾸준하게 유지
-
Tomcat이란?
-
웹 서버에서 서블릿(servlet), JSP, 빈즈와 같은 자바 코드를 이해하기 위해서는 톰캣 같은 자바를 이해하는 엔진이 있어야 함
-
비용이나 성능면에서는 자바 기반 웹 서버를 구성할 때 리눅스(Linux), 아파치, 톰캣 조합을 많이 사용
- 요즘은 아파치 대신 Nginx(엔진엑스)
-
웹 프로그램은 순수한 프로그램 언어로만 이루어진 것이 아니라 클라이언트 언어인 HTML이 혼용되었는데, 톰캣은 자바 파일만 해석할 수 있음
-
HTML과 혼용된 경우 컴파일 과정을 거침
-
JSP 페이지는 서블릿 형태로 일단 변형되어 완벽한 자바 파일로 변형된 뒤 컴파일
-
자바 서블릿과 JSP 규격의 ‘참조용 구현’으로 평가되고 있는 톰캣은, 개발자들의 개방적 협력 작업의 산물로 아파치 웹 사이트에서 받을 수 있음
-
톰캣을 실행시키기 위해서는 JRE1.1 이상에 부합되는 자바 런타임 환경이 필요하다.
Subscribe via RSS