Showing posts with label CentOS. Show all posts
Showing posts with label CentOS. Show all posts

How to install multiple instance of Tomcat 8 in CentOS?

For installing the Tomcat 8 we need JDK1.7, for more details must see bellow email:





1. Verifying, Installing and Configuring Java

java -version

[root@vagrant-centos65 tomcats]# java -version
java version "1.7.0_95"

To install on CentOS/RHEL 7 Distribution:

[root@vagrant-centos65 tomcats]# yum install java-1.7.0-openjdk

2. Downloading Tomcat 8

http://mirror.ox.ac.uk/sites/rsync.apache.org/tomcat/tomcat-8/v8.0.32/bin/apache-tomcat-8.0.32.tar.gz

[root@vagrant-centos65 tomcats]#wget http://mirror.ox.ac.uk/sites/rsync.apache.org/tomcat/tomcat-8/v8.0.32/bin/apache-tomcat-8.0.32.tar.gz

[root@vagrant-centos65 tomcats]#tar -zxvf apache-tomcat-8.0.32.tar.gz

3. Running Tomcat 8

cd ~/bin
./startup.sh

4. Setup user accounts
vi ~/conf/tomcat-users.xml

<role rolename="manager-gui"/>
<user username="vinod" password="pwd" roles="manager-gui"/>

<role rolename="admin-gui"/>
<user username="admin" password="admin" roles="manager-gui, admin-gui"/>

cd ~/bin
./shutdown.sh
./startup.sh

6. Verify tomcat by URL http://localhost:9001/manager/
Tomcat Multiple Installation In CentOS with Example 9001

For second and other instance you have to just do as mention bellow:

tar -zxvf apache-tomcat-8.0.32.tar.gz -C /yournewdirname/

vi ~/conf/tomcat-users.xml

<role rolename="manager-gui"/>
<user username="vinod" password="pwd" roles="manager-gui"/>

<role rolename="admin-gui"/>
<user username="admin" password="admin" roles="manager-gui, admin-gui"/>

Change the port in server.xml file, if port conflict there then change the other value:

<?xml version='1.0' encoding='utf-8'?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!-- Note:  A "Server" is not itself a "Container", so you may not
     define subcomponents such as "Valves" at this level.
     Documentation at /docs/config/server.html
 -->
<Server port="8051" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <!-- Security listener. Documentation at /docs/config/listeners.html
  <Listener className="org.apache.catalina.security.SecurityListener" />
  -->
  <!--APR library loader. Documentation at /docs/apr.html -->
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <!-- Prevent memory leaks due to use of particular java/javax APIs-->
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <!-- Global JNDI resources
       Documentation at /docs/jndi-resources-howto.html
  -->
  <GlobalNamingResources>
    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users
    -->
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>

  <!-- A "Service" is a collection of one or more "Connectors" that share
       a single "Container" Note:  A "Service" is not itself a "Container",
       so you may not define subcomponents such as "Valves" at this level.
       Documentation at /docs/config/service.html
   -->
  <Service name="Catalina">

    <!--The connectors can use a shared executor, you can define one or more named thread pools-->
    <!--
    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
        maxThreads="150" minSpareThreads="4"/>
    -->


    <!-- A "Connector" represents an endpoint by which requests are received
         and responses are returned. Documentation at :
         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
         Java AJP  Connector: /docs/config/ajp.html
         APR (HTTP/AJP) Connector: /docs/apr.html
         Define a non-SSL/TLS HTTP/1.1 Connector on port 8091
    -->
    <Connector port="9001" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8491" />
    <!-- A "Connector" using the shared thread pool-->
    <!--
    <Connector executor="tomcatThreadPool"
               port="9001" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8491" />
    -->
    <!-- Define a SSL/TLS HTTP/1.1 Connector on port 8491
         This connector uses the NIO implementation that requires the JSSE
         style configuration. When using the APR/native implementation, the
         OpenSSL style configuration is required as described in the APR/native
         documentation -->
    <!--
    <Connector port="8491" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />
    -->

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="2001" protocol="AJP/1.3" redirectPort="8491" />


    <!-- An Engine represents the entry point (within Catalina) that processes
         every request.  The Engine implementation for Tomcat stand alone
         analyzes the HTTP headers included with the request, and passes them
         on to the appropriate Host (virtual host).
         Documentation at /docs/config/engine.html -->

    <!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
    -->
    <Engine name="Catalina" defaultHost="localhost">

      <!--For clustering, please take a look at documentation at:
          /docs/cluster-howto.html  (simple how to)
          /docs/config/cluster.html (reference documentation) -->
      <!--
      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
      -->

      <!-- Use the LockOutRealm to prevent attempts to guess user passwords
           via a brute-force attack -->
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <!-- This Realm uses the UserDatabase configured in the global JNDI
             resources under the key "UserDatabase".  Any edits
             that are performed against this UserDatabase are immediately
             available for use by the Realm.  -->
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
    </Engine>
  </Service>
