service_promotion.pl [plain text]
use File::Copy;
my $_server_root = "/Applications/Server.app/Contents/ServerRoot";
my $_mail_dir = "/Library/Server/Mail";
mk_dir( $_mail_dir );
my $_config_dir = $_mail_dir . "/Config";
mk_dir( $_config_dir );
my $_clamav_config_dir = $_config_dir . "/clamav";
mk_dir( $_clamav_config_dir );
my $_data_dir = $_mail_dir . "/Data";
mk_dir( $_data_dir );
my $_scanner_dir = $_data_dir . "/scanner";
mk_dir( $_scanner_dir );
my $_clamav_data_dir = $_scanner_dir . "/clamav";
mk_dir( $_clamav_data_dir );
chown( 82, 82, $_clamav_data_dir );
chmod( 0755, $_clamav_data_dir );
my $_clamav_db_dir = $_clamav_data_dir. "/db";
mk_dir( $_clamav_db_dir );
chown( 82, 82, $_clamav_db_dir );
chmod( 0755, $_clamav_dir );
my $_clamd_conf = $_clamav_config_dir . "/clamd.conf";
my $_clamd_conf_default = $_server_root . "/private/etc/clamd.conf.default";
if ( !(-e $_clamd_conf) && (-e $_clamd_conf_default) ) {
copy($_clamd_conf_default, $_clamd_conf );
}
chown( 0, 0, $_clamd_conf );
chmod( 0644, $_clamd_conf );
my $_freshclam_conf = $_clamav_config_dir . "/freshclam.conf";
my $_freshclam_conf_default = $_server_root . "/private/etc/freshclam.conf.default";
if ( !(-e $_freshclam_conf) && (-e $_freshclam_conf_default) ) {
copy( $_freshclam_conf_default, $_freshclam_conf );
}
chown( 0, 0, $_freshclam_conf );
chmod( 0644, $_freshclam_conf );
my $_mail_log_dir = "/Library/Logs/Mail";
if ( ! -d $_amavis_log_dir ) {
mk_dir( $_mail_log_dir );
chown( 0, 80, $_mail_log_dir );
}
my $_clamav_log = $_mail_log_dir . "/clamav.log";
if ( ! -e $_clamav_log ) {
open(LOG_FILE,">$_clamav_log");
close(LOG_FILE);
chmod( 0640, $_clamav_log );
chown( 83, 80, $_clamav_log );
}
my $_freshclam_log = $_mail_log_dir . "/freshclam.log";
if ( ! -e $_freshclam_log ) {
open(LOG_FILE,">$_freshclam_log");
close(LOG_FILE);
chmod( 0640, $_freshclam_log );
chown( 82, 80, $_freshclam_log );
}
sub mk_dir ($)
{
my ($_in_path) = @_;
if (! -d "$_in_path") {
mkdir("$_in_path", 0755);
}
}