🥞 BE
home

Ch11. APM 설치와 웹 서비스

Apache 웹 서버의 개념
Apache HTTP Server는 오픈 소스 소프트웨어 그룹에서 만드는 웹 서버 프로그램입니다. 오픈소스 DBMS인 MySQL이 나오자, Apache+PHP+MySQL을 통틀어 "APM"이라고 통칭하면서 웹 서버를 돌리기 위한 기본적인 3가지 중 하나가 되었습니다.
서버와 클라이언트 간에 데이터 전송 방식
데이터 전송 방식에는 GET요청방식과 POST요청방식이 있는데 Apache 웹 서버에서는 GET방식의 URL을 이용한 데이터 전송 방식을 사용합니다. GET방식은 URL에 데이터가 섞여 있기 때문에 결과 화면을 다른 사람들과 공유 할 수 있다는 장점이 있습니다.
Apache 주요 디렉토리의 기능
Allow, Deny 설정을 통한 특정 IP 대역의 IP 차단 및 허용 기능이 있습니다.
Apache Virtual Hosting 설정 방법
먼저 2개의 호스트에 대한 DNS를 등록합니다. 이후 “httpd.conf” 설정을 합니다. 이후 vi로 Include 앞의 #을 제거하고 “httpd-vhosts.conf”을 읽도록 설정합니다.
다음은 "httpd-vhosts.conf" 파일을 수정합니다. “http.conf” 파일에서 도큐먼트 루트에 적절한 권한을 설정합니다. 이후 준비가 끝나면 “http://ww1.devkuma.com” 에 액세스 해보고 “http://ww2.devkuma.com”에 액세스 해봅니다.
Apache cgi-bin 디렉토리의 파일들의 기능
cgi-bin 하위디렉토리에 있는 모든 파일을 CGI 프로그램으로 인식하는데, CGI (Common Gateway Interface)는 웹서버가 보통 CGI 프로그램 혹은 CGI 스크립트라고 부르는, 외부 프로그램과 통신하는 방법을 정의합니다. 웹사이트에서 동적인 페이지를 만드는 가장 흔하고 간단한 방법입니다.
PHP 프로그램이란
PHP(PHP: Hypertext Preprocessor)는 C언어를 기반으로 만들어진 서버 측에서 실행되는 서버 사이드 스크립트 언어입니다. PHP는 동적 웹 페이지를 쉽고 빠르게 만들 수 있도록 해주는 데 그 목적이 있습니다. PHP로 작성된 코드를 HTML 코드 안에 추가하면, 웹 서버는 해당 PHP 코드를 해석하여 동적 웹 페이지를 생성합니다. PHP의 장점은 주요 운영체제와 대부분의 웹 서버에서 지원하는 것과 다른 프로그래밍 언어보다 직관적으로 코드를 작성할 수 있어서, 작성해야 하는 코드의 양이 적다는 것이 있고, 텍스트 처리에 특화되어 있어 HTML 문서 처리에 적합하다는 것이 있습니다.
Server side program과 Client side program의 종류와 기능
Server side program 코드는 다양한 프로그래밍 언어로 작성 될 수 있습니다. 대중적인 웹 언어를 포함한 예로 PHP, Python, Ruby 그리고 C#. Server side program은 서버의 운영체제와 모든 접속권한을 가지며, 개발자는 그들이 원하는 프로그래밍 언어를 사용할 수 있습니다
Client side program 코드는 HTML, CSS, 그리고 JavaScript로 작성됩니다.