aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2016-11-06 14:04:06 +0100
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2016-11-06 14:04:06 +0100
commit829d9997d31929b45384808f7cca343edb00b0d2 (patch)
tree18e07a53a06056f4d0710f70c1fed255fc329baa
parent92910c212b4d2796c222c7891ea319fde3149525 (diff)
Fix small bugs in install
Small fixes in install (e.g. better check that DB password works)
-rw-r--r--CHANGELOG.md1
-rw-r--r--app/Models/UserDAO.php1
-rw-r--r--app/install.php4
-rw-r--r--cli/README.md4
-rwxr-xr-xcli/create-user.php3
-rwxr-xr-xcli/do-install.php12
-rw-r--r--data/config.default.php2
-rw-r--r--lib/lib_install.php6
8 files changed, 20 insertions, 13 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 52d95d7bd..9410ac339 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,7 @@
* Bug fixing
* Fix bug in estimating last user activity [#1358](https://github.com/FreshRSS/FreshRSS/issues/1358)
* PostgreSQL: fix bug when updating cached values [#1360](https://github.com/FreshRSS/FreshRSS/issues/1360)
+ * Fix small bugs in installer [#1363](https://github.com/FreshRSS/FreshRSS/pull/1363)
## 2016-11-02 FreshRSS 1.6.1
diff --git a/app/Models/UserDAO.php b/app/Models/UserDAO.php
index 190954b1a..32bc6de2f 100644
--- a/app/Models/UserDAO.php
+++ b/app/Models/UserDAO.php
@@ -88,7 +88,6 @@ class FreshRSS_UserDAO extends Minz_ModelPdo {
if (($username == '') || (!ctype_alnum($username))) {
$username = Minz_Session::param('currentUser', '_');
}
- Minz_Log::debug('touch ' . $username);
return touch(join_path(DATA_PATH , 'users', $username, 'config.php'));
}
diff --git a/app/install.php b/app/install.php
index fcc901713..5c8a6e0e8 100644
--- a/app/install.php
+++ b/app/install.php
@@ -230,7 +230,7 @@ function saveStep3() {
$_SESSION['bd_error'] = '';
header('Location: index.php?step=4');
} else {
- $_SESSION['bd_error'] = empty($config_array['db']['bd_error']) ? 'Unknown error!' : $config_array['db']['bd_error'];
+ $_SESSION['bd_error'] = empty($config_array['db']['error']) ? 'Unknown error!' : $config_array['db']['error'];
}
}
invalidateHttpCache();
@@ -375,7 +375,7 @@ function checkDbUser(&$dbOptions) {
}
} catch (PDOException $e) {
$ok = false;
- $dbOptions['bd_error'] = $e->getMessage();
+ $dbOptions['error'] = $e->getMessage();
}
return $ok;
}
diff --git a/cli/README.md b/cli/README.md
index 35c0033a4..25b12234c 100644
--- a/cli/README.md
+++ b/cli/README.md
@@ -32,8 +32,8 @@ Options in parenthesis are optional.
```sh
cd /usr/share/FreshRSS
-./cli/do-install.php --default_user admin --auth_type form ( --environment production --base_url https://rss.example.net/ --title FreshRSS --allow_anonymous --api_enabled --db-type mysql --db-host localhost:3306 --db-user freshrss --db-password dbPassword123 --db-base freshrss --db-prefix freshrss )
-# --auth_type can be: 'form' (recommended), 'http_auth' (using the Web server access control), 'none' (dangerous)
+./cli/do-install.php --default_user admin ( --auth_type form --environment production --base_url https://rss.example.net/ --title FreshRSS --allow_anonymous --api_enabled --db-type mysql --db-host localhost:3306 --db-user freshrss --db-password dbPassword123 --db-base freshrss --db-prefix freshrss )
+# --auth_type can be: 'form' (default), 'http_auth' (using the Web server access control), 'none' (dangerous)
# --db-type can be: 'sqlite' (default), 'mysql' (MySQL or MariaDB), 'pgsql' (PostgreSQL)
# --environment can be: 'production' (default), 'development' (for additional log messages)
# --db-prefix is an optional prefix in front of the names of the tables
diff --git a/cli/create-user.php b/cli/create-user.php
index 008b82ce3..444264cc7 100755
--- a/cli/create-user.php
+++ b/cli/create-user.php
@@ -43,6 +43,9 @@ if (!$ok) {
invalidateHttpCache(FreshRSS_Context::$system_conf->default_user);
+echo '• Remember to refresh the feeds of the user: ', $username , "\n",
+ "\t", './cli/actualize-user.php --user ', $username, "\n";
+
accessRights();
done($ok);
diff --git a/cli/do-install.php b/cli/do-install.php
index 667191680..b687b86cb 100755
--- a/cli/do-install.php
+++ b/cli/do-install.php
@@ -26,9 +26,9 @@ $dBparams = array(
$options = getopt('', array_merge($params, $dBparams));
-if (empty($options['default_user']) || empty($options['auth_type'])) {
- fail('Usage: ' . basename(__FILE__) . " --default_user admin --auth_type form" .
- " ( --environment production --base_url https://rss.example.net/" .
+if (empty($options['default_user'])) {
+ fail('Usage: ' . basename(__FILE__) . " --default_user admin ( --auth_type form" .
+ " --environment production --base_url https://rss.example.net/" .
" --title FreshRSS --allow_anonymous --api_enabled" .
" --db-type mysql --db-host localhost:3306 --db-user freshrss --db-password dbPassword123" .
" --db-base freshrss --db-prefix freshrss )");
@@ -51,7 +51,7 @@ if (!ctype_alnum($options['default_user'])) {
fail('FreshRSS invalid default username (must be ASCII alphanumeric): ' . $options['default_user']);
}
-if (!in_array($options['auth_type'], array('form', 'http_auth', 'none'))) {
+if (isset($options['auth_type']) && !in_array($options['auth_type'], array('form', 'http_auth', 'none'))) {
fail('FreshRSS invalid authentication method (auth_type must be one of { form, http_auth, none }: ' . $options['auth_type']);
}
@@ -86,11 +86,11 @@ if (file_put_contents(join_path(DATA_PATH, 'config.php'), "<?php\n return " . va
$config['db']['default_user'] = $config['default_user'];
if (!checkDb($config['db'])) {
@unlink(join_path(DATA_PATH, 'config.php'));
- fail('FreshRSS database error: ' . (empty($config['db']['bd_error']) ? 'Unknown error' : $config['db']['bd_error']));
+ fail('FreshRSS database error: ' . (empty($config['db']['error']) ? 'Unknown error' : $config['db']['error']));
}
echo '• Remember to create the default user: ', $config['default_user'] , "\n",
- "\t", './cli/create-user.php --user ', $config['default_user'] , " --password 'password' --more-options\n";
+ "\t", './cli/create-user.php --user ', $config['default_user'], " --password 'password' --more-options\n";
accessRights();
diff --git a/data/config.default.php b/data/config.default.php
index d3cd3bf22..8b07b85cd 100644
--- a/data/config.default.php
+++ b/data/config.default.php
@@ -46,7 +46,7 @@ return array(
# `http_auth` is an access controled by the HTTP Web server (e.g. `/FreshRSS/p/i/.htaccess` for Apache)
# if you use `http_auth`, remember to protect only `/FreshRSS/p/i/`,
# and in particular not protect `/FreshRSS/p/api/` if you would like to use the API (different login system).
- 'auth_type' => 'none',
+ 'auth_type' => 'form',
# Allow or not the use of the API, used for mobile apps.
# End-point is http://example.net/FreshRSS/p/api/greader.php
diff --git a/lib/lib_install.php b/lib/lib_install.php
index 0e7b7f036..dd8090bcd 100644
--- a/lib/lib_install.php
+++ b/lib/lib_install.php
@@ -54,8 +54,8 @@ function generateSalt() {
function checkDb(&$dbOptions) {
$dsn = '';
+ $driver_options = null;
try {
- $driver_options = null;
switch ($dbOptions['type']) {
case 'mysql':
include_once(APP_PATH . '/SQL/install.sql.mysql.php');
@@ -99,8 +99,12 @@ function checkDb(&$dbOptions) {
default:
return false;
}
+
+ $c = new PDO($dsn, $dbOptions['user'], $dbOptions['password'], $driver_options);
+ $res = $c->query('SELECT 1');
} catch (PDOException $e) {
$dsn = '';
+ syslog(LOG_DEBUG, 'FreshRSS SQL warning: ' . $e->getMessage());
$dbOptions['error'] = $e->getMessage();
}
$dbOptions['dsn'] = $dsn;