sample.war를 배포하는 Tomcat 서버를 playbook으로 구축하라.
[root@vagrant nfs]# mkdir /tomcat
[root@vagrant nfs]# cd /tomcat
[root@vagrant tomcat]# vi tomcat_inven.txt
[tomcat]
192.168.122.2
[root@vagrant tomcat]# vi tomcat.yml
```yaml
---
- name: tomcat setup
hosts: tomcat
gather_facts: no
become: yes
tasks:
- name: disable selinux
shell: setenforce 0
- name: stop firewalld
service:
name: firewalld
state: stopped
enabled: false
- name: install openjdk
yum:
name: java-1.8.0-openjdk
state: present
- name: install tomcat
get_url:
url: <http://dlcdn.apache.org/tomcat/tomcat-10/v10.0.27/bin/apache-tomcat-10.0.27.tar.gz>
dest: /root/tomcat.tar.gz
- name: make tomcat dir
file:
path: /root/tomcat
state: directory
- name: unarchive
unarchive:
src: /root/tomcat.tar.gz
dest: /root/tomcat
remote_src: yes
extra_opts: [--strip-components=1]
```
그냥 압축 풀면 `/root/tomcat/apache…/file1…`과 같이 경로가 길어진다.
`[--strip-components=1]` 옵션은 상위 디렉토리 하나를 무시한다.
즉 `apache…` 하위가 아닌 `/root/tomcat/` 하위에 바로 압축이 풀리게 된다.
[root@vagrant tomcat]# wget <https://tomcat.apache.org/tomcat-7.0-doc/appdev/sample/sample.war>
[root@vagrant tomcat]# wget <https://tomcat.apache.org/tomcat-7.0-doc/appdev/sample/sample.war>
--2022-12-18 22:43:56-- <https://tomcat.apache.org/tomcat-7.0-doc/appdev/sample/sample.war>
Resolving tomcat.apache.org (tomcat.apache.org)... 151.101.2.132, 2a04:4e42::644
Connecting to tomcat.apache.org (tomcat.apache.org)|151.101.2.132|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4606 (4.5K)
Saving to: ‘sample.war’
100%[==================================================>] 4,606 --.-K/s in 0s
2022-12-18 22:43:56 (77.1 MB/s) - ‘sample.war’ saved [4606/4606]
vi
- name: copy sample.war
copy:
src: ./sample.war
dest: /root/tomcat/webapps/sample.war
- name: chmod startup.sh
file:
path: /root/tomcat/bin/startup.sh
mode: 0777
- name: start tomcat
shell: nohup /root/tomcat/bin/startup.sh #No Hang UP
위 내용을 추가한다.
VM에서 Firefox 켜고 192.168.122.2 접속해서 확인 ㄱㄱ