| | |
| | | */ |
| | | |
| | | class installer_dist extends installer_base { |
| | | |
| | | |
| | | public function __construct() { |
| | | //** check apache modules */ |
| | | $mods = getapachemodules(); |
| | | if(in_array('authz_compat', $mods, true)) { |
| | | swriteln($inst->lng(' WARNING! You are using mod_authz_compat.')); |
| | | swriteln($inst->lng(' Please make sure that your apache config uses the new auth syntax:')); |
| | | swriteln($inst->lng(' <Directory />')); |
| | | swriteln($inst->lng(' Options None')); |
| | | swriteln($inst->lng(' AllowOverride None')); |
| | | swriteln($inst->lng(' Require all denied')); |
| | | swriteln($inst->lng(' </Directory>'."\n")); |
| | | |
| | | swriteln($inst->lng(' If it uses the old syntax (deny from all) ISPConfig would fail to work.')); |
| | | } |
| | | } |
| | | |
| | | public function configure_mailman($status = 'insert') { |
| | | global $conf; |
| | | |
| | |
| | | |
| | | //* Create aliasaes |
| | | exec('/usr/lib/mailman/bin/genaliases 2>/dev/null'); |
| | | if(is_file('/var/lib/mailman/data/virtual-mailman')) exec('postmap /var/lib/mailman/data/virtual-mailman'); |
| | | } |
| | | |
| | | function configure_postfix($options = '') |
| | |
| | | |
| | | if(!stristr($options, 'dont-create-certs')) { |
| | | //* Create the SSL certificate |
| | | $command = 'cd '.$config_dir.'; ' |
| | | .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509'; |
| | | exec($command); |
| | | if(AUTOINSTALL){ |
| | | $command = 'cd '.$config_dir.'; ' |
| | | ."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509"; |
| | | } else { |
| | | $command = 'cd '.$config_dir.'; ' |
| | | .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509'; |
| | | } |
| | | |
| | | $command = 'chmod o= '.$config_dir.'/smtpd.key'; |
| | | caselog($command.' &> /dev/null', __FILE__, __LINE__, 'EXECUTED: '.$command, 'Failed to execute the command '.$command); |
| | |
| | | 'virtual_transport = dovecot', |
| | | 'smtpd_sasl_type = dovecot', |
| | | 'smtpd_sasl_path = private/auth', |
| | | 'receive_override_options = no_address_mappings' |
| | | ); |
| | | |
| | | // Make a backup copy of the main.cf file |
| | |
| | | $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content); |
| | | $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content); |
| | | $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content); |
| | | $content = str_replace('{server_id}', $conf['server_id'], $content); |
| | | wf("$config_dir/$configfile", $content); |
| | | |
| | | exec("chmod 600 $config_dir/$configfile"); |
| | | exec("chown root:root $config_dir/$configfile"); |
| | | |
| | | // Dovecot shall ignore mounts in website directory |
| | | exec("doveadm mount add '/srv/www/*' ignore"); |
| | | if(is_installed('doveadm')) exec("doveadm mount add '/srv/www/*' ignore > /dev/null 2> /dev/null"); |
| | | |
| | | } |
| | | |
| | |
| | | $command = 'usermod -a -G ispapps '.$conf['nginx']['user']; |
| | | caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); |
| | | } |
| | | // add nobody user to www group, as the default php-fpm pool from opensuse runs as nobody |
| | | $command = 'usermod -a -G www nobody'; |
| | | caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); |
| | | } |
| | | |
| | | //* Make the shell scripts executable |
| | |
| | | |
| | | //* Remove Domain module as its functions are available in the client module now |
| | | if(@is_dir('/usr/local/ispconfig/interface/web/domain')) exec('rm -rf /usr/local/ispconfig/interface/web/domain'); |
| | | |
| | | // Add symlink for patch tool |
| | | if(!is_link('/usr/local/bin/ispconfig_patch')) exec('ln -s /usr/local/ispconfig/server/scripts/ispconfig_patch /usr/local/bin/ispconfig_patch'); |
| | | |
| | | |
| | | } |