</Server>

cd ~/bin
./startup.sh

Verify tomcat by URL http://localhost:9002/manager/

Tomcat Multiple Installation In CentOS with Example 9002



Please must see video for more details.

Like and share it!!!

How to install/uninstall GIT in CentOS6.5 by yum command


In this tutorials we learn how to install git in CentOS 6.5 with help of yum command:

Requirement:
CentOS 6.5
Internet connectivity
Root level access
Basic knowledge of Unix command



Let's start





[root@vagrant-centos65 vagrant]# yum install git-all
Loaded plugins: fastestmirror, versionlock
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: centos.mirroring.pulsant.co.uk
 * epel: mir01.syntis.net
 * extras: anorien.csc.warwick.ac.uk
 * updates: centos.serverspace.co.uk
Resolving Dependencies
--> Running transaction check
---> Package git-all.noarch 0:1.7.1-3.el6_4.1 will be installed
--> Processing Dependency: perl-Git = 1.7.1-3.el6_4.1 for package: git-all-1.7.1-3.el6_4.1.noarch
--> Processing Dependency: gitk = 1.7.1-3.el6_4.1 for package: git-all-1.7.1-3.el6_4.1.noarch
--> Processing Dependency: git-svn = 1.7.1-3.el6_4.1 for package: git-all-1.7.1-3.el6_4.1.noarch
--> Processing Dependency: git-gui = 1.7.1-3.el6_4.1 for package: git-all-1.7.1-3.el6_4.1.noarch
--> Processing Dependency: git-email = 1.7.1-3.el6_4.1 for package: git-all-1.7.1-3.el6_4.1.noarch
--> Processing Dependency: git-cvs = 1.7.1-3.el6_4.1 for package: git-all-1.7.1-3.el6_4.1.noarch
--> Processing Dependency: git = 1.7.1-3.el6_4.1 for package: git-all-1.7.1-3.el6_4.1.noarch
--> Processing Dependency: emacs-git = 1.7.1-3.el6_4.1 for package: git-all-1.7.1-3.el6_4.1.noarch
--> Running transaction check
---> Package emacs-git.noarch 0:1.7.1-3.el6_4.1 will be installed
---> Package git.x86_64 0:1.7.1-3.el6_4.1 will be installed
---> Package git-cvs.noarch 0:1.7.1-3.el6_4.1 will be installed
---> Package git-email.noarch 0:1.7.1-3.el6_4.1 will be installed
---> Package git-gui.noarch 0:1.7.1-3.el6_4.1 will be installed
---> Package git-svn.noarch 0:1.7.1-3.el6_4.1 will be installed
---> Package gitk.noarch 0:1.7.1-3.el6_4.1 will be installed
---> Package perl-Git.noarch 0:1.7.1-3.el6_4.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

======================================================================================================================================================

 Package                             Arch                             Version                                    Repository                      Size
======================================================================================================================================================

