2019년 6월 20일 목요일

ansible playbook apache httpd source compile

아파치를 단순 패키지 설치해서 사용 할 수도 있지만,
소스컴파일을 할 경우 ansible playbook 을 만들어 보았다
서버가 웹이 연결된다는 가정 하에 작성하였다.

---
- hosts: localhost
  remote_user: root
  vars_prompt:  # 버전을 선택하기 위해 사용
    - name: version
      prompt: "Please select Apache HTTPD Version Default="
      private: no
      default: 2.4.39

    - name: prefix # 설치 경로를 지정하는 부분
      prompt: "Please select Apache install directory?"
      private: no

  tasks:
  - name: download archive # 파일을 다운로드 하는 부분
    get_url:
      url: http://archive.apache.org/dist/httpd/httpd-{{ version }}.tar.gz
      dest: /tmp/httpd-{{ version }}.tar.gz


  - name: Unarchive /tmp/httpd-{{ version }}.tar.gz # 아카이브 파일을 다운로드 받았다면  아카이브 파일을 푼다.    
      unarchive:
      src: /tmp/httpd-{{ version }}.tar.gz
      dest: /tmp/httpd-{{ version }}

  - name: Apache Source Compile # 소스 컴파일 하는 부분인데 기본적으로 /tmp 경로에 파일을 만든다.


    command: "{{ item }} chdir=/tmp/httpd-{{ version }}"
    with_items:
    - ./configure --prefix={{ prefix }} --enable-expires --enable-headers --enable-mime-magic --enable-proxy --enable-rewrite --enable-so --enable-ssl --enable-vhost-alias
    - /bin/make
    - /bin/make install




서버에 따라 인스톨 과정이 좀 다를 거고, /tmp경로 이외 다른 경로는 하드코딩해야한다.

댓글 없음:

댓글 쓰기