July 20, 2019
apache 2.2.x를 사용하는데, proxy server를 거치는 경우 client-ip가 바뀐다. 그럴때, 해당 모듈을 사용하면 되는데, apache 2.4.x에서는 mod_remoteip.so가 아마 있어서 해당 모듈을 사용하면 된다.
ansible-playbook을 기준으로 하는데, 보통 role을 구성해서 사용하는 편이다.
그러나, 해당 작업은 apache setting과의 의존이 있기 때문에 하나의 task로 분리해서 만들었다. 원래는 role을 구성하는 것이 더 좋다.
ansible-playbook을 어떤 것인지 모르겠다면, ansible document를 참고 하면 된다.
간략하게 설명 하자면, 하나의 디렉토리를 구성하고, inventory/,group_vars/, host_vars/, role/등을 구성 한 뒤에 각 영역에 맞게 정보를 yaml형태로 파일을 만들어서 넣어주면 된다.
tasks/setup_mod_rpaf.yml이라고 하나 만든다.
---
- name: download package of mod_rpaf
unarchive:
src: 'https://github.com/gnif/mod_rpaf/archive/v{{ rpaf_version }}-rc1.tar.gz'
dest: /home/seungdols/apps/
owner: seungdols
group: seungdols
remote_src: yes
tags:
- mod_rpaf
- download
- name: make install mod_rpaf
make:
chdir: '/home/seungdols/apps/mod_rpaf-{{ rpaf_version }}-rc1'
target: install
tags:
- mod_rpaf
- make_module
- name: finish libtool
command: libtool --finish /home/seungdols/apps/apache/modules/
args:
chdir: '/home/seungdols/apps/mod_rpaf-{{ rpaf_version }}-rc1'
tags:
- mod_rpaf
- libtoolvars/main.yml에는 rpaf_version을 넣어주면 된다.
---
rpaf_version: 0.8.5원래는 role을 이용해 새로 구성하는 것이 좋긴 하지만, apache httpd 셋팅 구성과 함께 해주는 것이 좋기 때문에, 하나의 task로 구성 했다.
그런데, 위의 경로 같은 부분들은 아무래도 각자 상황에 맞게 입력 해주어야 한다. 위의 예시는 회사에서 만든 파일에서 회사 서버들의 경로를 노출 하기가 좀 꺼림칙하여 변경했으므로, 해당 경로는 각자 서버 디렉토리에 맞게 설정을 해야 한다.