Net-FullAuto
view release on metacpan or search on metacpan
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"0,/#group = /{s/#group =/group = postfix/}\" ".
"/usr/local/etc/dovecot/conf.d/10-master.conf");
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"/mode = 0600/a%SP%%SP%%SP%%SP%group = postfix\" ".
"/usr/local/etc/dovecot/conf.d/10-master.conf");
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"s/%SP%/ /g\" ".
"/usr/local/etc/dovecot/conf.d/10-master.conf");
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"/mode = 0600/a%SP%%SP%%SP%%SP%user = postfix\" ".
"/usr/local/etc/dovecot/conf.d/10-master.conf");
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"s/# mode = 0666/ mode = 0600X/\" ".
"/usr/local/etc/dovecot/conf.d/10-master.conf");
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"0,/#}/ s/#}/X}/\" ".
"/usr/local/etc/dovecot/conf.d/10-master.conf");
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"0,/#}/ s/#}/}/\" ".
"/usr/local/etc/dovecot/conf.d/10-master.conf");
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"s/X}/#}/\" ".
"/usr/local/etc/dovecot/conf.d/10-master.conf");
#($stdout,$stderr)=$handle->cmd($sudo.
# "sed -i \"/mode = 0600X/a%SP%%SP%%SP%%SP%user = vmail\" ".
# "/usr/local/etc/dovecot/conf.d/10-master.conf");
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"s/0600X/0600/\" ".
"/usr/local/etc/dovecot/conf.d/10-master.conf");
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"s/#user = .default_internal_user/user = dovecot/\" ".
"/usr/local/etc/dovecot/conf.d/10-master.conf");
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"s/%SP%/ /g\" ".
"/usr/local/etc/dovecot/conf.d/10-master.conf");
$ad='unix_listener /var/spool/postfix/private/auth';
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"s*unix_listener auth-userdb*$ad*\" ".
"/usr/local/etc/dovecot/conf.d/10-master.conf");
$ad='unix_listener auth-userdb';
my $bd='#unix_listener /var/spool/postfix/private/auth';
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"s*$bd*$ad*\" ".
"/usr/local/etc/dovecot/conf.d/10-master.conf");
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"s/#user = root/user = vmail/\" ".
"/usr/local/etc/dovecot/conf.d/10-master.conf");
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"s/#port = 587/port = 8587/\" ".
"/usr/local/etc/dovecot/conf.d/10-master.conf");
($stdout,$stderr)=$handle->cmd($sudo.
"cp -v conf.d/auth-system.conf.ext ".
"/usr/local/etc/dovecot/conf.d",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"cp -v conf.d/10-ssl.conf ".
"/usr/local/etc/dovecot/conf.d",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"s/#ssl = yes/ssl = required/\" ".
"/usr/local/etc/dovecot/conf.d/10-ssl.conf");
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"s*ssl/certs/dovecot.pem*".
"letsencrypt/live/mail.$domain_url/fullchain.pem*\" ".
"/usr/local/etc/dovecot/conf.d/10-ssl.conf");
($stdout,$stderr)=$handle->cmd($sudo.
"sed -i \"s*ssl/private/dovecot.pem*".
"letsencrypt/live/mail.$domain_url/privkey.pem*\" ".
"/usr/local/etc/dovecot/conf.d/10-ssl.conf");
$ad=<<END;
service stats {
unix_listener stats-reader {
user = www-data
group = www-data
mode = 0660
}
unix_listener stats-writer {
user = www-data
group = www-data
mode = 0660
}
}
END
($stdout,$stderr)=$handle->cmd($sudo.
'cp -v /usr/local/etc/dovecot/conf.d/10-master.conf ~',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -v 777 ~/10-master.conf','__display__');
($stdout,$stderr)=$handle->cmd(
"echo -e \"$ad\" >> ~/10-master.conf");
($stdout,$stderr)=$handle->cmd($sudo.
'mv -v ~/10-master.conf /usr/local/etc/dovecot/conf.d/10-master.conf',
'__display__');
my $name=getpwuid($<);
($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.
'mkdir -vp /var/run/dovecot','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'cp -v dovecot.service.in /etc/systemd/system/dovecot.service',
( run in 0.550 second using v1.01-cache-2.11-cpan-39bf76dae61 )