티스토리 뷰
개요
Apache HTTP Server
는 그 자체로서도 굉장한 역사를 자랑하는 웹 서버이면서, 특히 PHP로 제작된 프로젝트의 기반 웹 서버로 전세계적으로 널리 사용되고 있다. 이번 글에서는CentOS 6
에서Apache HTTP Server
(httpd),mod_php
,PHP 7.x.x
를 설치하는 방법을 안내한다.
Apache HTTP Server, PHP 7 설치
- PHP 7은 아래 순서로 설치한다. 패키지를 설치할 외부 저장소로 신뢰도가 높은
IUS
를 선택했다.
mod_php71u
는 아래 패키지를 설치한다.httpd
패키지는 기본 저장소의 구버전에 의존한다.
설정 확인
- 아래와 같이 Apache, mod_php, PHP 설정을 확인한다.
Apache 서비스 시작
- 아래와 같이 Apache 서비스를 시작한다. 기본 설정을 바꾸지 않았다면 HTTP 80 포트로 서비스가 시작된다.
- 서비스에 등록하지 않고 사용할 경우, 위 방법을 통한 서비스 제어는 불가능하다. 아래와 같이
apachctl
바이너리를 직접 제어해야 한다.
.htaccess 허용
- 각 디렉토리에 위치한
.htaccess
파일 설정을 활성화 하려면httpd.conf
파일을 아래와 같이 수정한다.
Xdebug 확장 모듈 설치
- 원격 개발 서버에
Xdebug
확장 모듈을 설치하면 개발환경에서 편리하게 브레이크 포인트를 걸면서 디버깅이 가능하다.
- 이제
PhpStorm
에서 디버깅을 설정할 차례이다.
- 추가적으로 REST API을 디버깅하려면 매 요청시 2가지를 추가해야 한다. 첫번째는 URL에 붙는 요청 파라메터에
XDEBUG_SESSION_START=PHPSTORM
을 추가한다. 두번째는 요청 헤더 쿠키에XDEBUG_SESSION=PHPSTORM
을 추가한다.
POST 요청 바디 로그 적재
mod_dumpost
모듈을 설치하면 POST 요청 바디를 로그 파일로 남길 수 있다. 설치 및 설정 방법은 아래와 같다. [관련 링크]
Apache 로그 Graylog 전송
- Apache는 기본적으로 외부로부터의 요청 로그를 로컬 파일에 기록한다. 생성되는 로그를 Graylog에도 전송하면 훨씬 고도화된 로그 조회 및 시각화가 가능하다. 방법은 아래와 같다. [관련 링크] 로그 적용시 HTTP(
<VirtualHost *:80>
디렉티브 내부에 설정) 및 HTTPS(<VirtualHost *:443>
디렉티브 내부에 설정)에도 모두 적용하는 것을 잊지 말도록 한다.
- 위 설정을 통해 Apache의 모든 액세스 로그는 아래와 같은 형식으로 원격지의 Graylog 서버로 전송되어 조회가 가능해진다.
- 이제 Apache가 실시간 전송하는 GELF UDP 로그를 수신할 차례이다. System -> Inputs -> Select Input: GELF UDP -> Launch New Input을 차례로 실행하여 새로운 인풋을 생성한다.
트러블슈팅: HTTPS 적용시 메모리 누수 문제 해결
- Apache에 HTTPS 적용 후 메모리 누수가 발생할 수 있다. 아래와 같이 설정하면 해결된다. [관련 링크]
트러블슈팅: Handshake alert : unrecognized_name
- Apache에 SSL 인증서를 적용 후 클라이언트(주로 Java) 측에서 요청시 Handshake alert : unrecognized_name 오류가 발생할 수 있다. 와일드 카드(멀티 도메인) 형태의 인증서를 설치할 경우 발생하는 문제로 Apache에서는 환경 설정에서 ServerName, ServerAlias 설정을 생략하지 않고 빠짐 없이 정확하게 명시하면 문제가 해결된다. [관련 링크1] [관련 링크2]
참고 글
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Spring Boot
- jpa
- 평속
- 자전거
- Kendo UI Web Grid
- 알뜰폰
- JavaScript
- Eclipse
- graylog
- 구동계
- 로드 바이크
- DynamoDB
- 로드바이크
- bootstrap
- Spring MVC 3
- maven
- MySQL
- jstl
- spring
- jsp
- Docker
- JHipster
- Tomcat
- kotlin
- 태그를 입력해 주세요.
- chrome
- node.js
- java
- Kendo UI
- CentOS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함