Mail-Toaster
view release on metacpan or search on metacpan
lib/Mail/Toaster/Setup.pm view on Meta::CPAN
OPTIONS_FILE_UNSET+=PADLOCK
OPTIONS_FILE_SET+=ZLIB
OPTIONS_FILE_UNSET+=SCTP
OPTIONS_FILE_UNSET+=MD2
OPTIONS_FILE_UNSET+=RC5
OPTIONS_FILE_UNSET+=RFC3779
OPTIONS_FILE_UNSET+=GMP
OPTIONS_FILE_SET+=EC
",
);
};
sub periodic_conf {
return if -e "/etc/periodic.conf";
open my $PERIODIC, '>>', '/etc/periodic.conf';
print $PERIODIC '
#--periodic.conf--
# 210.backup-aliases
daily_backup_aliases_enable="NO" # Backup mail aliases
# 440.status-mailq
daily_status_mailq_enable="YES" # Check mail status
daily_status_mailq_shorten="NO" # Shorten output
daily_status_include_submit_mailq="NO" # Also submit queue
# 460.status-mail-rejects
daily_status_mail_rejects_enable="NO" # Check mail rejects
daily_status_mail_rejects_logs=3 # How many logs to check
#-- end --
';
close $PERIODIC;
}
sub php {
my $self = shift;
if ( ! $self->conf->{install_squirrelmail} && ! $self->conf->{install_roundcube} ) {
$self->audit("skipping PHP install");
return;
};
if ( $OSNAME eq 'freebsd' ) {
return $self->php_freebsd;
};
my $php = $self->util->find_bin('php',fatal=>0);
$self->error( "no php install support for $OSNAME yet, and php is not installed. Please install and try again." );
return;
};
sub php_freebsd {
my $self = shift;
$self->freebsd->install_port( "php5",
category=> 'lang',
options => "# This file generated by mail-toaster
# Options for php5-5.4.16
_OPTIONS_READ=php5-5.4.16
_FILE_COMPLETE_OPTIONS_LIST=CLI CGI FPM APACHE AP2FILTER EMBED DEBUG DTRACE IPV6 MAILHEAD LINKTHR
OPTIONS_FILE_SET+=CLI
OPTIONS_FILE_SET+=CGI
OPTIONS_FILE_UNSET+=FPM
OPTIONS_FILE_UNSET+=APACHE
OPTIONS_FILE_UNSET+=AP2FILTER
OPTIONS_FILE_UNSET+=EMBED
OPTIONS_FILE_UNSET+=DEBUG
OPTIONS_FILE_UNSET+=DTRACE
OPTIONS_FILE_SET+=IPV6
OPTIONS_FILE_UNSET+=MAILHEAD
OPTIONS_FILE_UNSET+=LINKTHR
",
) or return;
my $config = "/usr/local/etc/php.ini";
if ( ! -e $config ) {
copy("$config-production", $config) if -e "$config-production";
chmod oct('0644'), $config;
$self->config->apply_tweaks(
file => "/usr/local/etc/php.ini",
changes => [
{ search => q{;include_path = ".:/php/includes"},
replace => q{include_path = ".:/usr/local/share/pear"},
},
{ search => q{;date.timezone =},
replace => q{date.timezone = America/Denver},
},
],
);
};
return 1 if -f $config;
return;
};
sub phpmyadmin {
my $self = shift;
my %p = validate( @_, { $self->get_std_opts },);
return $p{test_ok} if defined $p{test_ok}; # for testing only
unless ( $self->conf->{install_phpmyadmin} ) {
print "phpMyAdmin install disabled. Set install_phpmyadmin in "
. "toaster-watcher.conf if you want to install it.\n";
return 0;
}
# prevent t1lib from installing X11
if ( $OSNAME eq "freebsd" ) {
$self->php();
$self->freebsd->install_port( "t1lib", flags => "WITHOUT_X11=yes" );
$self->freebsd->install_port( "php5-gd" );
}
$self->mysql->phpmyadmin_install;
}
sub portmaster {
my $self = shift;
if ( ! $self->conf->{install_portmaster} ) {
$self->audit("install portmaster skipped, not selected", verbose=>1);
return;
};
( run in 3.170 seconds using v1.01-cache-2.11-cpan-71847e10f99 )