#!/bin/sh
eval 'if [ -x /usr/local/cpanel/3rdparty/bin/perl ]; then exec /usr/local/cpanel/3rdparty/bin/perl -x -- $0 ${1+"$@"}; else exec /usr/bin/perl -x $0 ${1+"$@"}; fi;'
  if 0;

#!/usr/bin/perl

# cpanel - addservlets2                           Copyright(c) 2013 cPanel, Inc.
#                                                           All rights Reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

BEGIN {
    unshift @INC, '/usr/local/cpanel'; #issafe
}

use Cpanel::HttpUtils         (); #issafe
use Cpanel::Usage           ();
use Cpanel::EditHttpdconf       (); #issafe
use Cpanel::AcctUtils::DomainOwner (); #issafe

sub usage {
    print <<"END_HELP";
Add JkMount entries to a vhost

$0 --help  (this screen)
$0 --domain=[www.]domain-you-want-to-have-jsp-and-servlets.com

END_HELP
    exit 3;    # As strongly recommended in the user docs to Cpanel::Usage, q.v.
}

my $domain;
Cpanel::Usage::wrap_options(
    { strict => 1, remove => 1, require_left => 1 }, \@ARGV, \&usage, { 'domain' => \$domain, },
);

usage() if @ARGV;

usage() unless $domain;
$domain =~ s{ \A www [.] }{}xms;
usage() unless $domain =~ /\S[.]\S/;

my $ulj = '/usr/local/jakarta';
if (! -e $ulj ) {
   print "$0: /usr/local/jakarta not found; please run EasyApache to install Tomcat.";
   exit 1;
}

if (!Cpanel::AcctUtils::DomainOwner::getdomainowner($domain, {'default' => ''})) { #issafe
    die 'Domain does not exist';
}

my $content = <<"END_CONTENT";
<IfModule mod_jk.c>
  JkMount /*.jsp ajp13
  JkMount /*.do ajp13
  JkMount /servlet/* ajp13
  JkMount /servlets/* ajp13
</IfModule>
END_CONTENT

my $addedhost = Cpanel::EditHttpdconf::add_vhost_include({ #issafe
    'domain'  => $domain,
    'file'    => 'cp_jkmount.conf',
    'restart_apache' => 1,
    'content' => {
        'std' => {
            '1' => $content,
            '2' => $content,
        },
        'ssl' => {
            '1' => $content,
            '2' => $content,            
        },        
    },
});

if ( $addedhost ) {
   system '/usr/local/cpanel/scripts/gentomcatlist2';
   Cpanel::HttpUtils::safeaprestart(); #issafe
   print "Done: .jsp support installed for $domain\n";
} 
else {
   print "Error: .jsp support could not be added for $domain\n";
}
