Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
lolo888
ISPConfig 3
Commits
60b70001
Commit
60b70001
authored
Mar 11, 2014
by
Marius Cramer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implemented apache module check and mod_authz_compat warning for OpenSuSE
parent
696af944
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
92 additions
and
23 deletions
+92
-23
install/dist/lib/opensuse.lib.php
install/dist/lib/opensuse.lib.php
+17
-1
install/install.php
install/install.php
+1
-0
install/lib/install.lib.php
install/lib/install.lib.php
+48
-22
server/lib/classes/system.inc.php
server/lib/classes/system.inc.php
+26
-0
No files found.
install/dist/lib/opensuse.lib.php
View file @
60b70001
...
...
@@ -29,7 +29,23 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
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
;
...
...
install/install.php
View file @
60b70001
...
...
@@ -87,6 +87,7 @@ include_once 'dist/conf/'.$dist['id'].'.conf.php';
//** Installer Interface
//****************************************************************************************************
$inst
=
new
installer
();
swriteln
(
$inst
->
lng
(
' Following will be a few questions for primary configuration so be careful.'
));
swriteln
(
$inst
->
lng
(
' Default values are in [brackets] and can be accepted with <ENTER>.'
));
swriteln
(
$inst
->
lng
(
' Tap in "quit" (without the quotes) to stop the installer.'
.
"
\n\n
"
));
...
...
install/lib/install.lib.php
View file @
60b70001
...
...
@@ -830,29 +830,55 @@ function get_system_timezone() {
}
function
getapacheversion
(
$get_minor
=
false
)
{
global
$app
;
$cmd
=
''
;
if
(
is_installed
(
'apache2ctl'
))
$cmd
=
'apache2ctl -v'
;
elseif
(
is_installed
(
'apachectl'
))
$cmd
=
'apachectl -v'
;
else
{
$app
->
log
(
"Could not check apache version, apachectl not found."
,
LOGLEVEL_WARN
);
return
'2.2'
;
}
exec
(
$cmd
,
$output
,
$return_var
);
if
(
$return_var
!=
0
||
!
$output
[
0
])
{
$app
->
log
(
"Could not check apache version, apachectl did not return any data."
,
LOGLEVEL_WARN
);
return
'2.2'
;
}
if
(
preg_match
(
'/version:\s*Apache\/(\d+)(\.(\d+)(\.(\d+))*)?(\D|$)/i'
,
$output
[
0
],
$matches
))
{
return
$matches
[
1
]
.
(
isset
(
$matches
[
3
])
?
'.'
.
$matches
[
3
]
:
''
)
.
(
isset
(
$matches
[
5
])
&&
$get_minor
==
true
?
'.'
.
$matches
[
5
]
:
''
);
}
else
{
$app
->
log
(
"Could not check apache version, did not find version string in apachectl output."
,
LOGLEVEL_WARN
);
return
'2.2'
;
}
global
$app
;
$cmd
=
''
;
if
(
is_installed
(
'apache2ctl'
))
$cmd
=
'apache2ctl -v'
;
elseif
(
is_installed
(
'apachectl'
))
$cmd
=
'apachectl -v'
;
else
{
$app
->
log
(
"Could not check apache version, apachectl not found."
,
LOGLEVEL_WARN
);
return
'2.2'
;
}
exec
(
$cmd
,
$output
,
$return_var
);
if
(
$return_var
!=
0
||
!
$output
[
0
])
{
$app
->
log
(
"Could not check apache version, apachectl did not return any data."
,
LOGLEVEL_WARN
);
return
'2.2'
;
}
if
(
preg_match
(
'/version:\s*Apache\/(\d+)(\.(\d+)(\.(\d+))*)?(\D|$)/i'
,
$output
[
0
],
$matches
))
{
return
$matches
[
1
]
.
(
isset
(
$matches
[
3
])
?
'.'
.
$matches
[
3
]
:
''
)
.
(
isset
(
$matches
[
5
])
&&
$get_minor
==
true
?
'.'
.
$matches
[
5
]
:
''
);
}
else
{
$app
->
log
(
"Could not check apache version, did not find version string in apachectl output."
,
LOGLEVEL_WARN
);
return
'2.2'
;
}
}
function
getapachemodules
()
{
global
$app
;
$cmd
=
''
;
if
(
is_installed
(
'apache2ctl'
))
$cmd
=
'apache2ctl -t -D DUMP_MODULES'
;
elseif
(
is_installed
(
'apachectl'
))
$cmd
=
'apachectl -t -D DUMP_MODULES'
;
else
{
$app
->
log
(
"Could not check apache modules, apachectl not found."
,
LOGLEVEL_WARN
);
return
array
();
}
exec
(
$cmd
,
$output
,
$return_var
);
if
(
$return_var
!=
0
||
!
$output
[
0
])
{
$app
->
log
(
"Could not check apache modules, apachectl did not return any data."
,
LOGLEVEL_WARN
);
return
array
();
}
$modules
=
array
();
for
(
$i
=
0
;
$i
<
count
(
$output
);
$i
++
)
{
if
(
preg_match
(
'/^\s*(\w+)\s+\((shared|static)\)\s*$/'
,
$output
[
$i
],
$matches
))
{
$modules
[]
=
$matches
[
1
];
}
}
return
$modules
;
}
?>
server/lib/classes/system.inc.php
View file @
60b70001
...
...
@@ -1759,6 +1759,32 @@ class system{
}
}
function
getapachemodules
()
{
global
$app
;
$cmd
=
''
;
if
(
is_installed
(
'apache2ctl'
))
$cmd
=
'apache2ctl -t -D DUMP_MODULES'
;
elseif
(
is_installed
(
'apachectl'
))
$cmd
=
'apachectl -t -D DUMP_MODULES'
;
else
{
$app
->
log
(
"Could not check apache modules, apachectl not found."
,
LOGLEVEL_WARN
);
return
array
();
}
exec
(
$cmd
,
$output
,
$return_var
);
if
(
$return_var
!=
0
||
!
$output
[
0
])
{
$app
->
log
(
"Could not check apache modules, apachectl did not return any data."
,
LOGLEVEL_WARN
);
return
array
();
}
$modules
=
array
();
for
(
$i
=
0
;
$i
<
count
(
$output
);
$i
++
)
{
if
(
preg_match
(
'/^\s*(\w+)\s+\((shared|static)\)\s*$/'
,
$output
[
$i
],
$matches
))
{
$modules
[]
=
$matches
[
1
];
}
}
return
$modules
;
}
}
?>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment