PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /opt/sharedrads/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //opt/sharedrads/extract-vhost |
#!/usr/bin/perl # encoding: utf-8 # # author: Kyle Yetter # =pod =head1 extract-vhost extract-vhost - extract VirtualHost sections of the server's main httpd.conf matching the given text =head1 SYNOPSIS extract-vhost [ options ] text-to-match =head1 DESCRIPTION Reads in an apache configruation file (or the server's main httpd.conf if none is piped in) and prints VirtualHost blocks containing the given term, such as a domain name or user name. =head1 OPTIONS =over 8 =item B<--man> Show full script documentation as a man page =item B<-h>, B<--help> You know the drill =item B<-v>, B<--version> Ditto =back =head1 EXAMPLES $] extract-vhost mysite.com <VirtualHost 1.2.3.4:80> ServerName mysite.com ServerAlias www.mysite.com DocumentRoot /home/mysite5/public_html ServerAdmin webmaster@mysite.com UseCanonicalName Off CustomLog /usr/local/apache/domlogs/mysite.com combined CustomLog /usr/local/apache/domlogs/mysite.com-bytes_log "%{%s}t %I .\n%{%s}t %O ." ## User mysite5 # Needed for Cpanel::ApacheConf <IfModule mod_suphp.c> suPHP_UserGroup mysite5 mysite5 </IfModule> <IfModule !mod_disable_suexec.c> SuexecUserGroup mysite5 mysite5 </IfModule> ScriptAlias /cgi-bin/ /home/mysite5/public_html/cgi-bin/ Include "/usr/local/apache/conf/userdata/*.conf" Include "/usr/local/apache/conf/userdata/*.owner-root" Include "/usr/local/apache/conf/userdata/std/*.conf" Include "/usr/local/apache/conf/userdata/std/*.owner-root" Include "/usr/local/apache/conf/userdata/std/2/*.conf" Include "/usr/local/apache/conf/userdata/std/2/*.owner-root" </VirtualHost> =cut use Getopt::Long; use Pod::Usage; our $VERSION = 1.1; Getopt::Long::Configure( 'bundling' ); GetOptions( 'm|man' => sub { pod2usage( { -exitval => 0, -verbose => 2 } ); }, 'h|help' => sub { pod2usage( 0 ); }, 'v|version' => sub { print "$VERSION\n"; exit( 0 ); } ); our $pattern = shift or pod2usage( { -exitval => 1, -verbose => 2 } ); $pattern = quotemeta( $pattern ); if ( -t ) { if ( -e '/etc/cpanel/ea4/is_ea4' ) { open( STDIN, '/etc/apache2/conf/httpd.conf' ); } else { open( STDIN, '/usr/local/apache/conf/httpd.conf' ); } } our @vhost = (); our $depth = 0; while ( <> ) { if ( $depth > 0 ) { push( @vhost, $_ ); if ( /<\s*VirtualHost/ ) { $depth += 1; } elsif ( m(<\s*/\s*VirtualHost) ) { $depth -= 1; if ( $depth == 0 ) { print( @vhost ) if grep /$pattern/i, @vhost; @vhost = (); } } } elsif ( /<\s*VirtualHost/ ) { push( @vhost, $_ ); $depth += 1; } }