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 이상에 부합되는 자바 런타임 환경이 필요하다.