diff --git a/install/lib/install.lib.php b/install/lib/install.lib.php index eac79e9872d241e53e29028ff425ab9de6bcb773..501cf3b35765e41864d7a143a1e2a904bc342962 100644 --- a/install/lib/install.lib.php +++ b/install/lib/install.lib.php @@ -666,6 +666,23 @@ function removeLine($filename, $search_pattern, $strict = 0) { } } +function hasLine($filename, $search_pattern, $strict = 0) { + if($lines = @file($filename)) { + foreach($lines as $line) { + if($strict == 0) { + if(stristr($line, $search_pattern)) { + return true; + } + } else { + if(trim($line) == $search_pattern) { + return true; + } + } + } + } + return false; +} + function is_installed($appname) { exec('which '.escapeshellcmd($appname).' 2> /dev/null', $out, $returncode); if(isset($out[0]) && stristr($out[0], $appname) && $returncode == 0) { diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index 14d054ac429e1e8d61b43d70e146e30320f421a9..1f691aed32d0d84f4dfebf6403bb410945db72b5 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -1225,6 +1225,15 @@ class installer_base { replaceLine('/etc/apache2/ports.conf', 'Listen 443', 'Listen 443', 1); } + if(is_file('/etc/apache2/apache.conf')) { + if(hasLine('/etc/apache2/apache.conf', 'Include sites-enabled/', 1) == false) { + if(hasLine('/etc/apache2/apache.conf', 'IncludeOptional sites-enabled/*.conf', 1) == false) { + replaceLine('/etc/apache2/apache.conf', 'Include sites-enabled/', 'Include sites-enabled/', 1, 1); + } elseif(hasLine('/etc/apache2/apache.conf', 'IncludeOptional sites-enabled/*.vhost', 1) == false) { + replaceLine('/etc/apache2/apache.conf', 'IncludeOptional sites-enabled/*.vhost', 'IncludeOptional sites-enabled/*.vhost', 1, 1); + } + } + } //* Copy the ISPConfig configuration include $vhost_conf_dir = $conf['apache']['vhost_conf_dir'];