Merge pull request #157 from owncloud/setup
Make lib/setup.php usable outside of install setup
This commit is contained in:
commit
7b53c9d3f0
|
@ -0,0 +1,53 @@
|
|||
<?php
|
||||
|
||||
// Check for autosetup:
|
||||
$autosetup_file = OC::$SERVERROOT."/config/autoconfig.php";
|
||||
if( file_exists( $autosetup_file )) {
|
||||
OC_Log::write('core', 'Autoconfig file found, setting up owncloud...', OC_Log::INFO);
|
||||
include $autosetup_file;
|
||||
$_POST['install'] = 'true';
|
||||
$_POST = array_merge ($_POST, $AUTOCONFIG);
|
||||
unlink($autosetup_file);
|
||||
}
|
||||
|
||||
OC_Util::addScript('setup');
|
||||
|
||||
$hasSQLite = (is_callable('sqlite_open') or class_exists('SQLite3'));
|
||||
$hasMySQL = is_callable('mysql_connect');
|
||||
$hasPostgreSQL = is_callable('pg_connect');
|
||||
$hasOracle = is_callable('oci_connect');
|
||||
$datadir = OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data');
|
||||
|
||||
// Test if .htaccess is working
|
||||
$content = "deny from all";
|
||||
file_put_contents(OC::$SERVERROOT.'/data/.htaccess', $content);
|
||||
|
||||
$opts = array(
|
||||
'hasSQLite' => $hasSQLite,
|
||||
'hasMySQL' => $hasMySQL,
|
||||
'hasPostgreSQL' => $hasPostgreSQL,
|
||||
'hasOracle' => $hasOracle,
|
||||
'directory' => $datadir,
|
||||
'secureRNG' => OC_Util::secureRNG_available(),
|
||||
'htaccessWorking' => OC_Util::ishtaccessworking(),
|
||||
'errors' => array(),
|
||||
);
|
||||
|
||||
if(isset($_POST['install']) AND $_POST['install']=='true') {
|
||||
// We have to launch the installation process :
|
||||
$e = OC_Setup::install($_POST);
|
||||
$errors = array('errors' => $e);
|
||||
|
||||
if(count($e) > 0) {
|
||||
//OC_Template::printGuestPage("", "error", array("errors" => $errors));
|
||||
$options = array_merge($_POST, $opts, $errors);
|
||||
OC_Template::printGuestPage("", "installation", $options);
|
||||
}
|
||||
else {
|
||||
header("Location: ".OC::$WEBROOT.'/');
|
||||
exit();
|
||||
}
|
||||
}
|
||||
else {
|
||||
OC_Template::printGuestPage("", "installation", $opts);
|
||||
}
|
16
lib/base.php
16
lib/base.php
|
@ -227,9 +227,7 @@ class OC{
|
|||
if (isset($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache')) {
|
||||
if(!OC_Util::ishtaccessworking()) {
|
||||
if(!file_exists(OC::$SERVERROOT.'/data/.htaccess')) {
|
||||
$content = "deny from all\n";
|
||||
$content.= "IndexIgnore *";
|
||||
file_put_contents(OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data').'/.htaccess', $content);
|
||||
OC_Setup::protectDataDirectory();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -481,17 +479,7 @@ class OC{
|
|||
*/
|
||||
public static function handleRequest() {
|
||||
if (!OC_Config::getValue('installed', false)) {
|
||||
// Check for autosetup:
|
||||
$autosetup_file = OC::$SERVERROOT."/config/autoconfig.php";
|
||||
if( file_exists( $autosetup_file )) {
|
||||
OC_Log::write('core', 'Autoconfig file found, setting up owncloud...', OC_Log::INFO);
|
||||
include $autosetup_file;
|
||||
$_POST['install'] = 'true';
|
||||
$_POST = array_merge ($_POST, $AUTOCONFIG);
|
||||
unlink($autosetup_file);
|
||||
}
|
||||
OC_Util::addScript('setup');
|
||||
require_once 'setup.php';
|
||||
require_once 'core/setup.php';
|
||||
exit();
|
||||
}
|
||||
// Handle WebDAV
|
||||
|
|
|
@ -1,45 +1,5 @@
|
|||
<?php
|
||||
|
||||
$hasSQLite = (is_callable('sqlite_open') or class_exists('SQLite3'));
|
||||
$hasMySQL = is_callable('mysql_connect');
|
||||
$hasPostgreSQL = is_callable('pg_connect');
|
||||
$hasOracle = is_callable('oci_connect');
|
||||
$datadir = OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data');
|
||||
|
||||
// Test if .htaccess is working
|
||||
$content = "deny from all";
|
||||
file_put_contents(OC::$SERVERROOT.'/data/.htaccess', $content);
|
||||
|
||||
$opts = array(
|
||||
'hasSQLite' => $hasSQLite,
|
||||
'hasMySQL' => $hasMySQL,
|
||||
'hasPostgreSQL' => $hasPostgreSQL,
|
||||
'hasOracle' => $hasOracle,
|
||||
'directory' => $datadir,
|
||||
'secureRNG' => OC_Util::secureRNG_available(),
|
||||
'htaccessWorking' => OC_Util::ishtaccessworking(),
|
||||
'errors' => array(),
|
||||
);
|
||||
|
||||
if(isset($_POST['install']) AND $_POST['install']=='true') {
|
||||
// We have to launch the installation process :
|
||||
$e = OC_Setup::install($_POST);
|
||||
$errors = array('errors' => $e);
|
||||
|
||||
if(count($e) > 0) {
|
||||
//OC_Template::printGuestPage("", "error", array("errors" => $errors));
|
||||
$options = array_merge($_POST, $opts, $errors);
|
||||
OC_Template::printGuestPage("", "installation", $options);
|
||||
}
|
||||
else {
|
||||
header("Location: ".OC::$WEBROOT.'/');
|
||||
exit();
|
||||
}
|
||||
}
|
||||
else {
|
||||
OC_Template::printGuestPage("", "installation", $opts);
|
||||
}
|
||||
|
||||
class OC_Setup {
|
||||
public static function install($options) {
|
||||
$error = array();
|
||||
|
@ -607,6 +567,10 @@ class OC_Setup {
|
|||
$content.= "Options -Indexes\n";
|
||||
@file_put_contents(OC::$SERVERROOT.'/.htaccess', $content); //supress errors in case we don't have permissions for it
|
||||
|
||||
self::protectDataDirectory();
|
||||
}
|
||||
|
||||
public static function protectDataDirectory() {
|
||||
$content = "deny from all\n";
|
||||
$content.= "IndexIgnore *";
|
||||
file_put_contents(OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data').'/.htaccess', $content);
|
||||
|
|
Loading…
Reference in New Issue