<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Apache Tomcat with Ansible Archives - Linux Windows and android Tutorials</title>
	<atom:link href="https://www.osradar.com/tag/apache-tomcat-with-ansible/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.osradar.com</link>
	<description>tutorials and news and Seurity</description>
	<lastBuildDate>Tue, 14 Jan 2020 08:41:09 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.8.12</generator>
	<item>
		<title>How To Install Apache Tomcat on Ubuntu 18.04 with Ansible</title>
		<link>https://www.osradar.com/how-to-install-apache-tomcat-on-ubuntu-18-04-with-ansible/</link>
					<comments>https://www.osradar.com/how-to-install-apache-tomcat-on-ubuntu-18-04-with-ansible/#respond</comments>
		
		<dc:creator><![CDATA[sabi]]></dc:creator>
		<pubDate>Tue, 14 Jan 2020 08:41:07 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Apache Tomcat with Ansible]]></category>
		<category><![CDATA[How to Install apache Tomcat on Ubuntu]]></category>
		<category><![CDATA[Tomcat installation on ubuntu]]></category>
		<guid isPermaLink="false">https://www.osradar.com/?p=17188</guid>

					<description><![CDATA[<p>What is Apache Tomcat? Apache Tomcat is a free open source HTTP server designed to server Java web pages. Today, we are going to Install Apache Tomcat on our Ubuntu 18.04 LTS. Because standard way of Installing Tomcat on a Linux system is manual &#38; time consuming. As a result we will use another way [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.osradar.com/how-to-install-apache-tomcat-on-ubuntu-18-04-with-ansible/">How To Install Apache Tomcat on Ubuntu 18.04 with Ansible</a> appeared first on <a rel="nofollow" href="https://www.osradar.com">Linux  Windows and android  Tutorials</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h3><strong>What is Apache Tomcat?</strong></h3>



<p>Apache Tomcat is a free open source HTTP server designed to server Java web pages. Today, we are going to Install Apache Tomcat on our Ubuntu 18.04 LTS. Because standard way of Installing Tomcat on a Linux system is manual &amp; time consuming. As a result we will use another way which is more fast and automatic.</p>



<h3><strong>Environment Setup</strong></h3>



<p>You must have Ubuntu 16.04+ system with Systemd service manager. This Ansible installation won&#8217;t work for Upstart.</p>



<h3><strong>Step 1: Install Ansible</strong></h3>



<p>Run the following command to Install Ansible on your system because it is the main dependency.</p>



<pre class="wp-block-verse">sudo apt-get install -y  software-properties-common<br>sudo apt-add-repository --yes --update ppa:ansible/ansible<br>sudo apt-get update<br>sudo apt-get install -y ansible</pre>



<h3><strong>Step 2: Create Ansible folders</strong></h3>



<p>Make a directory for our project.</p>



<pre class="wp-block-verse">mkdir -p ~/projects/ansible/roles<br>cd ~/projects/ansible/roles</pre>



<p>Ansible YAML files will be located in this parent directory.</p>



<h3><strong>Step 3: Create Ansible playbook files</strong></h3>



<p>Now, create ansible roles &amp; tasks as YAML files to orchestrate steps of the manual ordered processes.</p>



<pre class="wp-block-verse">cd ~/projects/ansible/roles<br>mkdir -p tomcat/{tasks,handlers,defaults,vars,templates}</pre>



<ul><li>tasks= contains task files</li><li>handlers= handler files</li><li>defaults= default lower priority variables for this role.</li><li>vars= variables associated with the role</li><li>templates= holds files for use with template resources</li></ul>



<p>You should see the similar</p>



<pre class="wp-block-verse">sabi@Ubuntu:~/projects/ansible$ tree<br> .<br> └── roles<br>     └── tomcat<br>         ├── defaults<br>         ├── handlers<br>         ├── tasks<br>         ├── templates<br>         └── vars</pre>



<h4><strong>Create Setup tasks</strong></h4>



<p>Do the tasks that will complete Tomcat environment.</p>



<pre class="wp-block-verse">nano tomcat/tasks/tomcat-setup-Debian.yml</pre>



<p>Paste the below data into the file.</p>



<pre class="wp-block-verse"> name: Ensure the system can use the HTTPS transport for APT.<br> stat:<br> path: /usr/lib/apt/methods/https<br> register: apt_https_transport<br> name: Install APT HTTPS transport.<br> apt:<br> name: "apt-transport-https"<br> state: present<br> update_cache: yes<br> when: not apt_https_transport.stat.exists<br> name: Install basic packages<br> package:<br> name: ['vim','aptitude','bash-completion','tmux','tree','htop','wget','unzip','curl','git']<br> state: present<br> update_cache: yes<br> name: Install Default Java (Debian/Ubuntu)<br> apt:<br> name: default-jdk<br> state: present<br> name: Add tomcat group<br> group:<br> name: tomcat<br> name: Add "tomcat" user<br> user:<br> name: tomcat<br> group: tomcat<br> home: /usr/share/tomcat<br> createhome: no<br> system: yes<br> name: Download Tomcat<br> get_url:<br> url: "{{ tomcat_archive_url }}"<br> dest: "{{ tomcat_archive_dest }}"<br> name: Create a tomcat directory<br> file:<br> path: /usr/share/tomcat<br> state: directory<br> owner: tomcat<br> group: tomcat<br> name: Extract tomcat archive<br> unarchive:<br> src: "{{ tomcat_archive_dest }}"<br> dest: /usr/share/tomcat<br> owner: tomcat<br> group: tomcat<br> remote_src: yes<br> extra_opts: "--strip-components=1"<br> creates: /usr/share/tomcat/bin<br> name: Copy tomcat service file<br> template:<br> src: templates/tomcat.service.j2<br> dest: /etc/systemd/system/tomcat.service<br> when: ansible_service_mgr == "systemd"<br> name: Start and enable tomcat<br> service:<br> daemon_reload: yes<br> name: tomcat<br> state: started<br> enabled: yes<br> when: ansible_service_mgr == "systemd" </pre>



<h4><strong>Create vars file</strong></h4>



<pre class="wp-block-verse">nano defaults/main.yml</pre>



<pre class="wp-block-verse">...<br> tomcat_ver: 9.0.21<br> tomcat_archive_url: https://archive.apache.org/dist/tomcat/tomcat-9/v{{ tomcat_ver }}/bin/apache-tomcat-{{ tomcat_ver }}.tar.gz<br> tomcat_archive_dest: /tmp/apache-tomcat-{{ tomcat_ver }}.tar.gz</pre>



<p>Check the <a href="https://tomcat.apache.org/download-90.cgi">latest releases page</a> for latest Tomcat.</p>



<p>Then add OS specific variables.</p>



<pre class="wp-block-verse">$ nano tomcat/vars/Debian.yml<br>---<br> JAVA_HOME: /usr/lib/jvm/default-java<br> $ vim tomcat/vars/RedHat.yml<br> JAVA_HOME: /usr/lib/jvm/jre</pre>



<h4><strong>Create Service systemd templates</strong></h4>



<p>Now, add Tomcat systemd service as a template.</p>



<pre class="wp-block-verse">cd templates<br>nano templates/tomcat.service.j2<br>[Unit]<br> Description=Tomcat<br> After=syslog.target network.target<br> [Service]<br> Type=forking<br> User=tomcat<br> Group=tomcat<br> Environment=JAVA_HOME={{ JAVA_HOME }}<br> Environment='JAVA_OPTS=-Djava.awt.headless=true'<br> Environment=CATALINA_HOME=/usr/share/tomcat<br> Environment=CATALINA_BASE=/usr/share/tomcat<br> Environment=CATALINA_PID=/usr/share/tomcat/temp/tomcat.pid<br> ExecStart=/usr/share/tomcat/bin/catalina.sh start<br> ExecStop=/usr/share/tomcat/bin/catalina.sh stop<br> [Install]<br> WantedBy=multi-user.target</pre>



<p>Add the same data to file &amp; save it.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" width="732" height="489" src="//1723336065.rsc.cdn77.org/wp-content/uploads/2019/12/systemd-files.jpg" alt="" class="wp-image-17359" srcset="https://www.osradar.com/wp-content/uploads/2019/12/systemd-files.jpg 732w, https://www.osradar.com/wp-content/uploads/2019/12/systemd-files-300x200.jpg 300w, https://www.osradar.com/wp-content/uploads/2019/12/systemd-files-696x465.jpg 696w, https://www.osradar.com/wp-content/uploads/2019/12/systemd-files-629x420.jpg 629w" sizes="(max-width: 732px) 100vw, 732px" /></figure></div>



<h4><strong>Add Handler</strong></h4>



<pre class="wp-block-verse">nano handlers/main.yml<br><strong>##Add the data into file</strong> <br> name: restart tomcat<br> service:<br> name: tomcat<br> state: restarted </pre>



<h4><strong>Define Playbook execution file</strong></h4>



<p>Playbook file defines roles to be executed &amp; on which instances.</p>



<pre class="wp-block-verse">cd ~/ansible/<br>nano tomcat-setup.yml</pre>



<pre class="wp-block-verse"> name: Tomcat deployment playbook hosts: app-servers become: yes become_method: sudo remote_user: vagrant roles: tomcat </pre>



<p>Replace <strong>app-servers</strong> with the server IP address or hostname or server group defined in the inventory file. This can be a custom file such as hosts in the project directory, or global inventory file <strong>-/etc/ansible/hosts.</strong></p>



<pre class="wp-block-verse">sudo nano /etc/ansible/hosts</pre>



<pre class="wp-block-verse">cat /etc/ansible/hosts</pre>



<p>See the example</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" width="734" height="483" src="//1723336065.rsc.cdn77.org/wp-content/uploads/2019/12/file-etc-save.jpg" alt="" class="wp-image-17361" srcset="https://www.osradar.com/wp-content/uploads/2019/12/file-etc-save.jpg 734w, https://www.osradar.com/wp-content/uploads/2019/12/file-etc-save-300x197.jpg 300w, https://www.osradar.com/wp-content/uploads/2019/12/file-etc-save-696x458.jpg 696w, https://www.osradar.com/wp-content/uploads/2019/12/file-etc-save-638x420.jpg 638w" sizes="(max-width: 734px) 100vw, 734px" /></figure></div>



<p>See the final structure of folder.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" width="619" height="422" src="//1723336065.rsc.cdn77.org/wp-content/uploads/2019/12/final-result-of-projects-ansible.jpg" alt="" class="wp-image-17362" srcset="https://www.osradar.com/wp-content/uploads/2019/12/final-result-of-projects-ansible.jpg 619w, https://www.osradar.com/wp-content/uploads/2019/12/final-result-of-projects-ansible-300x205.jpg 300w, https://www.osradar.com/wp-content/uploads/2019/12/final-result-of-projects-ansible-218x150.jpg 218w, https://www.osradar.com/wp-content/uploads/2019/12/final-result-of-projects-ansible-616x420.jpg 616w" sizes="(max-width: 619px) 100vw, 619px" /></figure></div>



<h3><strong>Step 4: Execute Playbook</strong></h3>



<p>Now it&#8217;s time to execute our Playbook.</p>



<pre class="wp-block-verse">cd ~/projects/ansible<br>ansible-playbook setup-tomcat.yml</pre>



<pre class="wp-block-verse">PLAY [Tomcat deployment playbook] *<br> TASK [Gathering Facts] <br> ok: [server1]<br> ok: [server2]<br> TASK [tomcat : include_tasks] <strong>*</strong><br> included: /home/jmutai/projects/ansible/roles/tomcat/tasks/tomcat-RedHat.yml for server1<br> included: /home/jmutai/projects/ansible/roles/tomcat/tasks/tomcat-Debian.yml for server2<br> TASK [tomcat : Set Server timezone] *<br> changed: [server1]<br> TASK [tomcat : Add EPEL repository to CentOS] ***<br> changed: [server1]<br> TASK [tomcat : Install basic packages] **<br> changed: [server1]<br> TASK [tomcat : Install Java 8 CentOS] ***<br> changed: [server1]<br> TASK [tomcat : Add tomcat group] **<br> changed: [server1]<br> TASK [tomcat : Add "tomcat" user] *<br> changed: [server1]<br> TASK [tomcat : Download Tomcat] ***<br> changed: [server1]<br> TASK [tomcat : Create a tomcat directory] <strong><em>*</em></strong><br> changed: [server1]<br> TASK [tomcat : Extract tomcat archive] **<br> changed: [server1]<br> TASK [tomcat : Copy tomcat service file] <br> changed: [server1]<br> TASK [tomcat : Start and enable tomcat] *<br> changed: [server1]<br> TASK [tomcat : Start and enable firewalld] <br> changed: [server1]<br> TASK [tomcat : Open tomcat port on the firewall] <br> changed: [server1]<br> TASK [tomcat : Set Server timezone] *<br> changed: [server2]<br> TASK [tomcat : Ensure the system can use the HTTPS transport for APT.] <br> ok: [server2]<br> TASK [tomcat : Install APT HTTPS transport.] ****<br> skipping: [server2]<br> TASK [tomcat : Install basic packages] **<br>  [WARNING]: Could not find aptitude. Using apt-get instead<br> changed: [server2]<br> TASK [tomcat : Install Default Java (Debian/Ubuntu)] **<br> changed: [server2]<br> TASK [tomcat : Add tomcat group] **<br> changed: [server2]<br> TASK [tomcat : Add "tomcat" user] *<br> changed: [server2]<br> TASK [tomcat : Download Tomcat] ***<br> changed: [server2]<br> TASK [tomcat : Create a tomcat directory] <strong><em>*</em></strong><br> changed: [server2]<br> TASK [tomcat : Extract tomcat archive] **<br> changed: [server2]<br> TASK [tomcat : Copy tomcat service file] <br> changed: [server2]<br> TASK [tomcat : Start and enable tomcat] *<br> changed: [server2]<br> PLAY RECAP **<br> server1                    : ok=14   changed=0    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0   <br> server2                    : ok=13   changed=5    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0   </pre>



<p>Test your Installation &amp; configuration by visiting URL on port <strong>8080</strong></p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" width="734" height="281" src="//1723336065.rsc.cdn77.org/wp-content/uploads/2019/12/apache-tomcat.jpg" alt="" class="wp-image-17363" srcset="https://www.osradar.com/wp-content/uploads/2019/12/apache-tomcat.jpg 734w, https://www.osradar.com/wp-content/uploads/2019/12/apache-tomcat-300x115.jpg 300w, https://www.osradar.com/wp-content/uploads/2019/12/apache-tomcat-696x266.jpg 696w" sizes="(max-width: 734px) 100vw, 734px" /></figure></div>
<p>The post <a rel="nofollow" href="https://www.osradar.com/how-to-install-apache-tomcat-on-ubuntu-18-04-with-ansible/">How To Install Apache Tomcat on Ubuntu 18.04 with Ansible</a> appeared first on <a rel="nofollow" href="https://www.osradar.com">Linux  Windows and android  Tutorials</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.osradar.com/how-to-install-apache-tomcat-on-ubuntu-18-04-with-ansible/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
