ansible - Tomcat 설치 > Ansible 자료실

본문 바로가기

사이트 내 전체검색

뒤로가기 Ansible 자료실

실습 ansible - Tomcat 설치

페이지 정보

작성자 snow 작성일 25-03-28 17:22 조회 2,561 댓글 0

본문

1. Ansible로 Tomcat 최신 버전 설치하기

이 게시글에서는 Ansible로 Tomcat 최신 버전 설치에 대한 예시만 안내드리는 글입니다.

2. Playbook

```yaml

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
---
- name: Setup Apache Tomcat on RedHat-based system
  hosts: all
  become: yes
 
  vars:
    admin_username: "admin"
    admin_password: "admin_pass"
    tomcat_version: "10.1.39"
    tomcat_archive: "apache-tomcat-10.1.39.tar.gz"
    tomcat_install_dir: "/opt"
    tomcat_symlink: "/usr/share/tomcat"
    tomcat_extracted_dir: "/opt/apache-tomcat-7.0.61"  # creates 조건 때문에 필요
    tomcat_actual_dir: "/opt/apache-tomcat-10.1.39"
 
  tasks:
    # OpenJDK 11 설치
    - name: Install OpenJDK 11
      yum:
        name: java-11-openjdk-devel
        state: present
 
    # tomcat 그룹 생성
    - name: Add group "tomcat"
      group:
        name: tomcat
 
    # tomcat 사용자 생성 (home 디렉토리 생성 안함)
    - name: Add user "tomcat"
      user:
        name: tomcat
        group: tomcat
        home: /usr/share/tomcat
        create_home: no
 
    # Tomcat tar.gz 파일 다운로드
    - name: Download Tomcat archive
      get_url:
        url: "https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.39/bin/{{ tomcat_archive }}"
        dest: "{{ tomcat_install_dir }}/{{ tomcat_archive }}"
 
    # Tomcat 압축 해제
    - name: Extract Tomcat archive
      command: >
        /bin/tar xvf {{ tomcat_install_dir }}/{{ tomcat_archive }} -C {{ tomcat_install_dir }}
      args:
        chdir: /usr/share
        creates: "{{ tomcat_extracted_dir }}"
 
    # 심볼릭 링크 생성 (/usr/share/tomcat → 실제 설치 경로)
    - name: Create symbolic link to Tomcat directory
      file:
        src: "{{ tomcat_actual_dir }}"
        path: "{{ tomcat_symlink }}"
        state: link
 
    # Tomcat 디렉토리의 소유자/그룹을 tomcat으로 변경
    - name: Change ownership of Tomcat directory
      file:
        path: "{{ tomcat_symlink }}/"
        owner: tomcat
        group: tomcat
        state: directory
        recurse: yes
 
    # 기존 tomcat-users.xml 백업
    - name: Backup original tomcat-users.xml
      copy:
        src: "{{ tomcat_symlink }}/conf/tomcat-users.xml"
        dest: "{{ tomcat_symlink }}/conf/tomcat-users.xml.origin"
        remote_src: yes
        mode: '0644'
 
    # tomcat-users.xml 설정 (관리자 계정 추가)
    - name: Configure Tomcat users
      copy:
        dest: "{{ tomcat_symlink }}/conf/tomcat-users.xml"
        content: |
          <?xml version='1.0' encoding='utf-8'?>
          <tomcat-users>
            <user username="{{ admin_username }}" password="{{ admin_password }}" roles="manager-gui" />
          </tomcat-users>
        owner: root
        group: root
        mode: '0644'
 
    # Tomcat systemd 서비스 유닛 생성
    - name: Create Tomcat systemd service unit
      copy:
        dest: /etc/systemd/system/tomcat.service
        owner: root
        group: root
        mode: '0644'
        content: |
          [Unit]
          Description=Apache Tomcat Web Application Container
          After=network.target
 
          [Service]
          Type=forking
 
          Environment=JAVA_HOME=/usr/lib/jvm/jre
          Environment=CATALINA_PID=/usr/share/tomcat/temp/tomcat.pid
          Environment=CATALINA_HOME=/usr/share/tomcat
          Environment=CATALINA_BASE=/usr/share/tomcat
 
          ExecStart=/usr/share/tomcat/bin/startup.sh
          ExecStop=/usr/share/tomcat/bin/shutdown.sh
 
          User=tomcat
          Group=tomcat
          UMask=0007
          RestartSec=10
          Restart=always
 
          [Install]
          WantedBy=multi-user.target
 
    # Tomcat 서비스 시작 및 부팅 시 자동 시작 설정
    - name: Start and enable Tomcat service
      service:
        name: tomcat
        state: started
        enabled: yes
 
    # 방화벽 규칙 추가 (HTTP - 8080 포트 허용)
    - name: Allow port 8080/tcp in firewalld (HTTP)
      firewalld:
        port: 8080/tcp
        permanent: true
        state: enabled
        immediate: yes
      when: ansible_os_family == "RedHat" and ansible_distribution_major_version | int >= 7
 
    # 방화벽 규칙 추가 (HTTPS - 8443 포트 허용)
    - name: Allow port 8443/tcp in firewalld (HTTPS)
      firewalld:
        port: 8443/tcp
        permanent: true
        state: enabled
        immediate: yes
      when: ansible_os_family == "RedHat" and ansible_distribution_major_version | int >= 7
 
    # Tomcat 서버 시작 대기 (포트 8080 응답 대기)
    - name: Wait for Tomcat to start
      wait_for:
        port: 8080
cs

```

댓글목록 0

등록된 댓글이 없습니다.

Copyright © 소유하신 도메인. All rights reserved.

사이트 정보

회사명 : (주)리눅스데이타시스템 / 대표 : 정정모
서울본사 : 서울특별시 강남구 봉은사로 114길 40 홍선빌딩 2층 / tel : 02-6207-1160
대전지사 : 대전광역시 유성구 노은로174 도원프라자 5층 / tel : 042-331-1161

PC 버전으로 보기