mirror of
https://github.com/friendica/friendica
synced 2024-11-12 23:42:54 +00:00
Update install procedure
- Fix Notice messages in Core\Install and Database\DBStructure - Move local config file template from htconfig.tpl to local.ini.tpl - Remove htconfig.php
This commit is contained in:
parent
e7c3d453c2
commit
0448ca3897
5 changed files with 5 additions and 253 deletions
114
htconfig.php
114
htconfig.php
|
@ -1,114 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
// If automatic system installation fails:
|
|
||||||
|
|
||||||
|
|
||||||
die('The configuration you did manually contains some mistakes. Please have a look at your .htconfig.php file.');
|
|
||||||
// If you are doing the configuration manually, please remove the line above
|
|
||||||
|
|
||||||
|
|
||||||
// Copy or rename this file to .htconfig.php
|
|
||||||
|
|
||||||
// Why .htconfig.php? Because it contains sensitive information which could
|
|
||||||
// give somebody complete control of your database. Apache's default
|
|
||||||
// configuration denies access to and refuses to serve any file beginning
|
|
||||||
// with .ht
|
|
||||||
|
|
||||||
// Then set the following for your MySQL installation
|
|
||||||
|
|
||||||
$db_host = 'your.mysqlhost.com';
|
|
||||||
$db_user = 'mysqlusername';
|
|
||||||
$db_pass = 'mysqlpassword';
|
|
||||||
$db_data = 'mysqldatabasename';
|
|
||||||
|
|
||||||
// Use environment variables for mysql if they are set beforehand
|
|
||||||
if (!empty(getenv('MYSQL_HOST'))
|
|
||||||
&& (!empty(getenv('MYSQL_USERNAME')) || !empty(getenv('MYSQL_USER')))
|
|
||||||
&& !getenv('MYSQL_PASSWORD') === false
|
|
||||||
&& !empty(getenv('MYSQL_DATABASE'))) {
|
|
||||||
$db_host = getenv('MYSQL_HOST');
|
|
||||||
if (!empty(getenv('MYSQL_PORT'))) {
|
|
||||||
$db_host .= ':' . getenv('MYSQL_PORT');
|
|
||||||
}
|
|
||||||
if (!empty(getenv('MYSQL_USERNAME'))) {
|
|
||||||
$db_user = getenv('MYSQL_USERNAME');
|
|
||||||
} else {
|
|
||||||
$db_user = getenv('MYSQL_USER');
|
|
||||||
}
|
|
||||||
$db_pass = (string) getenv('MYSQL_PASSWORD');
|
|
||||||
$db_data = getenv('MYSQL_DATABASE');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the database connection charset to full Unicode (utf8mb4).
|
|
||||||
// Changing this value will likely corrupt the special characters.
|
|
||||||
// You have been warned.
|
|
||||||
$a->config['system']['db_charset'] = "utf8mb4";
|
|
||||||
|
|
||||||
// Choose a legal default timezone. If you are unsure, use "America/Los_Angeles".
|
|
||||||
// It can be changed later and only applies to timestamps for anonymous viewers.
|
|
||||||
|
|
||||||
$default_timezone = 'America/Los_Angeles';
|
|
||||||
|
|
||||||
// Default system language
|
|
||||||
|
|
||||||
$a->config['system']['language'] = 'en';
|
|
||||||
|
|
||||||
// What is your site name?
|
|
||||||
|
|
||||||
$a->config['sitename'] = "Friendica Social Network";
|
|
||||||
|
|
||||||
// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
|
|
||||||
// Be certain to create your own personal account before setting
|
|
||||||
// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on
|
|
||||||
// the registration page. REGISTER_APPROVE requires you set 'admin_email'
|
|
||||||
// to the email address of an already registered person who can authorise
|
|
||||||
// and/or approve/deny the request.
|
|
||||||
|
|
||||||
// In order to perform system administration via the admin panel, admin_email
|
|
||||||
// must precisely match the email address of the person logged in.
|
|
||||||
|
|
||||||
$a->config['register_policy'] = REGISTER_OPEN;
|
|
||||||
$a->config['register_text'] = '';
|
|
||||||
$a->config['admin_email'] = '';
|
|
||||||
|
|
||||||
// Maximum size of an imported message, 0 is unlimited
|
|
||||||
|
|
||||||
$a->config['max_import_size'] = 200000;
|
|
||||||
|
|
||||||
// maximum size of uploaded photos
|
|
||||||
|
|
||||||
$a->config['system']['maximagesize'] = 800000;
|
|
||||||
|
|
||||||
// Location of PHP command line processor
|
|
||||||
|
|
||||||
$a->config['php_path'] = 'php';
|
|
||||||
|
|
||||||
// Server-to-server private message encryption (RINO) is allowed by default.
|
|
||||||
// set to 0 to disable, 1 to enable
|
|
||||||
|
|
||||||
$a->config['system']['rino_encrypt'] = 1;
|
|
||||||
|
|
||||||
// allowed themes (change this from admin panel after installation)
|
|
||||||
|
|
||||||
$a->config['system']['allowed_themes'] = 'quattro,vier,duepuntozero,smoothly';
|
|
||||||
|
|
||||||
// default system theme
|
|
||||||
|
|
||||||
$a->config['system']['theme'] = 'vier';
|
|
||||||
|
|
||||||
|
|
||||||
// By default allow pseudonyms
|
|
||||||
|
|
||||||
$a->config['system']['no_regfullname'] = true;
|
|
||||||
|
|
||||||
//Deny public access to the local directory
|
|
||||||
//$a->config['system']['block_local_dir'] = false;
|
|
||||||
|
|
||||||
// Location of the global directory
|
|
||||||
$a->config['system']['directory'] = 'https://dir.friendica.social';
|
|
||||||
|
|
||||||
// Allowed protocols in link URLs; HTTP protocols always are accepted
|
|
||||||
$a->config['system']['allowed_link_protocols'] = ['ftp', 'ftps', 'mailto', 'cid', 'gopher'];
|
|
||||||
|
|
||||||
// Authentication cookie lifetime, in days
|
|
||||||
$a->config['system']['auth_cookie_lifetime'] = 7;
|
|
|
@ -67,12 +67,11 @@ function install_post(App $a) {
|
||||||
$timezone = notags(trim($_POST['timezone']));
|
$timezone = notags(trim($_POST['timezone']));
|
||||||
$language = notags(trim($_POST['language']));
|
$language = notags(trim($_POST['language']));
|
||||||
$adminmail = notags(trim($_POST['adminmail']));
|
$adminmail = notags(trim($_POST['adminmail']));
|
||||||
$rino = 1;
|
|
||||||
|
|
||||||
// connect to db
|
// connect to db
|
||||||
dba::connect($dbhost, $dbuser, $dbpass, $dbdata);
|
dba::connect($dbhost, $dbuser, $dbpass, $dbdata);
|
||||||
|
|
||||||
Install::install($urlpath, $dbhost, $dbuser, $dbpass, $dbdata, $phpath, $timezone, $language, $adminmail, $rino);
|
Install::install($urlpath, $dbhost, $dbuser, $dbpass, $dbdata, $phpath, $timezone, $language, $adminmail);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
break;
|
break;
|
||||||
|
@ -140,9 +139,7 @@ function install_content(App $a) {
|
||||||
switch ($install_wizard_pass) {
|
switch ($install_wizard_pass) {
|
||||||
case 1: { // System check
|
case 1: { // System check
|
||||||
|
|
||||||
if (x($_POST, 'phpath')) {
|
$phpath = defaults($_POST, 'phpath', 'php');
|
||||||
$phpath = notags(trim($_POST['phpath']));
|
|
||||||
}
|
|
||||||
|
|
||||||
list($checks, $checkspassed) = Install::check($phpath);
|
list($checks, $checkspassed) = Install::check($phpath);
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@ class Install extends BaseObject
|
||||||
|
|
||||||
$checkspassed = array_reduce($checks,
|
$checkspassed = array_reduce($checks,
|
||||||
function ($v, $c) {
|
function ($v, $c) {
|
||||||
if ($c['require']) {
|
if (!empty($c['require'])) {
|
||||||
$v = $v && $c['status'];
|
$v = $v && $c['status'];
|
||||||
}
|
}
|
||||||
return $v;
|
return $v;
|
||||||
|
@ -80,7 +80,7 @@ class Install extends BaseObject
|
||||||
* @param string $adminmail Mail-Adress of the administrator
|
* @param string $adminmail Mail-Adress of the administrator
|
||||||
* @param int $rino Rino-enabled (1 = true, 0 = false)
|
* @param int $rino Rino-enabled (1 = true, 0 = false)
|
||||||
*/
|
*/
|
||||||
public static function install($urlpath, $dbhost, $dbuser, $dbpass, $dbdata, $phpath, $timezone, $language, $adminmail, $rino = 1)
|
public static function install($urlpath, $dbhost, $dbuser, $dbpass, $dbdata, $phpath, $timezone, $language, $adminmail)
|
||||||
{
|
{
|
||||||
$tpl = get_markup_template('local.ini.tpl');
|
$tpl = get_markup_template('local.ini.tpl');
|
||||||
$txt = replace_macros($tpl,[
|
$txt = replace_macros($tpl,[
|
||||||
|
@ -93,7 +93,6 @@ class Install extends BaseObject
|
||||||
'$urlpath' => $urlpath,
|
'$urlpath' => $urlpath,
|
||||||
'$phpath' => $phpath,
|
'$phpath' => $phpath,
|
||||||
'$adminmail' => $adminmail,
|
'$adminmail' => $adminmail,
|
||||||
'$rino' => $rino
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$result = file_put_contents('config/local.ini.php', $txt);
|
$result = file_put_contents('config/local.ini.php', $txt);
|
||||||
|
@ -376,7 +375,7 @@ class Install extends BaseObject
|
||||||
$error_msg = [];
|
$error_msg = [];
|
||||||
$error_msg['head'] = L10n::t('Error message from Curl when fetching');
|
$error_msg['head'] = L10n::t('Error message from Curl when fetching');
|
||||||
$error_msg['url'] = $test['redirect_url'];
|
$error_msg['url'] = $test['redirect_url'];
|
||||||
$error_msg['msg'] = $test['error'];
|
$error_msg['msg'] = defaults($test, 'error', '');
|
||||||
}
|
}
|
||||||
self::addCheck($checks, L10n::t('Url rewrite is working'), $status, true, $help, $error_msg);
|
self::addCheck($checks, L10n::t('Url rewrite is working'), $status, true, $help, $error_msg);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1,118 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/* ********************************************************************
|
|
||||||
* The following configuration has to be within the .htconfig.php
|
|
||||||
* file and will not be overruled by decisions made in the admin panel.
|
|
||||||
*
|
|
||||||
* See below for variables that may be overruled by the admin panel.
|
|
||||||
* ********************************************************************/
|
|
||||||
|
|
||||||
// Set the following for your MySQL installation
|
|
||||||
//
|
|
||||||
// If you need to specify a port for reacing the database, you can do so by
|
|
||||||
// adding ":portnumber" after "your.mysqlhost.com" in the $db_host config.
|
|
||||||
|
|
||||||
$db_host = '{{$dbhost}}';
|
|
||||||
$db_user = '{{$dbuser}}';
|
|
||||||
$db_pass = '{{$dbpass}}';
|
|
||||||
$db_data = '{{$dbdata}}';
|
|
||||||
|
|
||||||
// Use environment variables for mysql if they are set beforehand
|
|
||||||
if (!empty(getenv('MYSQL_HOST'))
|
|
||||||
&& !empty(getenv('MYSQL_PORT'))
|
|
||||||
&& (!empty(getenv('MYSQL_USERNAME')) || !empty(getenv('MYSQL_USER')))
|
|
||||||
&& !empty(getenv('MYSQL_PASSWORD'))
|
|
||||||
&& !empty(getenv('MYSQL_DATABASE'))) {
|
|
||||||
$db_host = getenv('MYSQL_HOST') . ':' . getenv('MYSQL_PORT');
|
|
||||||
if (!empty(getenv('MYSQL_USERNAME'))) {
|
|
||||||
$db_user = getenv('MYSQL_USERNAME');
|
|
||||||
} elseif (!empty(getenv('MYSQL_USER'))) {
|
|
||||||
$db_user = getenv('MYSQL_USER');
|
|
||||||
}
|
|
||||||
$db_pass = getenv('MYSQL_PASSWORD');
|
|
||||||
$db_data = getenv('MYSQL_DATABASE');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Set the database connection charset to full Unicode (utf8mb4).
|
|
||||||
// Changing this value will likely corrupt the special characters.
|
|
||||||
// You have been warned.
|
|
||||||
$a->config['system']['db_charset'] = "utf8mb4";
|
|
||||||
|
|
||||||
// email adress for the system admin
|
|
||||||
|
|
||||||
$a->config['admin_email'] = '{{$adminmail}}';
|
|
||||||
|
|
||||||
// Location of PHP command line processor
|
|
||||||
|
|
||||||
$a->config['php_path'] = '{{$phpath}}';
|
|
||||||
|
|
||||||
// If you are using a subdirectory of your domain you will need to put the
|
|
||||||
// relative path (from the root of your domain) here.
|
|
||||||
// For instance if your URL is 'http://example.com/directory/subdirectory',
|
|
||||||
// set path to 'directory/subdirectory'.
|
|
||||||
|
|
||||||
$a->path = '{{$urlpath}}';
|
|
||||||
|
|
||||||
// Allowed protocols in link URLs; HTTP protocols always are accepted
|
|
||||||
$a->config['system']['allowed_link_protocols'] = array('ftp', 'ftps', 'mailto', 'cid', 'gopher');
|
|
||||||
|
|
||||||
/* *********************************************************************
|
|
||||||
* The configuration below will be overruled by the admin panel.
|
|
||||||
* Changes made below will only have an effect if the database does
|
|
||||||
* not contain any configuration for the friendica system.
|
|
||||||
* *********************************************************************/
|
|
||||||
|
|
||||||
// Choose a legal default timezone. If you are unsure, use "America/Los_Angeles".
|
|
||||||
// It can be changed later and only applies to timestamps for anonymous viewers.
|
|
||||||
|
|
||||||
$default_timezone = '{{$timezone}}';
|
|
||||||
|
|
||||||
// Default system language
|
|
||||||
|
|
||||||
$a->config['system']['language'] = '{{$language}}';
|
|
||||||
|
|
||||||
// What is your site name?
|
|
||||||
|
|
||||||
$a->config['sitename'] = "My Friend Network";
|
|
||||||
|
|
||||||
// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
|
|
||||||
// Be certain to create your own personal account before setting
|
|
||||||
// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on
|
|
||||||
// the registration page. REGISTER_APPROVE requires you set 'admin_email'
|
|
||||||
// to the email address of an already registered person who can authorise
|
|
||||||
// and/or approve/deny the request.
|
|
||||||
|
|
||||||
$a->config['register_policy'] = REGISTER_OPEN;
|
|
||||||
$a->config['register_text'] = '';
|
|
||||||
|
|
||||||
// Maximum size of an imported message, 0 is unlimited
|
|
||||||
|
|
||||||
$a->config['max_import_size'] = 200000;
|
|
||||||
|
|
||||||
// maximum size of uploaded photos
|
|
||||||
|
|
||||||
$a->config['system']['maximagesize'] = 800000;
|
|
||||||
|
|
||||||
// Server-to-server private message encryption (RINO) is allowed by default.
|
|
||||||
// set to 0 to disable, 1 to enable
|
|
||||||
|
|
||||||
$a->config['system']['rino_encrypt'] = {{$rino}};
|
|
||||||
|
|
||||||
// default system theme
|
|
||||||
|
|
||||||
$a->config['system']['theme'] = 'vier';
|
|
||||||
$a->config['system']['allowed_themes'] = 'vier,quattro,duepuntozero,smoothly,frio';
|
|
||||||
|
|
||||||
// By default allow pseudonyms
|
|
||||||
|
|
||||||
$a->config['system']['no_regfullname'] = true;
|
|
||||||
|
|
||||||
//Deny public access to the local directory
|
|
||||||
//$a->config['system']['block_local_dir'] = false;
|
|
||||||
|
|
||||||
// Location of the global directory
|
|
||||||
$a->config['system']['directory'] = 'https://dir.friendica.social';
|
|
||||||
|
|
||||||
// Authentication cookie lifetime, in days
|
|
||||||
$a->config['system']['auth_cookie_lifetime'] = 7;
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php return <<<INI
|
<?php return <<<INI
|
||||||
|
|
||||||
; If automatic system installation fails:
|
|
||||||
|
|
||||||
; Copy this file to local.ini.php
|
|
||||||
|
|
||||||
; Why local.ini.php? Because it contains sensitive information which could
|
|
||||||
; give somebody complete control of your database. Apache's default
|
|
||||||
; configuration will interpret any .php file as a script and won't show the values
|
|
||||||
|
|
||||||
; Then set the following for your MySQL installation
|
|
||||||
|
|
||||||
[database]
|
[database]
|
||||||
hostname = {{$dbhost}}
|
hostname = {{$dbhost}}
|
||||||
username = {{$dbuser}}
|
username = {{$dbuser}}
|
||||||
|
@ -40,8 +30,6 @@ default_timezone = {{$timezone}}
|
||||||
|
|
||||||
language = {{$language}}
|
language = {{$language}}
|
||||||
|
|
||||||
rino_encrypt = {{$rino}}
|
|
||||||
|
|
||||||
allowed_themes = vier,quattro,duepuntozero,smoothly,frio
|
allowed_themes = vier,quattro,duepuntozero,smoothly,frio
|
||||||
theme = vier
|
theme = vier
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue