From dbe5b0c9687ca2b1dc2dd7c8f150899335eae329 Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Mon, 26 Sep 2011 17:13:06 -0400
Subject: [PATCH] - OpenSUSE: check if the line "include /etc/nginx/sites-enabled/*.vhost;" exists in /etc/nginx/nginx.conf before it is inserted (installation).
---
install/dist/lib/opensuse.lib.php | 76 ++++++++++++++++++++++++++++++++++++-
1 files changed, 73 insertions(+), 3 deletions(-)
diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index 2e43750..b2953cf 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -521,7 +521,7 @@
replaceLine('/etc/suphp.conf','umask=0077','umask=0022',0);
//}
- // Sites enabled and avaulable dirs
+ // Sites enabled and available dirs
exec('mkdir -p '.$conf['apache']['vhost_conf_enabled_dir']);
exec('mkdir -p '.$conf['apache']['vhost_conf_dir']);
@@ -582,6 +582,66 @@
$command = 'groupadd sshusers';
if(!is_group('sshusers')) caselog($command.' &> /dev/null 2> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ }
+
+ public function configure_nginx(){
+ global $conf;
+
+ if($conf['nginx']['installed'] == false) return;
+ //* Create the logging directory for the vhost logfiles
+ if(!@is_dir($conf['ispconfig_log_dir'].'/httpd')) mkdir($conf['ispconfig_log_dir'].'/httpd', 0755, true);
+
+ // Sites enabled and available dirs
+ exec('mkdir -p '.$conf['nginx']['vhost_conf_enabled_dir']);
+ exec('mkdir -p '.$conf['nginx']['vhost_conf_dir']);
+
+ $content = rf('/etc/nginx/nginx.conf');
+ if(stripos($content, 'include /etc/nginx/sites-enabled/*.vhost;') === false){
+ $content = trim($content);
+ $content = substr($content,0,-1)."\n include /etc/nginx/sites-enabled/*.vhost;\n}";
+ wf('/etc/nginx/nginx.conf',$content);
+ }
+ unset($content);
+
+ // create PHP-FPM pool dir
+ exec('mkdir -p '.$conf['nginx']['php_fpm_pool_dir']);
+
+ $content = rf('/etc/php5/fpm/php-fpm.conf');
+ if(stripos($content, 'include=/etc/php5/fpm/pool.d/*.conf') === false){
+ af('/etc/php5/fpm/php-fpm.conf',"\ninclude=/etc/php5/fpm/pool.d/*.conf");
+ }
+ unset($content);
+ if(!@is_file($conf['nginx']['php_fpm_ini_path'])){
+ if(@is_file('/etc/php5/cli/php.ini')){
+ exec('cp -f /etc/php5/cli/php.ini '.$conf['nginx']['php_fpm_ini_path']);
+ } elseif(@is_file('/etc/php5/fastcgi/php.ini')){
+ exec('cp -f /etc/php5/fastcgi/php.ini '.$conf['nginx']['php_fpm_ini_path']);
+ } elseif(@is_file('/etc/php5/apache2/php.ini')){
+ exec('cp -f /etc/php5/apache2/php.ini '.$conf['nginx']['php_fpm_ini_path']);
+ }
+ }
+
+ //* make sure that webalizer finds its config file when it is directly in /etc
+ if(@is_file('/etc/webalizer.conf') && !@is_dir('/etc/webalizer')) {
+ mkdir('/etc/webalizer');
+ symlink('/etc/webalizer.conf','/etc/webalizer/webalizer.conf');
+ }
+
+ if(is_file('/etc/webalizer/webalizer.conf')) {
+ // Change webalizer mode to incremental
+ replaceLine('/etc/webalizer/webalizer.conf','#IncrementalName','IncrementalName webalizer.current',0,0);
+ replaceLine('/etc/webalizer/webalizer.conf','#Incremental','Incremental yes',0,0);
+ replaceLine('/etc/webalizer/webalizer.conf','#HistoryName','HistoryName webalizer.hist',0,0);
+ }
+
+ // Check the awsatst script
+ if(!is_dir('/usr/share/awstats/tools')) exec('mkdir -p /usr/share/awstats/tools');
+ if(!file_exists('/usr/share/awstats/tools/awstats_buildstaticpages.pl') && file_exists('/usr/share/doc/awstats/examples/awstats_buildstaticpages.pl')) symlink('/usr/share/doc/awstats/examples/awstats_buildstaticpages.pl','/usr/share/awstats/tools/awstats_buildstaticpages.pl');
+ if(file_exists('/etc/awstats/awstats.conf.local')) replaceLine('/etc/awstats/awstats.conf.local','LogFormat=4','LogFormat=1',0,1);
+
+ //* add a sshusers group
+ $command = 'groupadd sshusers';
+ if(!is_group('sshusers')) caselog($command.' &> /dev/null 2> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
}
public function configure_firewall()
@@ -831,8 +891,14 @@
// TODO: FIXME: add the www-data user to the ispconfig group. This is just for testing
// and must be fixed as this will allow the apache user to read the ispconfig files.
// Later this must run as own apache server or via suexec!
- $command = 'groupmod --add-user wwwrun ispconfig';
- caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ if($conf['apache']['installed'] == true){
+ $command = 'groupmod --add-user '.$conf['apache']['user'].' ispconfig';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ }
+ if($conf['nginx']['installed'] == true){
+ $command = 'groupmod --add-user '.$conf['nginx']['user'].' ispconfig';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ }
//* Make the shell scripts executable
$command = "chmod +x $install_dir/server/scripts/*.sh";
@@ -933,6 +999,10 @@
symlink($vhost_conf_dir.'/ispconfig.vhost',$vhost_conf_enabled_dir.'/000-ispconfig.vhost');
}
}
+
+ // create symlinks from /usr/share to phpMyAdmin and SquirrelMail, if they are installed
+ if(!@file_exists('/usr/share/phpmyadmin') && @is_dir('/srv/www/htdocs/phpMyAdmin')) symlink('/srv/www/htdocs/phpMyAdmin/','/usr/share/phpmyadmin');
+ if(!@file_exists('/usr/share/squirrelmail') && @is_dir('/srv/www/htdocs/squirrelmail')) symlink('/srv/www/htdocs/squirrelmail/','/usr/share/squirrelmail');
}
--
Gitblit v1.9.1