티스토리 뷰

728x90
반응형

 포스팅은 Apache Installation & Apache Windows Service 등록 방법에 대한 가이드입니다.


Apache는 오픈소스 소프트웨어로서 비용 부담 없이 Webserver를 사용할 수 있습니다. 대기업 외 일반 중소기업들 또는 대학교등에 많이 이용되고 있으며, 전세계 적으로 점유률 1위를 기록하고 있습니다. 타 벤더사의 Webserver들이 Apache에 나온 기능을 참고하여 새로운 기능을 만들정도로 모든 Webserver들의 표본이라 할 수 있을 정도로 다양한 기능을 제공하고 있습니다. 특히 오픈소스의 장점에 맞게 RH에서 직접 배포하는 버전이외에 커뮤니티 버전으로 많은 개발자들이 자료를 공개하고 있다는 장점 또한 있습니다.

본 포스팅에서는 Apache Installation 과정과 Windows Service 등록 방법에 대해 살펴보도록 하겠습니다.

 

먼저 Apache Installation 과정입니다.

httpd-2.4.29-Win64-VC15.zip 파일이 바로 컴파일까지 완료해서 배포한 버전의 파일입니다. tar로 압축되어 있는 버전은 소스만 포함되어 있는 버전이며(httpd-2.4.29.tar.bz2), msi installer를 제공하는 2.2.9 버전의 설치 파일도 확인이 됩니다.

본 포스팅은 2.4.29 Version을 기준으로 작성될 것이며, msi를 제공하지 않기 때문에 위에서 가이드한 사이트에서 컴파일 소스를 다운로드 받습니다.

다운로드를 완료한 이후 설치를 수행합니다.
설치는 매우 간단합니다. httpd-2.4.29-Win64-VC15.zip 압축 해제 하고 자신이 원하는 디렉토리에 카피만 하면 끝입니다. 

물론 이름도 원하는데로 변경해도 전혀 무방합니다. 다만 아래 설명 드리는 환경 변수 셋팅에서 변경된 경로로 셋팅을 해주어야 합니다.
환경변수 셋팅을 수행합니다. 보다 효율적으로 명령어를 수행하기 위해 환경 변수를 등록해 줍니다.
탐색기 내PC 위에서 "우클릭 → 고급 시스템 설정 → 환경 변수 → 시스템 변수 → 새로 만들기 → Apache"로 Name 및 Path를 추가합니다.

마지막으로 path를 등록해 줍니다. 등록한 Apach를 %로 양쪽을 묶으면 환경변수 Alias가 셋팅됩니다.
정상적으로 Apache 환경변수가 셋팅되었는지 확인해볼께요. httpd -v 는 현재 설치 된 httpd version을 확인할 수 있습니다.


자 다음으로 Apache Windows Service에 대해 알아보겠습니다.

Apache는 Apache Service Monitor라는 유틸리티와 함께 ​​제공되게 됩니다.
이를 통해 네트워크에있는 모든 시스템에 설치된 모든 Apache Windows Service의 상태를 보고 관리 할 수 ​​있게됩니다.

모니터로 Apache Windows Service를 관리하려면 Windows Service를 설치해야합니다.

먼저 Windows Service 등록과정입니다.

Apache bin 서브 디렉토리의 명령 프롬프트에서 httpd.exe -k install 명령어를 통해 Apache를 Windows Service로 설치할 수 있습니다.

cmd 창에서 httpd.exe -k install 을 입력하면 Windows Service 창에서 Apache 항목을 찾을 수 있습니다.

Windows Service의 경우 Process Background 기동이 어렵다는 문제를 해결하기 위한 방책으로 사용될 수 있습니다.

또한 OS 장애시 자동 복구를 위한 대책으로써도 사용이 가능합니다.

기본으로 설정되는 Apache Windows Service Name 이외에 다른 이름으로 변경을 하고 싶을 경우 또는 하나 이상의 Windows Service를 등록해야 할 경우 -n 옵션을 추가하여 httpd.exe -k install -n "MyServiceName"같이 수행합니다.

두번째로 Apache Windows Service 제거과정입니다.
단순히 Default Apache Windows Service를 제거하기 위해서는 httpd.exe -k uninstall 같이 명령어를 수행하면 되며, 위에 별도의 이름으로 등록하였을 경우 httpd.exe -k uninstall -n "MyServiceName" 같이 수행하면 됩니다.


세번째로 환경파일 검토과정입니다.

아파치 Windows Service의 정상적인 시작, 재시작 및 종료는 일반적으로 아파치 서비스 모니터 를 통해 또는 일반 Windows 서비스 관리 NET START Apache2.4와 같은 명령을 사용하여 수행 할 수 있습니다.

어떤 방법 으로든 Apache를 서비스로 시작하기 전에 httpd.exe -n "MyServiceName" -t 명령어로 서비스의 구성 파일을 테스트해야합니다.


마지막으로 Apache 기동 및 종료​과정입니다.

먼저 기동방법은 httpd.exe -k start -n "MyServiceName"와 같이 수행이 가능합니다.

또한 종료방법은 httpd.exe -k stop -n "MyServiceName"와 같이 수행이 가능합니다.


위와 같이 Apache Install 및 Windows Service로 기동 한 이후 정상적으로 설치와 기동이 되었는지 확인하기 위해 Web page를 호출해 보고 마무리 하겠습니다.

다음은 default page를 호출하는 과정입니다.
Apache가 정상 기동되면 이후 페이지 호출을 하게됩니다.
콘솔 창에서 또는 서비스로 Apache를 시작하면 서버에서는 Default 80 Port를 LISTEN 상태로 대기하게 됩니다. 서버에 연결하고 기본 페이지에 액세스하려면 브라우저를 실행하고 localhost domain으로 호출을 수행합니다.

Apache는 Welcome page "It Works!"라고 표시됩니다. 아무 일도 일어나지 않거나 오류가 발생하면 error.log를 확인합니다.

80 Port이외에 다른 포트를 사용하고자 할 경우 httpd.conf의 Listen 설정으로 변경해야 하며 호출 시에도 localhost:8080 같이 명시적으로 URL에 넣어야합니다.


Apache 다른 TCP / IP 응용 프로그램과 동일한 포트를 공유 할 수 없으므로 Apache를 실행하기 전에 특정 다른 서비스를 중지, 제거 또는 재구성해야 할 수 있습니다. 이러한 충돌하는 서비스에는 방화벽 문제를 우회하려고 포트 80을 사용하는 다른 WWW 서버, 일부 방화벽 및 심지어 일부 클라이언트 응용 프로그램이 포함됩니다.

그밖에 Web page 호출 시 문제가 될 수 있는 Context-root 또는 appliation deploy 경로 등에 대해서는 추후 추가 포스팅때 살펴 보도록 하겠습니다.

맙습니다.

728x90
반응형