Welcome to Geeklog, Anonymous Thursday, March 28 2024 @ 12:18 pm EDT

Geeklog Forums

[SOLVED] Can not install any Geeklog-2.xx version -- (mysqli.class.php)


Status: offline

chris

Forum User
Newbie
Registered: 01/30/17
Posts: 11
Location:the terminal / console
Greetings all,
I've been trying all morning to get any 2.xx version of
Geeklog to install; all without success. Frown
It seems to finish, but pressing continue on the second page
of the install, after entering all the necessary information; I'm
given what looks like a blank page (view source reveals there's
minimal markup in it). The database is filled by the install. But
Geeklog doesn't work. The web server logs revealed no errors,
but I started looking at the logs in the Geeklog logs/ dir, and
discovered the error.log contained:
Text Formatted Code
E_USER_ERROR(256) - 1044: Access denied for user 'XXXXXXX'@'localhost' to database 'geeklog_db' @ /usr/local/www/home.page/glsys/system/databases/mysqli.class.php line 375

But how can that be? The Geeklog installer filled the MySQL
database with the tables, using the same credentials.
I checked, and confirmed that the credentials were still good
on that DB. So I guess Geeklog-2.xx isn't compatible with
MySQL-5.5.40? Or what else could it be?
FWIW
Apache-2.2
PHP-5.3.90
MySQL-5.5.40
any Geeklog-2.xx

Thank you for all your time, and consideration.

--Chris
 Quote

Status: offline

chris

Forum User
Newbie
Registered: 01/30/17
Posts: 11
Location:the terminal / console
OK. Just tried version 2.00, and had success!
But an attempt to try 2.11 again, failed with the
same error(s) as reported earlier. I guess I'm stuck at
version 2.00. Frown

--Chris
 Quote

Status: offline

chris

Forum User
Newbie
Registered: 01/30/17
Posts: 11
Location:the terminal / console
OK. I sorted it.
After checking out a copy of HEAD (master) on GitHub, to give it
a try. It too failed in the same way. So I decided to try the
GRANT LOCK statement mentioned as a possible solution for
similar problems, and it worked. Smile
For others who might run into this; I used the following statement
on MySQL version 5.5.40:
AFTER creating the Geeklog database, and granting the necessary
privileges for the user, and AFTER flushing privileges;
Use the following:
Text Formatted Code
GRANT LOCK TABLES ON geeklog_db.* TO 'geeklogdbuser'@'localhost' identified by 'geekloguserpassword';

REPLACING
geeklog_db for YOUR geeklog db
geeklogdbuser for YOUR Geeklog DB user
and
geekloguserpassword for YOUR Geeklog DB user password
I know, probably already obvious, but just sayin, just in case. Wink

--Chris

P.S. The newest version (master) on Github really looks like
it'll be a treat!
 Quote

Status: offline

Laugh

Site Admin
Admin
Registered: 09/27/05
Posts: 1468
Location:Canada
Hi Chris,

Glad you got it sorted out. Your DB user used by Geeklog should have all privileges given. Locking of tables has been used for a while with comments (which would have only been noticed when adding comments) and I think we added locking recently for session tables (which is used on every page load) so that is probably why 2.0.0 worked and 2.1.1 did not.

I will add some info to the docs so hopefully it is more clear on the permissions that the db user needs.

Tom
One of the Geeklog Core Developers.
 Quote

Status: offline

chris

Forum User
Newbie
Registered: 01/30/17
Posts: 11
Location:the terminal / console
Hello Laugh, and thanks for taking the time to reply!
FWIW I did grant ALL to the Geeklog DB user, in all
my attempts -- eg;
Text Formatted Code

# mysql -u root -p

mysql> GRANT ALL PRIVILEGES ON geeklog_db_name TO geeklog_db_user@localhost IDENTIFIED BY 'geeklog_db_user_password';

mysql> FLUSH PRIVILEGES;

mysql> \q
 

I capitalized here, for easier reading. Smile
Which I thought would get it. But after so many fails, I
felt it was time to look for additional clues. Having remembered
seeing the GRANT LOCK associated with similar problems, I
began a search on the interweb, and sure enough, GRANT ALL
does not GRANT LOCK. Razz