Installing:
 git-all                             noarch                           1.7.1-3.el6_4.1                            base                            16 k
Installing for dependencies:
 emacs-git                           noarch                           1.7.1-3.el6_4.1                            base                            40 k
 git                                 x86_64                           1.7.1-3.el6_4.1                            base                           4.6 M
 git-cvs                             noarch                           1.7.1-3.el6_4.1                            base                            84 k
 git-email                           noarch                           1.7.1-3.el6_4.1                            base                            41 k
 git-gui                             noarch                           1.7.1-3.el6_4.1                            base                           216 k
 git-svn                             noarch                           1.7.1-3.el6_4.1                            base                            95 k
 gitk                                noarch                           1.7.1-3.el6_4.1                            base                           132 k
 perl-Git                            noarch                           1.7.1-3.el6_4.1                            base                            28 k

Transaction Summary
======================================================================================================================================================

Install       9 Package(s)

Total download size: 5.2 M
Installed size: 17 M
Is this ok [y/N]: y
Downloading Packages:
(1/9): emacs-git-1.7.1-3.el6_4.1.noarch.rpm                                                                                    |  40 kB     00:00

(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (2%)  2% [=                                               ]  0.0 B/s | 109 kB     --:-- ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (5%)  5% [==-                                             ] 228 kB/s | 255 kB     00:19 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (9%)  9% [====-                                           ] 258 kB/s | 471 kB     00:16 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (12%) 13% [======-                                        ] 279 kB/s | 656 kB     00:14 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (16%) 17% [========                                       ] 296 kB/s | 826 kB     00:13 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (19%) 20% [=========-                                     ] 310 kB/s | 986 kB     00:12 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (22%) 24% [===========-                                   ] 327 kB/s | 1.1 MB     00:10 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (25%) 27% [=============                                  ] 338 kB/s | 1.3 MB     00:10 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (28%) 31% [==============-                                ] 353 kB/s | 1.5 MB     00:09 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (32%) 35% [================-                              ] 368 kB/s | 1.6 MB     00:08 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (35%) 39% [==================                             ] 379 kB/s | 1.8 MB     00:07 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (38%) 42% [====================                           ] 392 kB/s | 2.0 MB     00:06 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (41%) 46% [======================                         ] 404 kB/s | 2.2 MB     00:06 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (45%) 50% [=======================-                       ] 416 kB/s | 2.3 MB     00:05 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (47%) 52% [========================-                      ] 411 kB/s | 2.4 MB     00:05 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (50%) 56% [==========================-                    ] 421 kB/s | 2.6 MB     00:04 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (53%) 60% [============================                   ] 431 kB/s | 2.8 MB     00:04 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (56%) 63% [==============================                 ] 440 kB/s | 2.9 MB     00:03 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (60%) 67% [===============================-               ] 450 kB/s | 3.1 MB     00:03 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (63%) 71% [=================================-             ] 458 kB/s | 3.3 MB     00:02 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (67%) 75% [===================================            ] 467 kB/s | 3.5 MB     00:02 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (69%) 78% [====================================-          ] 469 kB/s | 3.6 MB     00:02 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (73%) 82% [======================================-        ] 476 kB/s | 3.8 MB     00:01 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (76%) 86% [========================================       ] 481 kB/s | 4.0 MB     00:01 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (79%) 89% [==========================================     ] 484 kB/s | 4.1 MB     00:01 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (81%) 91% [==========================================-    ] 472 kB/s | 4.2 MB     00:00 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (84%) 95% [=============================================  ] 484 kB/s | 4.4 MB     00:00 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                     (87%) 99% [==============================================-] 487 kB/s | 4.6 MB     00:00 ETA
(2/9): git-1.7.1-3.el6_4.1.x86_64.rpm                                                                                          | 4.6 MB     00:08

(3/9): git-all-1.7.1-3.el6_4.1.noarch.rpm                                                                                      |  16 kB     00:00

(4/9): git-cvs-1.7.1-3.el6_4.1.noarch.rpm                                                                                      |  84 kB     00:00

(5/9): git-email-1.7.1-3.el6_4.1.noarch.rpm                                                                                    |  41 kB     00:00

(6/9): git-gui-1.7.1-3.el6_4.1.noarch.rpm                 (92%) 41% [===================                            ]  0.0 B/s |  89 kB     --:-- ETA
(6/9): git-gui-1.7.1-3.el6_4.1.noarch.rpm                 (95%) 97% [=============================================- ] 118 kB/s | 210 kB     00:00 ETA
(6/9): git-gui-1.7.1-3.el6_4.1.noarch.rpm                 (95%) 99% [==============================================-] 111 kB/s | 214 kB     00:00 ETA
(6/9): git-gui-1.7.1-3.el6_4.1.noarch.rpm                                                                                      | 216 kB     00:01

(7/9): git-svn-1.7.1-3.el6_4.1.noarch.rpm                 (96%) 89% [==========================================     ]  0.0 B/s |  85 kB     --:-- ETA
(7/9): git-svn-1.7.1-3.el6_4.1.noarch.rpm                                                                                      |  95 kB     00:00

(8/9): gitk-1.7.1-3.el6_4.1.noarch.rpm                    (98%) 77% [====================================           ]  0.0 B/s | 102 kB     --:-- ETA
(8/9): gitk-1.7.1-3.el6_4.1.noarch.rpm                                                                                         | 132 kB     00:00

(9/9): perl-Git-1.7.1-3.el6_4.1.noarch.rpm                                                                                     |  28 kB     00:00

------------------------------------------------------------------------------------------------------------------------------------------------------

Total                                                                                                                 295 kB/s | 5.2 MB     00:18

Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : git-1.7.1-3.el6_4.1.x86_64                                                                                                         1/9

  Installing : perl-Git-1.7.1-3.el6_4.1.noarch                                                                                                    2/9

  Installing : gitk-1.7.1-3.el6_4.1.noarch                                                                                                        3/9

  Installing : git-gui-1.7.1-3.el6_4.1.noarch                                                                                                     4/9

  Installing : git-svn-1.7.1-3.el6_4.1.noarch                                                                                                     5/9

  Installing : git-email-1.7.1-3.el6_4.1.noarch                                                                                                   6/9

  Installing : git-cvs-1.7.1-3.el6_4.1.noarch                                                                                                     7/9

  Installing : emacs-git-1.7.1-3.el6_4.1.noarch                                                                                                   8/9

  Installing : git-all-1.7.1-3.el6_4.1.noarch                                                                                                     9/9

  Verifying  : perl-Git-1.7.1-3.el6_4.1.noarch                                                                                                    1/9

  Verifying  : git-svn-1.7.1-3.el6_4.1.noarch                                                                                                     2/9

  Verifying  : git-email-1.7.1-3.el6_4.1.noarch                                                                                                   3/9

  Verifying  : git-gui-1.7.1-3.el6_4.1.noarch                                                                                                     4/9

  Verifying  : emacs-git-1.7.1-3.el6_4.1.noarch                                                                                                   5/9

  Verifying  : git-1.7.1-3.el6_4.1.x86_64                                                                                                         6/9

  Verifying  : gitk-1.7.1-3.el6_4.1.noarch                                                                                                        7/9

  Verifying  : git-cvs-1.7.1-3.el6_4.1.noarch                                                                                                     8/9

  Verifying  : git-all-1.7.1-3.el6_4.1.noarch                                                                                                     9/9


Installed:
  git-all.noarch 0:1.7.1-3.el6_4.1


Dependency Installed:
  emacs-git.noarch 0:1.7.1-3.el6_4.1    git.x86_64 0:1.7.1-3.el6_4.1        git-cvs.noarch 0:1.7.1-3.el6_4.1    git-email.noarch 0:1.7.1-3.el6_4.1
  git-gui.noarch 0:1.7.1-3.el6_4.1      git-svn.noarch 0:1.7.1-3.el6_4.1    gitk.noarch 0:1.7.1-3.el6_4.1       perl-Git.noarch 0:1.7.1-3.el6_4.1

Complete!
[root@vagrant-centos65 vagrant]#

Reference: git

How To Install Apache Tomcat 7 on CentOS 6.5 by Yum


Video: clickMe

Install Tomcat
1. yum install tomcat or sudo yum install tomcat
2. /usr/share/tomcat
3. vi /usr/share/tomcat/conf/tomcat.conf
4. JAVA_OPTS > -Xmx500m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC
Install Admin Packages
1. sudo yum install tomcat-webapps tomcat-admin-webapps
2. sudo vi /usr/share/tomcat/conf/tomcat-users.xml
3. Add
    <tomcat-users>
    <user username="tutorialbyexample" password="vinod"    roles="manager-gui,admin-gui"/>
     </tomcat-users>
or

Un comment the commented user and role

or

Replace the file content by below:

<?xml version='1.0' encoding='utf-8'?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<tomcat-users>
<!--
  NOTE:  By default, no user is included in the "manager-gui" role required
  to operate the "/manager/html" web application.  If you wish to use this app,
  you must define such a user - the username and password are arbitrary.
-->
<!--
  NOTE:  The sample user and role entries below are wrapped in a comment
  and thus are ignored when reading this file. Do not forget to remove
  <!.. ..> that surrounds them.
-->

  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>


 <role rolename="admin"/>
 <role rolename="admin-gui"/>
 <role rolename="admin-script"/>
 <role rolename="manager"/>
 <role rolename="manager-gui"/>
<role rolename="manager-script"/>
 <role rolename="manager-jmx"/>
 <role rolename="manager-status"/>
<user name="admin" password="adminadmin" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />
</tomcat-users>


4. Start tomcat /etc/init.d/tomcat start
5. Access the Web Interface
    http://server_IP_address:8080 or  http://127.0.0.1:8080




How to install Apache 2 httpd in CentOS6.5 and sample example with html file


How to install Apache 2 httpd in CentOS6.5 and sample example with html file



Assumption, Installed:
CentOS
Putty
Internet connected or rpm download

How to install Apache 2 in CentOS
1. yum install httpd
2. start the apache > /etc/init.d/httpd start
3. abc.html for small demo
4. Run in any browser
5. Output


Please like and share it!

Ansible, Centos65, Oracle VirtualBox, Vagrant and Provision

In Agile age, can't wait for environment’s (Development, Test, SIT and Pre-Prod and Prod) in place for start the development and configuration. What we need, just single windows system, where we can start provisioning with below tools and technologies. This will help more in Continues Development CD, Continues Integration CI and Continues Delivery CD.



Ansible centos virtualbox vagrant and provision
Ansible centos virtualbox vagrant and provision














Let’s discussed how it will possible:

Pre-quest:
Windows 7 OS 64
Install the Oracle VM VirtualBox  or any VM more
Install Vagrant more
Download Centos box more
Install ansible
Install Git Bash more

Open the Git Base
Windows Start > All Programs > Git > Git Base

Welcome to Git (version 1.9.5-preview20150319)

 Run 'git help git' to display the help index.
 Run 'git help <command>' to display help for specific commands.
 tutorialbyexample@WS7 ~

Crete the directory vagrant-ansible-centos under c:\
e.g. c:\vagrant-ansible-centos

Download it from https://github.com/tutorialbyexample/vagrant-ansible-centos.git


















c:\vagrant-ansible-centos
  - provision.sh
  - Vagrantfile 
  - centos65-x86_64-20140116.box
  - etc 
        -  ansible
                    - web.yml
                    - site.yml
                    - roles
                             - git
                                   - tasks
                                            - main.yml
                             - tar
                                   - tasks
                                            - main.yml
                             - zip
                                   - tasks
                                            - main.yml
  - inventory
        - dev 

Pest the all files under c:\vagrant-ansible-centos
1. Vagrantfile (no any extension)
#C:\vagrant-ansible-centos\Vagrantfile
# Vagrantfile Details
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "centos6"
  config.vm.provider "virtualbox" do |vb|
    vb.customize ["modifyvm", :id, "--memory", "5000", "--cpus", "2"]
  end
  config.vm.synced_folder ".", "/vagrant-ansible-centos"
  
end

2. provision.sh
#C:\vagrant-ansible-centos\provision.sh
cp -rf /vagrant-ansible-centos/inventory /tmp
chmod -x /tmp/inventory/*
sudo ansible-playbook -vvvv -i /tmp/inventory/$1 /vagrant-ansible-centos/etc/ansible/site.yml --extra-vars 'proxy_host="proxy_host" proxy_port="80" proxy_username="tutorialbyexample" proxy_password="password" proxy_required=true'
#sudo ansible-playbook -vvvv -i /tmp/inventory/$1 /vagrant-ansible-centos/etc/ansible/site.yml

3. dev (no extensions)
#C:\vagrant-ansible-centos\inventory
local ansible_ssh_port=2200 ansible_ssh_host=127.0.0.1 ansible_connection=local

[web-servers]
local

4. web.yml
#C:\vagrant-ansible-centos\etc\ansible\web.yml
---  
- hosts: web-servers
  remote_user: root
  sudo: yes
  roles:
    - zip
    - tar
    - git

5. site.yml 
#C:\vagrant-ansible-centos\etc\ansible\site.yml
---
- include: web.yml

6. main.yml (this is for git)
#C:\vagrant-ansible-centos\etc\ansible\roles\git\tasks\main.yml
---
- name: Install Git
  yum: name={{ item }} state=present
  with_items:
    - git
    - git-svn

7. main.yml (this is for tar)
#C:\vagrant-ansible-centos\etc\ansible\roles\tar\tasks\main.yml
---
- name: Install tar 
  yum: name=tar state=present  

8. main.yml (this is for zip)
#C:\vagrant-ansible-centos\etc\ansible\roles\zip\tasks\main.yml
---
- name: Install zip/unzip util
  yum: name={{ item }} state=present
  with_items:
    - "zip"
    - "unzip"

Need to switch our base tool to vagrant-ansible-centos directory
$ cd C:\vagrant-ansible-centos

$ pwd
/c/vagrant-ansible-centos

$ ls -tlr
centos65-x86_64-20140116.box
inventory
etc
provision.sh
Vagrantfile

Note: assuming centos65-x86_64-20140116.box has been downloaded under c:\vagrant-ansible-centos

$ vagrant box add centos6 centos65-x86_64-20140116.box
Downloading or copying the box...
Extracting box...ate: 2005k/s, Estimated time remaining: --:--:--)
Successfully added box 'centos6' with provider 'virtualbox'!

Note: You will experiences new folder created under /c/vagrant-ansible-centos with name .vagrant



$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Importing base box 'centos6'...
[default] Matching MAC address for NAT networking...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
[default] Fixed port collision for 22 => 2222. Now on port 2200.
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2200 (adapter 1)
[default] Running 'pre-boot' VM customizations...
[default] Booting VM...
[default] Waiting for machine to boot. This may take a few minutes...
[default] Machine booted and ready!
[default] Mounting shared folders...
[default] -- /vagrant
[default] -- /vagrant-ansible-centos
[default] Configuring proxy environment variables...
[default] Configuring proxy for Yum...

Alternatively, ssh into localhost:2200 or 2222 what ever printed on above
using private key c/vagrant-ansible-centos\.vagrant\machines\default\virtualbox\private_key

$ vagrant ssh
[vagrant@vagrant-centos65 ~]$ pwd
/home/vagrant
[vagrant@vagrant-centos65 ~]$ ls -tlr
total 0
[vagrant@vagrant-centos65 ~]$ cd /vagrant-ansible-centos/
[vagrant@vagrant-centos65 vagrant-ansible-centos]$ ls -tlr
centos65-x86_64-20140116.box
inventory
etc
provision.sh
Vagrantfile

All this files will mount in /vagrant-ansible-centos/ as mentioned in Vagrent file.

Install the Ansible

[vagrant@vagrant-centos65 vagrant-ansible-centos]$ sudo yum install ansible
Loaded plugins: fastestmirror, versionlock
Determining fastest mirrors
epel/metalink                                                             
 * base: centos.openitc.uk
 * epel: epel.besthosting.ua
 * extras: centos.mirroring.pulsant.co.uk
 * updates: centos.serverspace.co.uk
...
..
Complete!

Verify the Ansible
[vagrant@vagrant-centos65 vagrant-ansible-centos]$ ansible --version
ansible 1.9.2
  configured module search path = None

Provision it, with provision.sh script along with Ansible

[vagrant@vagrant-centos65 vagrant-ansible-centos]$ ./provision.sh dev

PLAY [web-servers] ************************************************************

GATHERING FACTS ***************************************************************
ok: [local]

TASK: [zip | Install zip/unzip util] ******************************************
<127.0.0.1> REMOTE_MODULE yum name=zip,unzip state=present

TASK: [tar | Install tar] *****************************************************
<127.0.0.1> REMOTE_MODULE yum name=tar state=present
ok: [local] => {"changed": false, "msg": "", "rc": 0, "results": ["tar-1.23-11.el6.x86_64 providing tar is already installed"]}

TASK: [git | Install Git] *****************************************************
<127.0.0.1> REMOTE_MODULE yum name=git,git-svn state=present

PLAY RECAP ********************************************************************
local                      : ok=4    changed=2    unreachable=0    failed=0

[vagrant@vagrant-centos65 vagrant-ansible-centos]$

Verify the provision software, e.g. git, tar and zip

[vagrant@vagrant-centos65 vagrant-ansible-centos]$ git --version
git version 1.7.1
[vagrant@vagrant-centos65 vagrant-ansible-centos]$ tar --version
tar (GNU tar) 1.23
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
[vagrant@vagrant-centos65 vagrant-ansible-centos]$ zip --version
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.
Currently maintained by E. Gordon.  Please send bug reports to
the authors using the web page at www.info-zip.org; see README for details.

Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip,
as of above date; see http://www.info-zip.org/ for other sites.

Compiled with gcc 4.4.4 20100525 (Red Hat 4.4.4-5) for Unix (Linux ELF) on Nov 11 2010.

Zip special compilation options:
        USE_EF_UT_TIME       (store Universal Time)
        SYMLINK_SUPPORT      (symbolic links supported)
        LARGE_FILE_SUPPORT   (can read and write large files on file system)
        ZIP64_SUPPORT        (use Zip64 to store large files in archives)
        UNICODE_SUPPORT      (store and read UTF-8 Unicode paths)
        STORE_UNIX_UIDs_GIDs (store UID/GID sizes/values using new extra field)
        UIDGID_NOT_16BIT     (old Unix 16-bit UID/GID extra field not used)
        [encryption, version 2.91 of 05 Jan 2007] (modified for Zip 3)

Encryption notice:
        The encryption code of this program is not copyrighted and is
        put in the public domain.  It was originally written in Europe
        and, to the best of our knowledge, can be freely distributed
        in both source and object forms from any country, including
        the USA under License Exception TSU of the U.S. Export
        Administration Regulations (section 740.13(e)) of 6 June 2002.

Zip environment options:
             ZIP:  [none]
          ZIPOPT:  [none]
[vagrant@vagrant-centos65 vagrant-ansible-centos]$

Is not it simple? For real implementation only we have to change the actual IP address of web server.

C:\vagrant-ansible-centos\inventory\dev

local ansible_ssh_port=2200 ansible_ssh_host=127.0.0.1 ansible_connection=local

[web-servers]
local

Note: instead of local need to change the actual IP address and it will work for you.