From ff218168b95eb6ecdab195c12bafa830eb9d28df Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Fri, 24 May 2013 10:31:26 +0200 Subject: [PATCH] more work on wheezy configs, added fcgid- and phpfpm-commands for setup; fixed non-working call to mysqldump in backup-cronjob Signed-off-by: Michael Kaufmann (d00p) --- lib/configfiles/wheezy.inc.php | 46 ++++++++++++++++--- lib/configfiles_index.inc.php | 2 +- lib/init.php | 2 + scripts/jobs/cron_backup.php | 2 +- .../debian_wheezy/postfix_dovecot/etc_aliases | 28 +++++++++++ 5 files changed, 71 insertions(+), 9 deletions(-) create mode 100644 templates/misc/configfiles/debian_wheezy/postfix_dovecot/etc_aliases diff --git a/lib/configfiles/wheezy.inc.php b/lib/configfiles/wheezy.inc.php index 4beedb07..59cfdde8 100644 --- a/lib/configfiles/wheezy.inc.php +++ b/lib/configfiles/wheezy.inc.php @@ -116,7 +116,7 @@ return Array( 'label' => 'Bind9', 'commands' => Array( 'apt-get install bind9', - 'echo "include \"' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf\";" >> /etc/bind/named.conf', + 'echo "include \"' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf\";" >> /etc/bind/named.conf.local', 'touch ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf', 'chown root:bind ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf', 'chmod 0644 ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf' @@ -174,7 +174,8 @@ return Array( 'etc_postfix_mysql-virtual_mailbox_domains.cf' => '/etc/postfix/mysql-virtual_mailbox_domains.cf', 'etc_postfix_mysql-virtual_mailbox_maps.cf' => '/etc/postfix/mysql-virtual_mailbox_maps.cf', 'etc_postfix_mysql-virtual_sender_permissions.cf' => '/etc/postfix/mysql-virtual_sender_permissions.cf', - 'etc_postfix_sasl_smtpd.conf' => '/etc/postfix/sasl/smtpd.conf' + 'etc_postfix_sasl_smtpd.conf' => '/etc/postfix/sasl/smtpd.conf', + 'etc_aliases' => '/etc/aliases' ), 'restart' => Array( 'newaliases', @@ -234,11 +235,12 @@ return Array( 'etc_postfix_mysql-virtual_alias_maps.cf' => '/etc/postfix/mysql-virtual_alias_maps.cf', 'etc_postfix_mysql-virtual_mailbox_domains.cf' => '/etc/postfix/mysql-virtual_mailbox_domains.cf', 'etc_postfix_mysql-virtual_mailbox_maps.cf' => '/etc/postfix/mysql-virtual_mailbox_maps.cf', - 'etc_postfix_mysql-virtual_sender_permissions.cf' => '/etc/postfix/mysql-virtual_sender_permissions.cf' + 'etc_postfix_mysql-virtual_sender_permissions.cf' => '/etc/postfix/mysql-virtual_sender_permissions.cf', + 'etc_aliases' => '/etc/aliases' ), 'restart' => Array( - '/etc/init.d/postfix restart', - 'newaliases' + 'newaliases', + '/etc/init.d/postfix restart' ) ), 'postfix_mxaccess' => Array( @@ -392,11 +394,41 @@ return Array( 'restart' => Array( '/etc/init.d/nscd restart' ) + ), + 'fcgid' => array( + 'label' => 'FCGID', + 'commands' => array( + 'apt-get install apache2-suexec libapache2-mod-fcgid php5-cgi', + 'a2enmod suexec fcgid', + ($settings['system']['mod_fcgid_ownvhost'] == '1') ? 'groupadd -f '.$settings['system']['mod_fcgid_httpgroup'] : null, + ($settings['system']['mod_fcgid_ownvhost'] == '1') ? 'useradd -s /bin/false -g '.$settings['system']['mod_fcgid_httpgroup'].' '.$settings['system']['mod_fcgid_httpuser'] : null, + ($settings['system']['mod_fcgid_ownvhost'] == '1') ? 'chown -R '.$settings['system']['mod_fcgid_httpuser'].':'.$settings['system']['mod_fcgid_httpgroup'].' '.$pathtophpfiles : null, + ($settings['system']['mod_fcgid_ownvhost'] == '1') ? 'mkdir -p '.makeCorrectDir($settings['system']['mod_fcgid_configdir']) : null, + ($settings['system']['mod_fcgid_ownvhost'] == '1') ? 'mkdir -p '.makeCorrectDir($settings['system']['mod_fcgid_tmpdir']) : null, + ($settings['system']['mod_fcgid_ownvhost'] == '1') ? 'a2dismod php5' : null + ), + 'restart' => Array( + '/etc/init.d/apache2 restart' + ) + ), + 'php-fpm' => array( + 'label' => 'PHP-FPM', + 'commands' => array( + '# add "non-free" after all occurances of "main" in /etc/apt/sources.list', + '# this is needed for libapache2-mod-fastcgi to install', + 'apt-get install apache2-suexec libapache2-mod-fastcgi php5-fpm', + '# change fpm-configuration directory to "/etc/php5/fpm/pool.d/" in froxlor', + 'sed -i.bak \'s/^;include=\/etc\/php5\/fpm/*.conf/include=include=\/etc\/php5\/fpm\/pool.d\/*.conf/\' /etc/php5/fpm/php-fpm.conf', + 'rm /etc/php5/fpm/pool.d/www.conf', + 'a2enmod suexec fastcgi actions', + ($settings['phpfpm']['enabled_ownvhost'] == '1') ? 'groupadd -f '.$settings['phpfpm']['vhost_httpgroup'] : null, + ($settings['phpfpm']['enabled_ownvhost'] == '1') ? 'useradd -s /bin/false -g '.$settings['phpfpm']['vhost_httpgroup'].' '.$settings['phpfpm']['vhost_httpuser'] : null, + ($settings['phpfpm']['enabled_ownvhost'] == '1') ? 'chown -R '.$settings['phpfpm']['vhost_httpuser'].':'.$settings['phpfpm']['vhost_httpgroup'].' '.$pathtophpfiles : null, + ($settings['phpfpm']['enabled_ownvhost'] == '1') ? 'a2dismod php5' : null + ) ) ) ) ) ) ); - -?> diff --git a/lib/configfiles_index.inc.php b/lib/configfiles_index.inc.php index 6b7de6a2..bffc97e1 100644 --- a/lib/configfiles_index.inc.php +++ b/lib/configfiles_index.inc.php @@ -45,5 +45,5 @@ else $cfgPath = 'lib/configfiles/'; $configfiles = Array(); -$configfiles = array_merge(include $cfgPath . 'squeeze.inc.php', include $cfgPath . 'wheezy.inc.php', include $cfgPath . 'precise.inc.php', include $cfgPath . 'lucid.inc.php', include $cfgPath . 'gentoo.inc.php', include $cfgPath . 'suse11.inc.php', include $cfgPath . 'sle10.inc.php', include $cfgPath . 'freebsd.inc.php'); +$configfiles = array_merge(include $cfgPath . 'wheezy.inc.php', include $cfgPath . 'squeeze.inc.php', include $cfgPath . 'precise.inc.php', include $cfgPath . 'lucid.inc.php', include $cfgPath . 'gentoo.inc.php', include $cfgPath . 'suse11.inc.php', include $cfgPath . 'sle10.inc.php', include $cfgPath . 'freebsd.inc.php'); diff --git a/lib/init.php b/lib/init.php index 78094660..f351e0cb 100644 --- a/lib/init.php +++ b/lib/init.php @@ -78,6 +78,8 @@ if(!is_readable('lib/userdata.inc.php')) die('You have to make the file "lib/userdata.inc.php" readable for the http-process!'); } +define('FROXLOR_INSTALL_DIR', dirname(dirname(__FILE__))); + /** * Includes the Usersettings eg. MySQL-Username/Passwort etc. */ diff --git a/scripts/jobs/cron_backup.php b/scripts/jobs/cron_backup.php index 5e041ef6..9b54e052 100644 --- a/scripts/jobs/cron_backup.php +++ b/scripts/jobs/cron_backup.php @@ -51,7 +51,7 @@ if($settings['system']['backup_enabled'] == '1'){ $dbs_result = $db->query("SELECT databasename FROM `" . TABLE_PANEL_DATABASES . "` WHERE `customerid` = '" . $db->escape($row['customerid']) . "';"); while($dbs_row = $db->fetch_array($dbs_result)){ // create customers sql backup - safe_exec(escapeshellarg($settings['system']['backup_mysqldump_path']) . ' --opt --force --allow-keywords -u ' . escapeshellarg($sql_root[0]['user']) . ' -p' . escapeshellarg($sql_root[0]['password']) . ' -h ' . $sql_root[0]['host'] . ' ' . escapeshellarg($dbs_row['databasename']) . ' -r ' . escapeshellarg($settings['system']['backup_dir']) . escapeshellarg($row['loginname']) . '/' . escapeshellarg($dbs_row['databasename']) . '.sql' ); + safe_exec(escapeshellcmd($settings['system']['backup_mysqldump_path']) . ' --opt --force --allow-keywords -u ' . escapeshellarg($sql_root[0]['user']) . ' -p' . escapeshellarg($sql_root[0]['password']) . ' -h ' . $sql_root[0]['host'] . ' -B ' . escapeshellarg($dbs_row['databasename']) . ' -r ' . escapeshellarg($settings['system']['backup_dir']) . escapeshellarg($row['loginname']) . '/' . escapeshellarg($dbs_row['databasename']) . '.sql' ); // compress sql backup safe_exec('tar -C ' . escapeshellarg($settings['system']['backup_dir']) . escapeshellarg($row['loginname']) . ' -c -z -f ' . escapeshellarg($settings['system']['backup_dir']) . $row['loginname'] . '/' . escapeshellarg($dbs_row['databasename']) . '.tar.gz ' . escapeshellarg($dbs_row['databasename']) . '.sql'); // remove uncompresed sql files diff --git a/templates/misc/configfiles/debian_wheezy/postfix_dovecot/etc_aliases b/templates/misc/configfiles/debian_wheezy/postfix_dovecot/etc_aliases new file mode 100644 index 00000000..47a61990 --- /dev/null +++ b/templates/misc/configfiles/debian_wheezy/postfix_dovecot/etc_aliases @@ -0,0 +1,28 @@ +MAILER-DAEMON: postmaster +postmaster: root + +adm: root +bin: root +daemon: root +exim: root +lp: root +mail: root +named: root +nobody: root +postfix: root + +operator: root + +abuse: postmaster +ftp: root +hostmaster: root +news: usenet +noc: root +security: root +usenet: root +uucp: root +webmaster: root +www: webmaster + +# change this to a valid e-mail address you can access +root: root@