Anyway, glad to actually get a chance to use Geeklog. I'm
still on the "master" branch (can't remember the revision hash),
downloaded yesterday. I intend to clone a copy, and submit a
PULL request with the necessary bits to add Sqlite (3) support
for Geeklog. But am currently struggling with getting Geeklog
to use a theme other than Denim. Changing the theme in
the admin control panel doesn't do anything other than say
it was changed. Changing the character set to utf-8, also seems
to have no effect, nor the DOCTYPE.

Seems premature of me to submit an issue yet. But thought I'd
mention it, just the same.

Thanks again, Laugh!

--Chris
 Quote

Status: offline

Laugh

Site Admin
Admin
Registered: 09/27/05
Posts: 1468
Location:Canada
I've updated the docs to be more clear about the user permissions.

For the theme change that config setting is the default theme for new users and anonymous users (who don't have the theme cookie set). For your user you would also have to change your theme setting on the My Account user page (on the layout tab).

The doctype config setting is only used for themes who don't set their own. Most do now days.




One of the Geeklog Core Developers.
 Quote

Status: offline

chris

Forum User
Newbie
Registered: 01/30/17
Posts: 11
Location:the terminal / console
Good news, thanks for taking the time to do that. Smile

On a side note;
For your user you would also have to change your theme setting on the My Account user page (on the layout tab).
[/quote]

Apparently the Admin user isn't powerful enough to be given
that option. Wink
IOW no such tab exists clicking on My Account (usersettings.php).
I (as Admin) only have one tab (name, full-name,password,email,login-duration). And yes, I do
allow theme change in the user section of the GL configuration. Smile

I can't really explain it. Perhaps using a version other than
simply downloading a copy of "master" from the GitHub repo is
a better direction.
I'll blow this copy away, and try the newest "official" version
(2.12b2), and see how it goes.

Thanks again, Laugh!

--Chris
 Quote

Status: offline

chris

Forum User
Newbie
Registered: 01/30/17
Posts: 11
Location:the terminal / console
OK. That's out.
I blew away the main branch from the GitHub repo, and downloaded
the "official" newest version -- 2.1.2b2, and poured it into one
of my hosts. I re-created the database/user/permissions, and opened
install in my browser. Upon clicking Install on
the second page of the installer. I was cookied, and prompted to
download index.php. Uh, what?!
So I went to my server log for that host, and discovered:
Text Formatted Code

PHP Parse error:  syntax error, unexpected '(' in /my/path/to/lib-common.php on line 5446, referer: http://my-host/path/to/admin/install/index.php?mode=install&dbconfig_path=%2Fmy%2Fpath%2Fto%2Fmy-host%2Fpath%2Fto%2Fdb-config.php&language=english&display_step=2


OK. I did read that bit about WinZip, and NO, I am not on
Winblows, and I got this archive from geeklog.

I guess I'll have to look the file over, and propose a correction
(should I discover (a|the) problem).

--Chris
 Quote

Status: offline

chris

Forum User
Newbie
Registered: 01/30/17
Posts: 11
Location:the terminal / console
Well, that was easy enough.

indeed there was an extra pair of braces:
Text Formatted Code
if (empty(($dateFormat))) {

oops, I think that should be:
Text Formatted Code
if (empty($dateFormat)) {

don't you? Wink

Anyway, removing the extra matching paren's fixed it. Smile

I don't think this is worthy of a pull request. Is it?
It's just a matter of going to line: 5446
and remove the extra pair of braces.

All the best!

--Chris
 Quote

Status: offline

Laugh

Site Admin
Admin
Registered: 09/27/05
Posts: 1468
Location:Canada
Hi Chris,

Yup that has already been fixed in lib-common.

The Tab is actually called "Layout & Language" and it should always be there. That is really weird that it was not especially on a default install.

I just double checked and ran the install from the latest in the repo and it installed fine and I can change the theme as needed. I wonder why yours did not?

Also if you disable user theme option changing the default theme in Geeklog should change all the users.

Tom


One of the Geeklog Core Developers.
 Quote

Status: offline

chris

Forum User
Newbie
Registered: 01/30/17
Posts: 11
Location:the terminal / console
Thank you very much for all your time, Tom!
Quote by: Laugh

Hi Chris,

Yup that has already been fixed in lib-common.


Odd, I just downloaded a copy linked from here, today.
Wonder why my copy was a borked one?

The Tab is actually called "Layout & Language" and it should always be there. That is really weird that it was not especially on a default install.

I just double checked and ran the install from the latest in the repo and it installed fine and I can change the theme as needed. I wonder why yours did not?

Also if you disable user theme option changing the default theme in Geeklog should change all the users.

Tom


Yep. My bad, I'm afraid. The default Theme after install, is Denim.
As it turns out, I'm served up a menu typically delivered to
mobile, or handheld devices:
-----------------------------------------------------------------------------
~~~~~~~~~
~~~~~~~~~
~~~~~~~~~
~~~~~~~~~
-----------------------------------------------------------------------------
pardon the illustration. Anyhow, it didn't occur to me that I'd
have a (mobile/handheld) menu on the left-hand side of the
only tab available. Maybe it's just me, but it wasn't at all
intuitive to me. Anyway. Once it occurred to me to click on it,
all was good. Smile

Thanks again Tom, for taking the time to reply. Greatly appreciated!

--Chris

P.S. Great name you have there! It also happens to be my middle name. Smile
 Quote

All times are EDT. The time is now 12:18 pm.

  • Normal Topic
  • Sticky Topic
  • Locked Topic
  • New Post
  • Sticky Topic W/ New Post
  • Locked Topic W/ New Post
  •  View Anonymous Posts
  •  Able to post
  •  Filtered HTML Allowed
  •  Censored Content