view release on metacpan or search on metacpan
lib/Net/FullAuto/Cloud/fa_amazon.pm view on Meta::CPAN
wait();
}
#cleanup pty for next run
$pty->close();
system("${sudo}cp -R $homedir/.aws /home/$username")
unless $homedir eq "/home/$username";
my $group=$username;
$group='Administrators' if $username eq 'Administrator';
if ($username eq 'root') {
system("${sudo}chown -R $username:$group /$username/.aws");
system("${sudo}chmod 755 /$username/.aws");
} else {
system("${sudo}chown -R $username:$group /home/$username/.aws");
system("${sudo}chmod 755 /home/$username/.aws");
}
}
};
if ($handle) {
$handle->print('aws configure');
my $prompt=$handle->prompt();
while (1) {
my $output=Net::FullAuto::FA_Core::fetch($handle);
last if $output=~/$prompt/;
lib/Net/FullAuto/Cloud/fa_amazon.pm view on Meta::CPAN
} elsif ($output=~/Default output format \[None\]:\s*$/) {
$handle->print("\n");
} sleep 1;
}
my $group=$handle_username;
#$handle->cmd($sudo.
# "cp -Rv $homedir/.aws /home/$handle_username",'__display__');
$group='Administrators' if $handle_username eq 'Administrator';
if ($handle_username eq 'root') {
$handle->cmd($sudo.
"chown -Rv $handle_username:$group /$handle_username/.aws",
'__display__');
$handle->cmd($sudo.
"chmod -v 755 /$handle_username/.aws",'__display__');
} else {
$handle->cmd($sudo.
"chown -Rv $handle_username:$group /home/$handle_username/.aws",
'__display__');
$handle->cmd($sudo.
"chmod -v 755 /home/$handle_username/.aws",'__display__');
}
}
};
my $configure_aws2=sub {
package configure_aws2;
lib/Net/FullAuto/Distro/fa_code.pm view on Meta::CPAN
my ($solaris_ssh,$solaris_sftp,$laptop_sftp,$output,$stderr)=
('','','','','');
($solaris_ssh,$stderr)=connect_ssh('Solaris');
($solaris_sftp,$stderr)=connect_sftp('Solaris');
print "SFTP_CONNECT_STDERR=$stderr\n" if $stderr;
my $fa_code_p='/usr/local/lib/perl5/site_perl/5.12.1'.
'/Net/FullAuto/Custom/opens/Code/fa_code.pm';
($output,$stderr)=$solaris_ssh->cmd("cp $fa_code_p /export/home/opens");
print "STDERR=$stderr\n" if $stderr;
($output,$stderr)=$solaris_ssh->cmd(
"chown opens /export/home/opens/fa_code.pm");
print "STDERR=$stderr\n" if $stderr;
($output,$stderr)=$solaris_sftp->lcd($ENV{HOME});
print "STDERR=$stderr\n" if $stderr;
($output,$stderr)=$solaris_sftp->get('fa_code.pm');
print "STDERR=$stderr\n" if $stderr;
($output,$stderr)=$solaris_ssh->cmd("rm /export/home/opens/fa_code.pm");
print "STDERR=$stderr\n" if $stderr;
($output,$stderr)=$localhost->cmd(
"mv /home/ubuntu/fa_code.pm /home/ubuntu/fa_code.prod");
print "OUTPUT=$output\n" if $output;
lib/Net/FullAuto/Distro/fa_code_demo.pm view on Meta::CPAN
('','','','','');
my $localhost=connect_shell();
($solaris_ssh,$stderr)=connect_ssh('Solaris');
($solaris_sftp,$stderr)=connect_sftp('Solaris');
print "SFTP_CONNECT_STDERR=$stderr\n" if $stderr;
my $fa_code_p='/usr/local/lib/perl5/site_perl/5.12.1'.
'/Net/FullAuto/Custom/opens/Code/fa_code.pm';
($output,$stderr)=$solaris_ssh->cmd("cp $fa_code_p /export/home/opens");
print "STDERR=$stderr\n" if $stderr;
($output,$stderr)=$solaris_ssh->cmd(
"chown opens /export/home/opens/fa_code.pm");
print "STDERR=$stderr\n" if $stderr;
($output,$stderr)=$solaris_sftp->lcd($ENV{HOME});
print "STDERR=$stderr\n" if $stderr;
($output,$stderr)=$solaris_sftp->get('fa_code.pm');
print "STDERR=$stderr\n" if $stderr;
($output,$stderr)=$solaris_ssh->cmd("rm /export/home/opens/fa_code.pm");
print "STDERR=$stderr\n" if $stderr;
($output,$stderr)=$localhost->cmd(
"mv /home/ubuntu/fa_code.pm /home/ubuntu/fa_code.prod");
print "OUTPUT=$output\n" if $output;
lib/Net/FullAuto/FA_Core.pm view on Meta::CPAN
# verify that the fifth field in the user entry in /etc/passwd
# references the correct host name of the machine.
# loginId,U-WRONGHOSTNAME\loginId,S-1-5-21-...
# -to- loginId,U-RIGHTHOSTNAME\loginId,S-1-5-21...
#
# Also - in the /etc/ssh_config, set UseDNS to no.
#
## Cygwin sshd - /bin/bash: Operation not permitted.
#
# Culprit is mostly permissions on /var/empty and /var/run
# chown cyg_server /var/empty
# chmod 755 /var/empty
# see cygwin_sshd.pdf (in FullAuto distribution) and at
# http://http://www.tux.org/~mayer/cygwin/cygwin_sshd.pdf
#
## ASCII BANNER Courtesy of (small font):
#
# http://www.network-science.de/ascii/
#
## Vim auto-indenting turn off
#
lib/Net/FullAuto/FA_Core.pm view on Meta::CPAN
#print "MKDIR1=$archivedir\n";
$Net::FullAuto::FA_Core::localhost->{_cmd_handle}->SUPER::cmd(
$Net::FullAuto::FA_Core::gbp->('mkdir')."mkdir \'/$archivedir\'");
my $chmod=$Net::FullAuto::FA_Core::Hosts{"__Master_${$}__"}{'Chmod'};
my $own=$Net::FullAuto::FA_Core::Hosts{"__Master_${$}__"}{'Owner'};
my $grp=$Net::FullAuto::FA_Core::Hosts{"__Master_${$}__"}{'Group'};
$Net::FullAuto::FA_Core::localhost->{_cmd_handle}->SUPER::cmd(
"chmod -v \"$chmod\" \'/$archivedir\'")
if $chmod;
@output=$Net::FullAuto::FA_Core::localhost->{_cmd_handle}->SUPER::cmd(
"chown \"$own\" \'/$archivedir\'")
if $own;
$Net::FullAuto::FA_Core::localhost->{_cmd_handle}->SUPER::cmd(
"chgrp \"$grp\" \'/$archivedir\'")
if $grp;
$Net::FullAuto::FA_Core::localhost->{_cmd_handle}->SUPER::cmd(
"touch \"/$archivedir/mving.flg\"");
$Net::FullAuto::FA_Core::localhost->{_cmd_handle}->SUPER::cmd(
"chmod -v \"$chmod\" \"/$archivedir/mving.flg\"")
if $chmod;
$Net::FullAuto::FA_Core::localhost->{_cmd_handle}->SUPER::cmd(
"chown \"$own\" \"/$archivedir/mving.flg\"")
if $own;
$Net::FullAuto::FA_Core::localhost->{_cmd_handle}->SUPER::cmd(
"chgrp \"$grp\" \"/$archivedir/mving.flg\"")
if $grp;
$version_label=$label1;last;
} elsif ($^O eq 'cygwin' || $^O eq 'MSWin32' || $^O eq 'MSWin64'
|| $ENV{OS} eq 'Windows_NT') {
print "DO MORE WORK ON MSWIN!\n";<STDIN>;
$Net::FullAuto::FA_Core::localhost->{_cmd_handle}->SUPER::cmd(
"mkdir -m 777 $label1");
lib/Net/FullAuto/FA_Core.pm view on Meta::CPAN
&Net::FullAuto::FA_Core::handle_error(
$stderr,'-1');
}
($output,$stderr)=$baseFH->cmd(
"rm -rf $curdir/FA_Diff_Report_Zip");
if ($stderr) {
&Net::FullAuto::FA_Core::handle_error(
$stderr,'-1');
}
($output,$stderr)=$baseFH->cmd(
"chown $username $curdir/fa_diff_report.zip");
if ($stderr) {
&Net::FullAuto::FA_Core::handle_error(
$stderr,'-1');
}
} else {
if ($activity) {
if ($gnu_tar_input_list1) {
chomp $gnu_tar_input_list1;
my @files=split /^/, $gnu_tar_input_list1;
my $filearg='';my $farg='';
lib/Net/FullAuto/ISets/Amazon/Hadoop_is.pm view on Meta::CPAN
}
foreach my $srv (0..3) {
my $inst=$main::aws->{$server_type}->[$srv]->[1];
foreach my $in (0..3) {
my $type=($in<2)?'masters':'slaves';
print "UPDATING $type with $dns[$in]\n";
($stdout,$stderr)=$inst->cmd(
"sudo echo $dns[$in] >> /opt/$targz/etc/hadoop/$type",
'__display__');
($stdout,$stderr)=$inst->cmd(
"sudo chown -Rv ubuntu:ubuntu /opt/$targz",
'__display__');
}
($stdout,$stderr)=$inst->cmd(
"sudo chmod -v 644 /opt/$targz/etc/hadoop/masters",
'__display__');
($stdout,$stderr)=$inst->cmd(
"sudo chmod -v 644 /opt/$targz/etc/hadoop/slaves",
'__display__');
}
my $starting_hadoop=<<'END';
lib/Net/FullAuto/ISets/Amazon/Jenkins_is.pm view on Meta::CPAN
my ($hash,$output,$error)=('','','');
($hash,$output,$error)=run_aws_cmd($c);
my $mdns=$hash->{Reservations}->[0]->{Instances}->[0]->{PublicDnsName};
my $pbip=$hash->{Reservations}->[0]->{Instances}->[0]->{PublicIpAddress};
my $dcnt=0;
my $extn='';
($stdout,$stderr)=$handle->cmd('sudo '.
'mv ~/jenkins.war /var/lib/tomcat8/webapps');
($stdout,$stderr)=$handle->cwd('/usr/share/tomcat8');
($stdout,$stderr)=$handle->cmd('sudo mkdir .jenkins');
($stdout,$stderr)=$handle->cmd('sudo chown -Rv tomcat:tomcat .jenkins',
'__display__');
($stdout,$stderr)=$handle->cmd('sudo chown -Rv tomcat:tomcat *',
'__display__');
($stdout,$stderr)=$handle->cmd('sudo service tomcat8 start','__display__');
$handle->{_cmd_handle}->print('sudo '.
'tail -f /usr/share/tomcat8/logs/catalina.out');
my $prompt=substr($handle->{_cmd_handle}->prompt(),1,-1);
my $adminpass='';my $allout='';
while (1) {
my $output=Net::FullAuto::FA_Core::fetch($handle);
last if $output=~/$prompt/;
print $output;
lib/Net/FullAuto/ISets/Local/Ampache_is.pm view on Meta::CPAN
'git clone https://github.com/ampache/ampache.git','__display__');
($stdout,$stderr)=$handle->cwd("ampache");
($stdout,$stderr)=$handle->cmd($sudo.'mkdir -vp /var/www/html',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.'chmod 777 /var','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'cp -Rv . /var/www/html/ampache','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -Rv 775 /var/www','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -Rv www-data:www-data /var/www','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'wget --random-wait --progress=dot '.
'https://getcomposer.org/composer.phar','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'mv -v composer.phar /usr/local/bin/composer','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'/usr/local/bin/composer '.
'install --prefer-source --no-interaction','__display__');
my $fa_builddir=fullauto_builddir($local,$sudo);
my $ignore='';
lib/Net/FullAuto/ISets/Local/Ampache_is.pm view on Meta::CPAN
($stdout,$stderr)=$handle->cmd($sudo.
'systemctl daemon-reload','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'service nginx start','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i 's|^plugin-load-add=auth_gssapi.so|".
"#plugin-load-add=auth_gssapi.so|' ".
'/etc/my.cnf.d/auth_gssapi.cnf');
# HOW TO CHECK MYSQL FOR ERRORS
# mkdir /var/run/mysqld/
# chown mysql: /var/run/mysqld/
# mysqld --basedir=/usr --datadir=/var/lib/mysql
# --user=mysql --socket=/var/run/mysqld/mysqld.sock
$handle->{_cmd_handle}->print($sudo.'mysql_secure_installation');
$prompt=substr($handle->{_cmd_handle}->prompt(),1,-1);
while (1) {
my $output=Net::FullAuto::FA_Core::fetch($handle);
last if $output=~/$prompt/;
print $output;
if (-1<index $output,'root (enter for none):') {
$handle->{_cmd_handle}->print();
lib/Net/FullAuto/ISets/Local/Ampache_is.pm view on Meta::CPAN
print $output;
if (-1<index $output,'want to continue') {
$handle->{_cmd_handle}->print('Y');
$output='';
next;
}
}
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /google-drive','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v ec2-user:ec2-user /google-drive','__display__');
my $substitute_email_module='%NL%'.
'#####################################################%NL%'.
'# Inserted by FullAuto to handle Amazon SES passwords%NL%'.
'#####################################################%NL%%NL%'.
'require_once %SQ%Mail.php%SQ%;%NL%'.
'%NL%'.
'$headers = array (%NL%'.
' %SQ%From%SQ% => $from,%NL%'.
' %SQ%To%SQ% => $to,%NL%'.
' %SQ%Subject%SQ% => $subject,%NL%'.
lib/Net/FullAuto/ISets/Local/Ampache_is.pm view on Meta::CPAN
/ \ | \ / | |__) / \ | | | |__| | |__
/ /\ \ | |\/| | ___/ /\ \| | | __ | __|
/ ____ \| | | | | / ____ \ |____| | | | |____
/_/ \_\_| |_|_| /_/ \_\_____|_| |_|______|
(AMPACHE is **NOT** a sponsor of the FullAuto© Project.)
END
print $starting_ampache;sleep 10;
($stdout,$stderr)=$handle->cmd($sudo.
'chown -Rv www-data:www-data /var/www','__display__');
$region=~s/^.*['](.*)[']$/$1/;
($stdout,$stderr)=$handle->cmd($sudo.'wget -qO- '.
'http://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-connect.html'
);
my @smtp_servers=();my $smtp_server='us-east-1';
foreach my $line (split /\n/,$stdout) {
if (-1<index $line,'email-smtp.') {
$line=~s/^.*(email-smtp\.[^Hh].*?com).*$/$1/;
next unless $line=~/^email-smtp/;
push @smtp_servers,$line;
lib/Net/FullAuto/ISets/Local/ClipBucket_is.pm view on Meta::CPAN
"git checkout $stdout",'__display__');
($stdout,$stderr)=$handle->cwd("upload");
($stdout,$stderr)=$handle->cmd($sudo.'mkdir -vp /var/www/html',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.'chmod 777 /var','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'cp -Rv . /var/www/html/clipbucket','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -Rv 775 /var/www','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -Rv www-data:www-data /var/www','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -Rv 777 /var/www/html/clipbucket/cache','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -Rv 777 /var/www/html/clipbucket/files','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -Rv 777 /var/www/html/clipbucket/images','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -Rv 777 /var/www/html/clipbucket/includes','__display__');
my $fa_builddir=fullauto_builddir($local,$sudo);
my $ignore='';
lib/Net/FullAuto/ISets/Local/ClipBucket_is.pm view on Meta::CPAN
($stdout,$stderr)=$handle->cmd($sudo.
'systemctl daemon-reload','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'service nginx start','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i 's|^plugin-load-add=auth_gssapi.so|".
"#plugin-load-add=auth_gssapi.so|' ".
'/etc/my.cnf.d/auth_gssapi.cnf');
# HOW TO CHECK MYSQL FOR ERRORS
# mkdir /var/run/mysqld/
# chown mysql: /var/run/mysqld/
# mysqld --basedir=/usr --datadir=/var/lib/mysql
# --user=mysql --socket=/var/run/mysqld/mysqld.sock
$handle->{_cmd_handle}->print($sudo.'mysql_secure_installation');
$prompt=substr($handle->{_cmd_handle}->prompt(),1,-1);
while (1) {
my $output=Net::FullAuto::FA_Core::fetch($handle);
last if $output=~/$prompt/;
print $output;
if (-1<index $output,'root (enter for none):') {
$handle->{_cmd_handle}->print();
lib/Net/FullAuto/ISets/Local/ClipBucket_is.pm view on Meta::CPAN
print $output;
if (-1<index $output,'want to continue') {
$handle->{_cmd_handle}->print('Y');
$output='';
next;
}
}
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /google-drive','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v ec2-user:ec2-user /google-drive','__display__');
my $substitute_email_module='%NL%'.
'#####################################################%NL%'.
'# Inserted by FullAuto to handle Amazon SES passwords%NL%'.
'#####################################################%NL%%NL%'.
'require_once %SQ%Mail.php%SQ%;%NL%'.
'%NL%'.
'$headers = array (%NL%'.
' %SQ%From%SQ% => $from,%NL%'.
' %SQ%To%SQ% => $to,%NL%'.
' %SQ%Subject%SQ% => $subject,%NL%'.
lib/Net/FullAuto/ISets/Local/ClipBucket_is.pm view on Meta::CPAN
/ / | | | | |__) | |_) | | | | | | |/ / | |__ | |
| | | | | | ___/| _ <| | | | | | \ | __| | |
| \____| |____| | | | |_) | |__| | |____| |\ \| |____ | |
\_____|______|_|_| |____/ \____/ \_____|_| \__|______| |_|
(CLIPBUCKET is **NOT** a sponsor of the FullAuto© Project.)
END
print $starting_clipbucket;sleep 10;
($stdout,$stderr)=$handle->cmd($sudo.
'chown -Rv www-data:www-data /var/www','__display__');
$region=~s/^.*['](.*)[']$/$1/;
($stdout,$stderr)=$handle->cmd($sudo.'wget -qO- '.
'http://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-connect.html'
);
my @smtp_servers=();my $smtp_server='us-east-1';
foreach my $line (split /\n/,$stdout) {
if (-1<index $line,'email-smtp.') {
$line=~s/^.*(email-smtp\.[^Hh].*?com).*$/$1/;
next unless $line=~/^email-smtp/;
push @smtp_servers,$line;
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
$need_packages{$package}='';
}
}
}
# http://www.fjakkarin.com/2015/11/cygwin-cygserver-and-apache-httpd/
($stdout,$stderr)=$handle->cmd($sudo.
"wget --random-wait --progress=dot ".
"https://github.com/transcode-open/apt-cyg/archive/master.zip",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v $username:$username master.zip','__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd("unzip -o master.zip",'__display__');
($stdout,$stderr)=$handle->cmd("rm -rvf master.zip",'__display__');
($stdout,$stderr)=$handle->cmd("mv apt-cyg-master/apt-cyg /usr/bin");
($stdout,$stderr)=$handle->cmd("chmod -v 755 /usr/bin/apt-cyg",
'__display__');
($stdout,$stderr)=$handle->cmd("rm -rvf apt-cyg-master",'__display__');
my $packs='';$|=1;
foreach my $pack (sort keys %need_packages) {
($stdout,$stderr)=$handle->cmd("apt-cyg install $pack",
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
my $verss=$stdout;
($stdout,$stderr)=$handle->cmd($sudo.'gcc --version');
$stdout=~s/^.*?GCC[)]\s+?([^\s]+)\s+Copyright.*$/$1/s;
if ($stdout ne $verss) {
($stdout,$stderr)=$handle->cwd('/opt/source');
($stdout,$stderr)=$handle->cmd($sudo.
'wget --random-wait --progress=dot '.
'http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username autoconf-latest.tar.gz",'__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd($sudo.'tar zxvf autoconf-latest.tar.gz',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.'rm -rvf autoconf-latest.tar.gz',
'__display__');
($stdout,$stderr)=$handle->cwd("autoconf-*");
($stdout,$stderr)=$handle->cmd($sudo.'./configure','__display__');
($stdout,$stderr)=$handle->cmd($sudo.'make','__display__');
($stdout,$stderr)=$handle->cmd($sudo.'make install','__display__');
($stdout,$stderr)=$handle->cwd('/opt/source');
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
($stdout,$stderr)=$handle->cmd($sudo.
'cp -v sqlite3.pc /usr/lib64/pkgconfig','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'ldconfig -v','__display__');
($stdout,$stderr)=$handle->cwd('/opt/source');
($stdout,$stderr)=$handle->cmd($sudo.
'wget --random-wait --progress=dot '.
'http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username autoconf-latest.tar.gz",'__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd($sudo.'tar zxvf autoconf-latest.tar.gz',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.'rm -rvf autoconf-latest.tar.gz',
'__display__');
($stdout,$stderr)=$handle->cwd("autoconf-*");
($stdout,$stderr)=$handle->cmd($sudo.'./configure','__display__');
($stdout,$stderr)=$handle->cmd($sudo.'make','__display__');
($stdout,$stderr)=$handle->cmd($sudo.'make install','__display__');
($stdout,$stderr)=$handle->cwd('/opt/source');
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
'__display__');
($stdout,$stderr)=$handle->cwd('mariadb');
}
($stdout,$stderr)=$handle->cmd($sudo.
'groupadd mysql');
($stdout,$stderr)=$handle->cmd($sudo.
'useradd -r -g mysql mysql');
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /run/mysqld','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -Rv mysql:root /var/run/mysqld',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'yum -y install galera perl-DBI','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'service mysql stop','__display__');
#($stdout,$stderr)=$handle->cmd($sudo.
# 'chmod -v 1777 /tmp','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'rm -rvf /var/lib/mysql','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /var/lib/mysql','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v mysql:root /var/lib/mysql','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -v 700 /var/lib/mysql','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'scripts/mysql_install_db --user=mysql '.
'--datadir=/var/lib/mysql','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'ln -s /usr/local/mysql/bin/mariadb /bin/mysql');
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /etc/mysql/my.cnf.d','__display__');
#
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
END
($stdout,$stderr)=$handle->cmd(
"echo -e \"$mysql_virtual_alias_domain_catchall_maps\" > ".
"${home_dir}mysql_virtual_alias_domain_catchall_maps.cf");
($stdout,$stderr)=$handle->cmd($sudo.
"mv -v ${home_dir}mysql_virtual_alias_domain_catchall_maps.cf ".
"/etc/postfix/sql",'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -v 0640 /etc/postfix/sql/*','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v root:root /etc/postfix/sql/*','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'setfacl -R -m u:postfix:rx /etc/postfix/sql/','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'useradd dovenull --system --uid 4099 -s /usr/bin/nologin '.
'--user-group --no-create-home');
($stdout,$stderr)=$handle->cmd($sudo.
'useradd dovecot --system --uid 5000 -s /usr/bin/nologin '.
'--user-group --no-create-home');
($stdout,$stderr)=$handle->cmd($sudo.
'gpasswd -a dovecot mail','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'useradd vmail --system --uid 2000 -s /usr/bin/nologin '.
'--user-group --no-create-home');
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -v /var/mail/vmail','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -Rv vmail:vmail /var/mail/vmail/','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chcon -Rv -t mail_spool_t /var/mail/vmail/','__display__');
#($stdout,$stderr)=$handle->cmd($sudo.
# 'openssl req -new -outform PEM -out /etc/postfix/smtpd.cert '.
# '-newkey rsa:2048 -nodes -keyout /etc/postfix/smtpd.key '.
# '-keyform PEM -days 3650 -x509','__display__');
#($stdout,$stderr)=$handle->cmd($sudo.
# 'chmod -v 640 /etc/postfix/smtpd.key','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'postfix start','__display__');
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -v 777 ~/main.cf','__display__');
($stdout,$stderr)=$handle->cmd("echo -e \"$ad\" >> ".
"~/main.cf");
($stdout,$stderr)=$handle->cmd($sudo.
'sed -i \'$d\' ~/main.cf');
($stdout,$stderr)=$handle->cmd($sudo.
'mv -fv ~/main.cf /etc/postfix/main.cf',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v root:root /etc/postfix/main.cf',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -v 644 /etc/postfix/main.cf',
'__display__');
if (ref $main::aws eq 'HASH') {
($stdout,$stderr)=$handle->cmd($sudo.
'postconf -e '.
'\'relayhost = [email-smtp.us-west-2.amazonaws.com]:587\' ',
'\'smtp_sasl_auth_enable = yes\' '.
'\'smtp_sasl_security_options = noanonymous\' '.
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
($smtppass,$stderr)=$handle->cmd(
"python smtp_credentials_generate.py $secret_access_key us-west-2");
my $sasl_password=<<"END";
[email-smtp.us-west-2.amazonaws.com]:587 $access_id:$smtppass
END
($stdout,$stderr)=$handle->cmd("echo -e \"$sasl_password\" > ".
"sasl_passwd");
($stdout,$stderr)=$handle->cmd($sudo.
'mv -v sasl_passwd /etc/postfix','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v root:root /etc/postfix/sasl_passwd','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'rm -vf ~/smtp_credentials_generate.py','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'postmap hash:/etc/postfix/sasl_passwd');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v root:root /etc/postfix/sasl_passwd.db','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -v 0600 /etc/postfix/sasl_passwd '.
'/etc/postfix/sasl_passwd.db','__display__');
my $sespolicy=<<END;
{
\\x22Version\\x22:\\x222012-10-17\\x22,
\\x22Statement\\x22: [{
\\x22Effect\\x22:\\x22Allow\\x22,
\\x22Action\\x22:\\x22ses:SendRawEmail\\x22,
\\x22Resource\\x22:\\x22*\\x22
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
#permit my own IP addresses.
$public_ip/32 permit
$stdout/32 permit
END
($stdout,$stderr)=$handle->cmd("echo -e \"$ad\" > ".
"~/postscreen_access.cidr");
($stdout,$stderr)=$handle->cmd($sudo.
'mv -fv ~/postscreen_access.cidr /etc/postfix',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v root:root /etc/postfix/postscreen_access.cidr',
'__display__');
$ad='submission inet n - - - - smtpd%NL%'.
' -o syslog_name=postfix/submission%NL%'.
' -o smtpd_tls_security_level=encrypt%NL%'.
' -o smtpd_sasl_auth_enable=yes%NL%'.
' -o smtpd_sasl_type=dovecot%NL%'.
' -o smtpd_sasl_path=private/auth%NL%'.
' -o smtpd_reject_unlisted_recipient=no%NL%'.
' -o smtpd_client_restrictions=permit_sasl_authenticated,reject%NL%'.
' -o milter_macro_daemon_name=ORIGINATING%NL%'.
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
"/archive/$pfix.tar.gz",'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"tar xvf $pfix.tar.gz",'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"mv -v *$pfix /var/www/html/postfixadmin",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /var/www/html/postfixadmin/templates_c',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -R www-data:www-data /var/www','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'find /var/www -type f');
foreach my $file (split /\n/, $stdout) {
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -v 644 '.$file,'__display__');
}
($stdout,$stderr)=$handle->cmd($sudo.
'find /var/www -type d');
foreach my $dir (split /\n/, $stdout) {
($stdout,$stderr)=$handle->cmd($sudo.
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
\\x24CONF['maxquota'] = '0';
\\x24CONF['domain_quota_default'] = '0';
END
($stdout,$stderr)=$handle->cmd("echo -e \"$ad\" > ".
"~/pfa_config");
($stdout,$stderr)=$handle->cmd($sudo.
'mv -fv ~/pfa_config '.
'/var/www/html/postfixadmin/config.local.php',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -R www-data:www-data /var/www/html/postfixadmin',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'bash /var/www/postfixadmin/scripts/postfixadmin-cli '.
'admin add superadmin@'.$domain_url.' --superadmin 1 '.
'--active 1 --password '.$service_and_cert_password.' --password2 '.
$service_and_cert_password,'__display__');
$ad=<<END;
server {
listen 80;
listen [::]:80;
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \'/iterate_query/a$ad\' ".
"/usr/local/etc/dovecot/dovecot-sql.conf.ext");
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \'s/%NL%/\'\"`echo \\\\\\n`/g\" ".
"/usr/local/etc/dovecot/dovecot-sql.conf.ext");
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"s/%SQ%/\'/g\" ".
"/usr/local/etc/dovecot/dovecot-sql.conf.ext");
($stdout,$stderr)=$handle->cmd($sudo.
"chown -Rv vmail:dovecot /usr/local/etc/dovecot",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chmod -R o-rwx /usr/local/etc/dovecot",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"cp -v conf.d/10-master.conf ".
"/usr/local/etc/dovecot/conf.d",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"s/#ssl =/ssl =/g\" ".
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
($stdout,$stderr)=$handle->cmd($sudo.
"gpasswd -a $name dovecot",'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"ls -1 /usr/local/etc/dovecot/conf.d");
foreach my $file (split /\n/, $stdout) {
next if $file=~/\.+$/;
($stdout,$stderr)=$handle->cmd($sudo.
"chmod -v 660 /usr/local/etc/dovecot/conf.d/$file",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v vmail:dovecot /usr/local/etc/dovecot/conf.d/$file",
'__display__');
}
($stdout,$stderr)=$handle->cmd($sudo.
"gpasswd -d $name dovecot",'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'gpasswd -a www-data dovecot','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'gpasswd -a www-data vmail','__display__');
($stdout,$stderr)=$handle->cwd("/opt/source/$gtarfile");
($stdout,$stderr)=$handle->cmd($sudo.
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
'mysql --verbose --force -u roundcube -p'.
"'".$service_and_cert_password."' roundcube < $rcfile",
'__display__');
($stdout,$stderr)=$handle->cwd('/opt/source');
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /var/www/html/roundcube','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"cp -Rv $gtarfile/* /var/www/html/roundcube",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -R www-data:www-data /var/www/html/roundcube',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'find /var/www/html/roundcube -type f');
foreach my $file (split /\n/, $stdout) {
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -v 644 '.$file,'__display__');
}
($stdout,$stderr)=$handle->cmd($sudo.
'find /var/www -type d');
foreach my $dir (split /\n/, $stdout) {
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'sed -i "s/_vacation\'\] = 0/_vacation\'\] = 1/" '.
'/var/www/html/roundcube/plugins/managesieve/config.inc.php');
($stdout,$stderr)=$handle->cmd($sudo.
'sed -i "s/_forward\'\] = 0/_forward\'\] = 1/" '.
'/var/www/html/roundcube/plugins/managesieve/config.inc.php');
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /var/mail/vmail/pgp-keys','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v vmail:vmail /var/mail/vmail/pgp-keys',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -v 775 /var/mail/vmail/pgp-keys',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'cp -vp /var/www/html/roundcube/plugins/enigma/config.inc.php.dist '.
'/var/www/html/roundcube/plugins/enigma/config.inc.php',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'cp -vp /var/www/html/roundcube/plugins/markasjunk/config.inc.php.dist '.
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i '/overcommit/anet.core.somaxconn=65535' /etc/sysctl.conf");
($stdout,$stderr)=$handle->cmd($sudo.
'sysctl net.core.somaxconn=65535');
($stdout,$stderr)=$handle->cmd($sudo.
'useradd redis --system --uid 5002 -s /usr/bin/nologin '.
'--user-group --no-create-home');
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /usr/local/var/lib/redis','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v redis:redis /usr/local/var/lib/redis','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /usr/local/var/log/redis','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v redis:redis /usr/local/var/log/redis','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /usr/local/var/run/redis','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v redis:redis /usr/local/var/run/redis','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /usr/local/etc/redis','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v redis:redis /usr/local/etc/redis','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'cp -v redis.conf /usr/local/etc/redis','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /var/run/redis','__display__');
#
# echo-ing/streaming files over ssh can be tricky. Use echo -e
# and replace these characters with thier HEX
# equivalents (use an external editor for quick
# search and replace - and paste back results.
# use copy/paste or cat file and copy/paste results.):
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
'/etc/systemd/system/rspamd.service');
($stdout,$stderr)=$handle->cmd($sudo.
'sed -i \'s#/etc#/usr/local/etc#\' '.
'/etc/systemd/system/rspamd.service');
($stdout,$stderr)=$handle->cmd($sudo.
'useradd _rspamd --system --uid 5004 -s /usr/bin/nologin '.
'--user-group --no-create-home');
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /var/log/rspamd','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v _rspamd:_rspamd /var/log/rspamd','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /var/lib/rspamd','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v _rspamd:_rspamd /var/lib/rspamd','__display__');
($stdout,$stderr)=$handle->cmd(
'echo -e "bind_socket = \\x22127.0.0.1:11333\\x22;" > ~/wn.inc');
($stdout,$stderr)=$handle->cmd($sudo.
'mv -v ~/wn.inc /usr/local/etc/rspamd/local.d/worker-normal.inc',
'__display__');
my $wp_inc=<<END;
bind_socket = \\x22127.0.0.1:11332\\x22;
milter = yes;
timeout = 120s;
upstream \\x22local\\x22 {
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'/usr/local/bin/sievec '.
'/var/mail/vmail/sieve/global/report-spam.sieve',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'/usr/local/bin/sievec '.
'/var/mail/vmail/sieve/global/report-ham.sieve',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -Rv vmail: /var/mail/vmail/sieve/',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /var/lib/rspamd/dkim/','__display__');
($stdout,$stderr)=$handle->cmd('sudo '.
'/usr/local/bin/rspamadm dkim_keygen -b 2048 -s mail -k '.
'/var/lib/rspamd/dkim/mail.key | sudo tee -a '.
'/var/lib/rspamd/dkim/mail.pub','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -Rv _rspamd: /var/lib/rspamd/dkim',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -v 440 /var/lib/rspamd/dkim/*','__display__');
$ad=<<END;
selector = \\x22mail\\x22;
path = \\x22/var/lib/rspamd/dkim/\\x24selector.key\\x22;
allow_username_mismatch = true;
END
($stdout,$stderr)=$handle->cmd(
"echo -e \"$ad\" >> ~/dkim_signing.conf");
lib/Net/FullAuto/ISets/Local/FullAutoAPI_is.pm view on Meta::CPAN
$need_packages{$package}='';
}
}
}
# http://www.fjakkarin.com/2015/11/cygwin-cygserver-and-apache-httpd/
($stdout,$stderr)=$handle->cmd($sudo.
"wget --random-wait --progress=dot ".
"https://github.com/transcode-open/apt-cyg/archive/master.zip",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v $username:$username master.zip','__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd("unzip -o master.zip",'__display__');
($stdout,$stderr)=$handle->cmd("rm -rvf master.zip",'__display__');
($stdout,$stderr)=$handle->cmd("mv apt-cyg-master/apt-cyg /usr/bin");
($stdout,$stderr)=$handle->cmd($sudo."chmod -v 755 /usr/bin/apt-cyg",
'__display__');
($stdout,$stderr)=$handle->cmd("rm -rvf apt-cyg-master",'__display__');
my $packs='';$|=1;
foreach my $pack (sort keys %need_packages) {
($stdout,$stderr)=$handle->cmd("apt-cyg install $pack",
lib/Net/FullAuto/ISets/Local/FullAutoAPI_is.pm view on Meta::CPAN
chomp($public_ip);
$public_ip='127.0.0.1' unless $public_ip;
unless ($^O eq 'cygwin') {
($stdout,$stderr)=$handle->cmd($sudo.
"wget --random-wait --progress=dot ".
"http://download.fedoraproject.org".
"/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username epel-release-6-8.noarch.rpm",
'__display__') if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd(
"sudo rpm -ivh epel-release-6-8.noarch.rpm",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'rm -rvf epel-release-6-8.noarch.rpm',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.'yum -y install uuid-devel '.
'pkgconfig libtool gcc-c++','__display__');
}
lib/Net/FullAuto/ISets/Local/FullAutoAPI_is.pm view on Meta::CPAN
"FullAutoAPI/root/favicon.ico",'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chmod -v 755 FullAutoAPI/root/static/images/*",
'__display__');
($stdout,$stderr)=$handle->cwd("FullAutoAPI/deps");
($stdout,$stderr)=$handle->cmd($sudo.
"wget --random-wait --progress=dot ".
"http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username autoconf-latest.tar.gz",'__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd("tar zxvf autoconf-latest.tar.gz",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.'rm -rvf autoconf-latest.tar.gz',
'__display__');
($stdout,$stderr)=$handle->cwd("autoconf-*");
($stdout,$stderr)=$handle->cmd("./configure",'__display__');
($stdout,$stderr)=$handle->cmd("make",'__display__');
($stdout,$stderr)=$handle->cmd($sudo."make install",'__display__');
($stdout,$stderr)=$handle->cwd("..");
($stdout,$stderr)=$handle->cmd($sudo.
"wget --random-wait --progress=dot ".
"https://github.com/jedisct1/libsodium/archive/master.zip",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username master.zip",'__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd("unzip -o master.zip",'__display__');
($stdout,$stderr)=$handle->cmd($sudo.'rm -rvf master.zip','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -Rv $username:$username libsodium-master",'3600')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cwd('libsodium-master');
($stdout,$stderr)=$handle->cmd('./autogen.sh','__display__');
($stdout,$stderr)=$handle->cmd('./configure','__display__');
($stdout,$stderr)=$handle->cmd('make','__display__');
($stdout,$stderr)=$handle->cmd($sudo.'make install','__display__');
($stdout,$stderr)=$handle->cwd('~/FullAutoAPI/deps');
$do=1;
if ($do==1) { # INSTALL LATEST VERSION OF PYTHON
lib/Net/FullAuto/ISets/Local/FullAutoAPI_is.pm view on Meta::CPAN
"https://bootstrap.pypa.io/ez_setup.py",'__display__');
if ($^O eq 'cygwin') {
# ez_setup.py uses curl by default which is broken with --location
# in Cygwin. So using wget instead by forcing return False.
($stdout,$stderr)=$handle->cmd(
"sed -i '/has_curl()/areturn False' ez_setup.py");
$handle->cmd_raw(
"sed -i 's/\\(^return False$\\\)/ \\1/' ez_setup.py");
} else {
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username ez_setup.py",'__display__');
}
($stdout,$stderr)=$handle->cmd('python ez_setup.py','__display__');
($stdout,$stderr)=$handle->cmd('easy_install pip','__display__');
# ($stdout,$stderr)=$handle->cmd(
# 'git clone https://github.com/pypa/setuptools.git','__display__');
# ($stdout,$stderr)=$handle->cmd(
# 'chown -Rv $username:$username setuptools','__display__')
# if $^O ne 'cygwin';
# ($stdout,$stderr)=$handle->cwd('~/FullAutoAPI/deps/setuptools');
#print "OK1\n";
# ($stdout,$stderr)=$handle->cmd($sudo.'python setup.py install',
# '__display__');
($stdout,$stderr)=$handle->cwd('~/FullAutoAPI/deps');
($stdout,$stderr)=$handle->cmd(
'git clone https://github.com/google/oauth2client.git','__display__');
($stdout,$stderr)=$handle->cwd('oauth2client');
($stdout,$stderr)=$handle->cmd($sudo.'python setup.py install',
lib/Net/FullAuto/ISets/Local/FullAutoAPI_is.pm view on Meta::CPAN
# https://www.digitalocean.com/community/tutorials/
# understanding-and-implementing-fastcgi-proxying-in-nginx
# http://dev.soup.io/post/1622791/I-managed-to-get-nginx-running-on
# http://search.cpan.org/dist/Catalyst-Manual-5.9002/lib/Catalyst/
# Manual/Deployment/nginx/FastCGI.pod
my $nginx='nginx-1.10.0';
$nginx='nginx-1.9.13' if $^O eq 'cygwin';
($stdout,$stderr)=$handle->cmd($sudo."wget --random-wait --progress=dot ".
"http://nginx.org/download/$nginx.tar.gz",'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username $nginx.tar.gz",'__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd("tar xvf $nginx.tar.gz",'__display__');
($stdout,$stderr)=$handle->cwd($nginx);
($stdout,$stderr)=$handle->cmd("mkdir -vp objs/lib",'__display__');
($stdout,$stderr)=$handle->cwd("objs/lib");
my $pcre='pcre-8.40';
my $checksum='';
($stdout,$stderr)=$handle->cmd($sudo."wget --random-wait --progress=dot ".
"ftp://ftp.csx.cam.ac.uk/pub/software/".
"programming/pcre/$pcre.tar.gz",'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username $pcre.tar.gz",'__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd($sudo."tar xvf $pcre.tar.gz",'__display__');
($stdout,$stderr)=$handle->cmd($sudo."wget -qO- http://zlib.net/index.html");
my $zlib_ver=$stdout;
my $sha__256=$stdout;
$zlib_ver=~s/^.*? source code, version (\d+\.\d+\.\d+).*$/$1/s;
$sha__256=~s/^.*?tar.gz.*?SHA-256 hash [<]tt[>](.*?)[<][\/]tt[>].*$/$1/s;
foreach my $count (1..3) {
($stdout,$stderr)=$handle->cmd($sudo."wget --random-wait --progress=dot ".
"http://zlib.net/zlib-$zlib_ver.tar.gz",'__display__');
lib/Net/FullAuto/ISets/Local/FullAutoAPI_is.pm view on Meta::CPAN
'__display__');
}
($stdout,$stderr)=$handle->cmd($sudo."tar xvf zlib-$zlib_ver.tar.gz",
'__display__');
my $ossl='openssl-1.0.2h';
$checksum='577585f5f5d299c44dd3c993d3c0ac7a219e4949';
($stdout,$stderr)=$handle->cmd($sudo."wget --random-wait --progress=dot ".
"https://www.openssl.org/source/$ossl.tar.gz",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username $ossl.tar.gz",'__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd("sha1sum -c - <<<\"$checksum *$ossl.tar.gz\"",
'__display__');
unless ($stderr) {
print(qq{ + CHECKSUM Test for $ossl *PASSED* \n});
} else {
($stdout,$stderr)=$handle->cmd("rm -rvf $ossl.tar.gz",'__display__');
my $dc=1;
print "FATAL ERROR! : CHECKSUM Test for $ossl.tar.gz *FAILED* ",
"after $dc attempts\n";
lib/Net/FullAuto/ISets/Local/FullAutoAPI_is.pm view on Meta::CPAN
$go=$1;$gosha1=$2;
} else {
$stdout=~
/^.*?href=["]([^"]+linux-amd64.tar.gz)["].*?[<]tt[>](.*?)[<].*$/s;
$go=$1;$gosha1=$2;
}
($stdout,$stderr)=$handle->cmd($sudo.
"wget --random-wait --progress=dot ".$go,
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username $go",'__display__')
if $^O ne 'cygwin';
$go=~s/^.*\/(.*)$/$1/;
($stdout,$stderr)=$handle->cmd("sha1sum -c - <<<\"$gosha1 *$go\"",
'__display__');
unless ($stderr) {
print(qq{ + CHECKSUM Test for $go *PASSED* \n});
} else {
($stdout,$stderr)=$handle->cmd($sudo."rm -rvf $go",'__display__');
print "FATAL ERROR! : CHECKSUM Test for $go *FAILED* ";
&Net::FullAuto::FA_Core::cleanup;
lib/Net/FullAuto/ISets/Local/FullAutoAPI_is.pm view on Meta::CPAN
$do=0;
if ($do==1) {
($stdout,$stderr)=$handle->cmd($sudo.'wget -qO- '.
'https://github.com/membrane/service-proxy/releases/latest');
$stdout=~s/^.*?href=["]([^"]+zip)["].*$/$1/s;
my $membrane_zip=$stdout;
($stdout,$stderr)=$handle->cmd($sudo.
"wget --random-wait --progress=dot https://github.com".$membrane_zip,
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username $membrane_zip",'__display__')
if $^O ne 'cygwin';
$membrane_zip=~s/^.*\/(.*)$/$1/;
($stdout,$stderr)=$handle->cmd("unzip -o $membrane_zip",'__display__');
($stdout,$stderr)=$handle->cmd("rm -rvf $membrane_zip",'__display__');
#($stdout,$stderr)=$handle->cmd('git clone --depth=1 '.
# 'https://github.com/membrane/service-proxy.git','__display__');
exit;
}
unless (-e '/usr/bin/cpan') {
if ($^O eq 'cygwin') {
lib/Net/FullAuto/ISets/Local/FullAutoAPI_is.pm view on Meta::CPAN
}
my $num=(reverse sort {$a<=>$b} @num)[0];
($stdout,$stderr)=$handle->cmd($sudo.
"wget -qO- $mirror$num/Server/x86_64/os/Packages/w/");
$stdout=~s/^.*(words.*?rpm).*$/$1/s;
($stdout,$stderr)=$handle->cmd($sudo.
"wget --random-wait --progress=dot ".
"$mirror$num/Server/x86_64/os/Packages/w/$stdout",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username words*.rpm",
'__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd(
"rpm2cpio words*.rpm | \(cd /; cpio -idmv\)");
($stdout,$stderr)=$handle->cmd($sudo.'chmod -v 755 /usr/share/dict/',
'__display__');
($stdout,$stderr)=$handle->cwd("~/FullAutoAPI");
my $install_fullautoapi=<<'END';
lib/Net/FullAuto/ISets/Local/FullAutoAPI_is.pm view on Meta::CPAN
$have_fadb=0;
#($stdout,$stderr)=$handle->cmd($sudo.
# "wget --random-wait --progress=dot ".
# "http://dev.catalyst.perl.org/repos/Catalyst/trunk/".
# "examples/RestYUI/db/adventrest.db",
# '__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"cp -v $builddir/$ls_tmp[0]/api/RestYUI/db/adventrest.db .",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username adventrest.db",
'__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd($sudo.'mv adventrest.db fullautoapi.db');
}
($stdout,$stderr)=$handle->cwd('~/FullAutoAPI');
my $db_sql="db.sql";
$content=<<'END';
DROP TABLE IF EXISTS users;
DROP TABLE IF EXISTS roles;
DROP TABLE IF EXISTS user_roles;
lib/Net/FullAuto/ISets/Local/FullAutoAPI_is.pm view on Meta::CPAN
"controller OAuth2::Provider",'__display__');
($stdout,$stderr)=$handle->cwd('deps');
($stdout,$stderr)=$handle->cmd($sudo."wget -qO- http://libevent.org/");
$stdout=~/^.*Stable releases.*?href=["](.*?)["].*?href=["](.*?)["].*$/s;
my $le_rel=$1;my $le_asc=$2;
($stdout,$stderr)=$handle->cmd($sudo.
"wget --random-wait --progress=dot ".$le_rel,'__display__');
$le_rel=~s/^.*\/(.*)$/$1/;
$le_asc=~s/^.*\/(.*)$/$1/;
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username $le_rel",
'__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd($sudo.
"wget --random-wait --progress=dot ".$le_asc,'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username $le_asc",
'__display__')
if $^O ne 'cygwin';
$le_rel=~s/^.*\/(.*.tar.gz)$/$1/;
($stdout,$stderr)=$handle->cmd("tar xvf $le_rel",'__display__');
$stdout=~s/^.*\n(.*)\/.*$/$1/s;
($stdout,$stderr)=$handle->cwd($stdout);
($stdout,$stderr)=$handle->cmd('./autogen.sh','__display__');
($stdout,$stderr)=$handle->cmd('./configure',300,'__display__');
($stdout,$stderr)=$handle->cmd('make','__display__');
($stdout,$stderr)=$handle->cmd($sudo.'make install','__display__');
lib/Net/FullAuto/ISets/Local/FullAutoAPI_is.pm view on Meta::CPAN
"${sudo}sed -i \'s/%NL%/\'\"`echo \\\\\\n`/g\" $view_path");
($stdout,$stderr)=$handle->cmd("${sudo}sed -i \"s/%SQ%/\'/g\" $view_path");
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp root/static/jquery','__display__');
($stdout,$stderr)=$handle->cwd('root/static/jquery');
($stdout,$stderr)=$handle->cmd($sudo.
"wget --random-wait --progress=dot ".
"https://code.jquery.com/ui/1.11.3/jquery-ui.js",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username jquery-ui.js",
'__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd($sudo.
"wget --random-wait --progress=dot ".
"https://code.jquery.com/jquery-1.11.3.js",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username jquery-1.11.3.js",
'__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cwd('~/FullAutoAPI/root');
# http://www.sitepoint.com/working-jquery-datatables/
($stdout,$stderr)=$handle->cmd($sudo.
"wget --random-wait --progress=dot ".
"https://github.com/DataTables/DataTables/archive/master.zip",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username master.zip",
'__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd('unzip -o master.zip','__display__');
($stdout,$stderr)=$handle->cmd($sudo.'rm -rvf master.zip','__display__');
($stdout,$stderr)=$handle->cwd('DataTables-master');
($stdout,$stderr)=$handle->cmd('cp -Rv media ..','__display__');
($stdout,$stderr)=$handle->cwd('examples');
($stdout,$stderr)=$handle->cmd('cp -Rv resources ../..','__display__');
($stdout,$stderr)=$handle->cwd('~/FullAutoAPI');
($stdout,$stderr)=$handle->cmd("./script/fullautoapi_create.pl ".
lib/Net/FullAuto/ISets/Local/FullAutoAPI_is.pm view on Meta::CPAN
($stdout,$stderr)=$handle->cwd('~/FullAutoAPI/root/static');
($stdout,$stderr)=$handle->cmd($sudo.
"cp -v $builddir/$ls_tmp[0]/api/RestYUI/root/static/json2.js .",
'__display__');
#($stdout,$stderr)=$handle->cmd($sudo.
# "wget --random-wait --progress=dot ".
# "http://dev.catalyst.perl.org/repos/Catalyst/trunk/".
# "examples/RestYUI/root/static/json2.js",
# '__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username json2.js",
'__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd('mkdir -vp yui','__display__');
($stdout,$stderr)=$handle->cwd('yui');
my @yuifiles=('utilities.js','dom.js','connection.js','event.js',
'yahoo.js');
foreach my $file (@yuifiles) {
($stdout,$stderr)=$handle->cmd($sudo.
"cp -v $builddir/$ls_tmp[0]/api/RestYUI/root/static/yui/$file .",
'__display__');
#($stdout,$stderr)=$handle->cmd($sudo.
# "wget --random-wait --progress=dot ".
# "http://dev.catalyst.perl.org/repos/Catalyst/trunk/".
# "examples/RestYUI/root/static/yui/$file",
# '__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username $file",
'__display__')
if $^O ne 'cygwin';
}
($stdout,$stderr)=$handle->cwd('~/FullAutoAPI/root');
($stdout,$stderr)=$handle->cmd('mkdir -vp user','__display__');
($stdout,$stderr)=$handle->cwd('user');
($stdout,$stderr)=$handle->cmd($sudo.
"cp -v $builddir/$ls_tmp[0]/api/RestYUI/root/user/single_user.tt .",
'__display__');
#($stdout,$stderr)=$handle->cmd($sudo.
# "wget --random-wait --progress=dot ".
# "http://dev.catalyst.perl.org/repos/Catalyst/trunk/".
# "examples/RestYUI/root/user/single_user.tt",
# '__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username single_user.tt",
'__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd(
"sed -i 's/POSTT/POST/' single_user.tt");
($stdout,$stderr)=$handle->cmd(
"mv single_user.tt single_user.tt2");
($stdout,$stderr)=$handle->cwd('~/FullAutoAPI/root');
($stdout,$stderr)=$handle->cmd($sudo.'rm -rvf rest');
($stdout,$stderr)=$handle->cmd('mkdir -vp rest','__display__');
($stdout,$stderr)=$handle->cwd('rest');
lib/Net/FullAuto/ISets/Local/FullAutoAPI_is.pm view on Meta::CPAN
($stdout,$stderr)=$handle->cmd("cygrunsrv -I fullautoapi ".
"-y memcached -p /cygdrive/c/cygwin64/bin/bash -a ".
"'-lc \"/bin/perl /home/$username/FullAutoAPI/script/".
"fullautoapi_fastcgi.pl -l localhost:3003\"'");
($stdout,$stderr)=$handle->cmd("cygrunsrv --start fullautoapi");
sleep 15;
print "\n ACCESS FULLAUTO API MANAGEMENT DASHBOARD AT:\n\n",
" https://$domain_url -OR- https://localhost\n";
} else {
($stdout,$stderr)=$handle->cmd($sudo.
"chown -Rv $username:$username .",'3600');
#($stdout,$stderr)=$handle->cmd($sudo.
# "cp -v $builddir/$ls_tmp[0]/api/memcached /etc/init.d",
# '__display__');
#($stdout,$stderr)=$handle->cmd($sudo.
# 'chmod -v 755 /etc/init.d/memcached','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"cp -v $builddir/$ls_tmp[0]/api/fullautoapi /etc/init.d",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -v 755 /etc/init.d/fullautoapi','__display__');
lib/Net/FullAuto/ISets/Local/WordPress_is.pm view on Meta::CPAN
$need_packages{$package}='';
}
}
}
# http://www.fjakkarin.com/2015/11/cygwin-cygserver-and-apache-httpd/
($stdout,$stderr)=$handle->cmd($sudo.
"wget --random-wait --progress=dot ".
"https://github.com/transcode-open/apt-cyg/archive/master.zip",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v $username:$username master.zip','__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd("unzip -o master.zip",'__display__');
($stdout,$stderr)=$handle->cmd("rm -rvf master.zip",'__display__');
($stdout,$stderr)=$handle->cmd("mv apt-cyg-master/apt-cyg /usr/bin");
($stdout,$stderr)=$handle->cmd("chmod -v 755 /usr/bin/apt-cyg",
'__display__');
($stdout,$stderr)=$handle->cmd("rm -rvf apt-cyg-master",'__display__');
my $packs='';$|=1;
foreach my $pack (sort keys %need_packages) {
($stdout,$stderr)=$handle->cmd("apt-cyg install $pack",
lib/Net/FullAuto/ISets/Local/WordPress_is.pm view on Meta::CPAN
($stdout,$stderr)=$handle->cmd($sudo.
'make','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'make install','__display__');
($stdout,$stderr)=$handle->cwd('/opt/source');
($stdout,$stderr)=$handle->cmd($sudo.
'wget --random-wait --progress=dot '.
'http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username autoconf-latest.tar.gz",'__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd($sudo.'tar zxvf autoconf-latest.tar.gz',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.'rm -rvf autoconf-latest.tar.gz',
'__display__');
($stdout,$stderr)=$handle->cwd("autoconf-*");
($stdout,$stderr)=$handle->cmd($sudo.'./configure','__display__');
($stdout,$stderr)=$handle->cmd($sudo.'make','__display__');
($stdout,$stderr)=$handle->cmd($sudo.'make install','__display__');
($stdout,$stderr)=$handle->cwd('/opt/source');
lib/Net/FullAuto/ISets/Local/WordPress_is.pm view on Meta::CPAN
'make install','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'cp -v sqlite3.pc /usr/lib64/pkgconfig','__display__');
($stdout,$stderr)=$handle->cmd($sudo.'ldconfig');
($stdout,$stderr)=$handle->cwd('/opt/source');
($stdout,$stderr)=$handle->cmd($sudo.
'wget --random-wait --progress=dot '.
'http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username autoconf-latest.tar.gz",'__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd($sudo.'tar zxvf autoconf-latest.tar.gz',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.'rm -rvf autoconf-latest.tar.gz',
'__display__');
($stdout,$stderr)=$handle->cwd("autoconf-*");
($stdout,$stderr)=$handle->cmd($sudo.'./configure','__display__');
($stdout,$stderr)=$handle->cmd($sudo.'make','__display__');
($stdout,$stderr)=$handle->cmd($sudo.'make install','__display__');
($stdout,$stderr)=$handle->cwd('/opt/source');
lib/Net/FullAuto/ISets/Local/WordPress_is.pm view on Meta::CPAN
$stdout=~s/gnutls-//;
$stdout=~s/.tar.xz$//;
$stdout=~s/\./\[\.\]/g;
($stdout,$stderr)=$handle->cmd($sudo.
"strings /usr/local/lib64/libgnutls.so | grep $stdout");
unless ($stdout) {
($stdout,$stderr)=$handle->cmd($sudo.
"wget --random-wait --progress=dot "."$path/$file",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"chown -v $username:$username $file",'__display__')
if $^O ne 'cygwin';
($stdout,$stderr)=$handle->cmd($sudo.
"tar xvf $file",'__display__');
#($stdout,$stderr)=$handle->cmd($sudo.
# "rm -rvf $file",'__display__');
$file=~s/.tar.xz//;
($stdout,$stderr)=$handle->cwd($file);
($stdout,$stderr)=$handle->cmd($sudo.
'./configure --with-included-libtasn1 '.
'--with-included-unistring --without-p11-kit',
lib/Net/FullAuto/ISets/Local/WordPress_is.pm view on Meta::CPAN
($stdout,$stderr)=$handle->cwd('..');
($stdout,$stderr)=$handle->cmd($sudo.
'systemctl daemon-reload','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'groupadd mysql');
($stdout,$stderr)=$handle->cmd($sudo.
'useradd -r -g mysql mysql');
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /run/mysqld','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -Rv mysql:root /var/run/mysqld',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'yum -y install galera perl-DBI','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'service mysql stop','__display__');
#($stdout,$stderr)=$handle->cmd($sudo.
# 'chmod -v 1777 /tmp','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'rm -rvf /var/lib/mysql','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /var/lib/mysql','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v mysql:root /var/lib/mysql','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -v 700 /var/lib/mysql','__display__');
($stdout,$stderr)=$handle->cwd('/usr/local/mysql');
($stdout,$stderr)=$handle->cmd($sudo.
'./scripts/mariadb-install-db --user=mysql '.
'--datadir=/var/lib/mysql','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'ln -s /usr/local/mysql/bin/mariadb /bin/mysql');
($stdout,$stderr)=$handle->cmd($sudo.
'mkdir -vp /etc/mysql/my.cnf.d','__display__');
lib/Net/FullAuto/ISets/Local/WordPress_is.pm view on Meta::CPAN
$esc_pass=~s/[&]/\\&/g;
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i 's/password_here/".
$esc_pass."/' wp-config.php");
($stdout,$stderr)=$handle->cmd($sudo.
"mkdir -vp /var/www/html/wordpress",'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"rsync -avP /opt/source/wordpress/ ".
"/var/www/html/wordpress",'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -Rv www-data:www-data /var/www','__display__');
($stdout,$stderr)=$handle->cwd('/var/www/html/wordpress');
($stdout,$stderr)=$handle->cmd($sudo.
"chmod -v 644 wp-config.php",'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"mkdir -vp wp-content/uploads/themes",'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"mkdir -vp wp-content/uploads/plugins",'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -Rv www-data:www-data /var/www/html',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'wget --random-wait --progress=dot '.
'https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/'.
'wp-cli.phar','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -v +x wp-cli.phar','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'mv -v wp-cli.phar /usr/local/bin/wp','__display__');