[SOLVED] Missing detail in installation instruction? step7

Oceanwatcher
Oceanwatcher's picture

Joined: 2005-04-28
Posts: 33
Posted: Thu, 2005-04-28 12:14

Hi,

After trying both Coppermine and ExhibitEngine, the turn has come to G2. And yes, I need to test G2, not G1 because I want to see what I can expect in the next release.

But after reading all I can find, searching the forum, I can still not find anything at all about how to install the software. And by that I do not mean configure it as in the 10 steps you run. I know some people would consider that installing. But when something can run from the server, I consider it already installed.

No, I am looking for something that say "Unzip the .zip file locally and upload these files to the server via an ftp program". Anyway, I downloaded the .zip file to my computer, unzipped it and uploaded EVERY file to my Linux server. It took a while since there are a lot of files. But things were ok, and I was able to start the config. But when I reached 7, I got A LOT of error messages that lead me to believe that I did something wrong when I uploaded the files. And I am stuck...

I am on a webhotel where I only have ftp access. So no commandline stuff, please. That is something I could do if it were on my server at home. Here is only a start of the errors I get:

Error (ERROR_STORAGE_FAILURE)

* in modules/core/classes/GalleryStorage/DatabaseStorage.class at line 1164 (gallerystatus::error)
* in modules/core/classes/GalleryStorage.class at line 220 (mysqldatabasestorage::search)
* in modules/core/classes/Gallery.class at line 206 (gallerystorage::search)
* in modules/core/classes/helpers/GalleryPluginHelper_simple.class at line 424 (gallery::search)
* in modules/core/classes/helpers/GalleryPluginHelper_simple.class at line 301 (gallerypluginhelper_simple::fetchpluginlist)
* in modules/core/classes/GalleryCoreApi.class at line 262 (gallerypluginhelper_simple::fetchpluginstatus)
* in modules/core/classes/GalleryPlugin.class at line 136 (gallerycoreapi::fetchpluginstatus)
* in modules/core/classes/GalleryModule.class at line 275 (galleryplugin::activate)
* in install/steps/InstallCoreModuleStep.class at line 89 (coremodule::activate)
* in install/index.php at line 168 (installcoremodulestep::loadtemplatedata)

file_exists(/home/ocean/g2data//cache/entity)
file_exists(/home/ocean/g2data//cache/layout)
file_exists(/home/ocean/g2data//cache/module)
file_exists(/home/ocean/g2data//cache/derivative)

(mysql): SHOW TABLES

file_exists(/home/ocean/public_html/modules/core/classes/helpers/../../../../modules/core/module.inc)
file_exists(/home/ocean/public_html/modules/core/classes/GalleryStorage/../../../../modules/core/classes/GalleryStorage/DatabaseStorage/schema/platform/mysql)
opendir(/home/ocean/public_html/modules/core/classes/GalleryStorage/../../../../modules/core/classes/GalleryStorage/DatabaseStorage/schema/platform/mysql)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
.
.
.
.
and then a lot of stuff follows. Here is the end of it. Please let me know if you need all the stuff I have left out.

1142: select command denied to user: 'ocean_gduser@localhost' for table
'g2_PluginMap'

adodb_mysql._execute(
SELECT
g2_PluginMap.g_pluginId,
...) % line 818, file: adodb.inc.php
adodb_mysql.execute(
SELECT
g2_PluginMap.g_pluginId,
..., Array[1]) % line 1156, file:
DatabaseStorage.class
mysqldatabasestorage.search(
SELECT
[GalleryPluginMap::pluginId],
..., Array[1], Array[0]) % line 220,
file: GalleryStorage.class
gallerystorage.search(
SELECT
[GalleryPluginMap::pluginId],
..., Array[1], Array[0]) % line 206,
file: Gallery.class
gallery.search(
SELECT
[GalleryPluginMap::pluginId],
..., Array[1]) % line 424, file: GalleryPluginHelper_simple.class

realpath(/home/ocean/public_html/modules/core/classes/../../../)

I have made sure that the db username and password is correct and that the user has all privileges. I got success on all previous steps, including the databasestep.

Any ideas?
----

Gallery URL (optional):
Gallery version: GD2b4 (just downloaded) Holy something?
Webserver (with version): Apache 1.3.33
Datatabase (with version): 4.0.22 - standard
PHP version (eg 4.2.1):Could not find it right now.
phpinfo URL (optional):
Graphics Toolkit(s): Does not matter so far
Operating system: Linux, Redhat 9
Web browser/version: Several different. Does not have any impact on this error.
G1 version (for migration bugs):

 
valiant

Joined: 2003-01-04
Posts: 32509
Posted: Thu, 2005-04-28 13:52

Oceanwatcher, installation instructions: see README.html in your downloaded gallery2.zip / tar.gz package.
# G2 Beta Installation Prerequisites
# Installing G2 Beta

- Using FTP for an upload of several thousand files / hundreds of directories is very unreliable. Upload the .zip or .tar.gz to your server and unarchive it there. That's a matter of a few seconds once the single archive file has been uploaded. And very reliable.
As you have no command line access, your webhost perhaps offers a cPanel to administrate your domain. a web filebrowser might be able to unarchive .tar.gz / .zip files.

- As you used FTP, the file integrity might be damaged.
Take a look at the "systemcheck step" of the installer. any warnings? modified/missing files?
if you have missing/modified files, reupload these specific files until the systemcheck shows zero modified/missing files.

- "only the start of the errors you get" is not enough to see the actual problem.

 
Oceanwatcher
Oceanwatcher's picture

Joined: 2005-04-28
Posts: 33
Posted: Thu, 2005-04-28 14:11
valiant wrote:
Oceanwatcher, installation instructions: see README.html in your downloaded gallery2.zip / tar.gz package.
# G2 Beta Installation Prerequisites
# Installing G2 Beta

- Using FTP for an upload of several thousand files / hundreds of directories is very unreliable. Upload the .zip or .tar.gz to your server and unarchive it there. That's a matter of a few seconds once the single archive file has been uploaded. And very reliable.
As you have no command line access, your webhost perhaps offers a cPanel to administrate your domain. a web filebrowser might be able to unarchive .tar.gz / .zip files.

- As you used FTP, the file integrity might be damaged.
Take a look at the "systemcheck step" of the installer. any warnings? modified/missing files?
if you have missing/modified files, reupload these specific files until the systemcheck shows zero modified/missing files.

- "only the start of the errors you get" is not enough to see the actual problem.

With all due respect, I can not find ANYTHING in that readme file about uploading.... Maybe you have a different version than me? This is what it say if I click on Installing..

Installing G2 Beta

Open up your web browser and browse to the G2 install directory. G2 will walk you through the process of validating that your system is properly configured and will set everything up for you.

The whole part about upload is omitted.

About fileintegrity - Please read my whole mail. I specifically mentioned that ALL steps prior to 7 where ok. I did not mean partially ok. The configutil gave green on everything. So I guess there is nothing wrong there unless there is a bug in the configutil?

I will try to find a tool that can unzip in the cpanel. And here is the whole errormessage:

Error (ERROR_STORAGE_FAILURE)

* in modules/core/classes/GalleryStorage/DatabaseStorage.class at line 1164 (gallerystatus::error)
* in modules/core/classes/GalleryStorage.class at line 220 (mysqldatabasestorage::search)
* in modules/core/classes/Gallery.class at line 206 (gallerystorage::search)
* in modules/core/classes/helpers/GalleryPluginHelper_simple.class at line 424 (gallery::search)
* in modules/core/classes/helpers/GalleryPluginHelper_simple.class at line 301 (gallerypluginhelper_simple::fetchpluginlist)
* in modules/core/classes/GalleryCoreApi.class at line 262 (gallerypluginhelper_simple::fetchpluginstatus)
* in modules/core/classes/GalleryPlugin.class at line 136 (gallerycoreapi::fetchpluginstatus)
* in modules/core/classes/GalleryModule.class at line 275 (galleryplugin::activate)
* in install/steps/InstallCoreModuleStep.class at line 89 (coremodule::activate)
* in install/index.php at line 168 (installcoremodulestep::loadtemplatedata)

Debug Output:

file_exists(/home/ocean/g2data//cache/entity)
file_exists(/home/ocean/g2data//cache/layout)
file_exists(/home/ocean/g2data//cache/module)
file_exists(/home/ocean/g2data//cache/derivative)

(mysql): SHOW TABLES

file_exists(/home/ocean/public_html/modules/core/classes/helpers/../../../../modules/core/module.inc)
file_exists(/home/ocean/public_html/modules/core/classes/GalleryStorage/../../../../modules/core/classes/GalleryStorage/DatabaseStorage/schema/platform/mysql)
opendir(/home/ocean/public_html/modules/core/classes/GalleryStorage/../../../../modules/core/classes/GalleryStorage/DatabaseStorage/schema/platform/mysql)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
readdir(Resource id #52)
closedir(Resource id #52)

(mysql): SHOW TABLES

fopen(/home/ocean/public_html/modules/core/classes/GalleryStorage/../../../../modules/core/classes/GalleryStorage/DatabaseStorage/schema/platform/mysql/Schema.sql,
r, 0)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fgets(Resource id #54, 4096)
feof(Resource id #54)
fclose(Resource id #54)
mysql error: [1142: create command denied to user: 'ocean_gduser@localhost'
for table 'g2_Schema'] in EXECUTE("-- This file was automatically generated
from an XSL template, which is
-- why it looks so ugly. Editing it by hand would be a bad idea.
--

CREATE TABLE g2_Schema (
g_name
varchar(

128

)

NOT NULL

,
g_major
int(11)

NOT NULL

,
g_minor
int(11)

NOT NULL

,

PRIMARY KEY (g_name)

) TYPE=MyISAM")

(mysql): -- This file was automatically generated from an XSL template,
which is
-- why it looks so ugly. Editing it by hand would be a bad idea.
--

CREATE TABLE g2_Schema (
g_name
varchar(

128

)

NOT NULL

,
g_major
int(11)

NOT NULL

,
g_minor
int(11)

NOT NULL

,

PRIMARY KEY (g_name)

) TYPE=MyISAM

1142: create command denied to user: 'ocean_gduser@localhost' for table
'g2_Schema'

adodb_mysql._execute(-- This file was
automatically generated from an XSL template, w..., false) % line 833, file: adodb.inc.php
adodb_mysql.execute(-- This file was automatically generated
from an XSL template, w...) % line
1730, file: DatabaseStorage.class
mysqldatabasestorage._executesqlfile(/home/ocean/public_html/modules/core/classes/GalleryStorage/../....) % line 1500, file: DatabaseStorage.class
mysqldatabasestorage.configurestore(core) % line 338, file: GalleryStorage.class
gallerystorage.configurestore(core) % line 132, file: GalleryModule.class

realpath(/home/ocean/public_html/modules/core/classes/../../../)
mysql error: [1142: select command denied to user: 'ocean_gduser@localhost'
for table 'g2_PluginMap'] in EXECUTE("
SELECT
g2_PluginMap.g_pluginId,
g2_PluginMap.g_active
FROM
g2_PluginMap
WHERE
g2_PluginMap.g_pluginType = 'module'
")

(mysql):
SELECT
g2_PluginMap.g_pluginId,
g2_PluginMap.g_active
FROM
g2_PluginMap
WHERE
g2_PluginMap.g_pluginType = 'module'

1142: select command denied to user: 'ocean_gduser@localhost' for table
'g2_PluginMap'

adodb_mysql._execute(
SELECT
g2_PluginMap.g_pluginId,
...) % line 818, file: adodb.inc.php
adodb_mysql.execute(
SELECT
g2_PluginMap.g_pluginId,
..., Array[1]) % line 1156, file:
DatabaseStorage.class
mysqldatabasestorage.search(
SELECT
[GalleryPluginMap::pluginId],
..., Array[1], Array[0]) % line 220,
file: GalleryStorage.class
gallerystorage.search(
SELECT
[GalleryPluginMap::pluginId],
..., Array[1], Array[0]) % line 206,
file: Gallery.class
gallery.search(
SELECT
[GalleryPluginMap::pluginId],
..., Array[1]) % line 424, file: GalleryPluginHelper_simple.class

realpath(/home/ocean/public_html/modules/core/classes/../../../)

 
Oceanwatcher
Oceanwatcher's picture

Joined: 2005-04-28
Posts: 33
Posted: Thu, 2005-04-28 14:21

Could there be any difference between the .zip version and the .tar.gzip version? I installed from the .zip version to a Linux server.

 
valiant

Joined: 2003-01-04
Posts: 32509
Posted: Thu, 2005-04-28 14:21

Ok. You are right. There are no instructions on how to upload the G2 files to your host. This is still beta software. But it's a good idea to include 1, 2 notes on this (although very basic) step.

I guess I have found the problem with your host:

Quote:
mysql error: [1142: create command denied to user: 'ocean_gduser@localhost'
for table 'g2_Schema'] in EXECUTE("-- This file was automatically generated
from an XSL template, which is
-- why it looks so ugly. Editing it by hand would be a bad idea.

It seems that the database user ocean_gduser does not have the "CREATE TABLE" privilege on the g2 database.
Ask your webhost to grant your db user ocean_gduser CREATE, DROP, and ALTER TABLE privileges.

 
valiant

Joined: 2003-01-04
Posts: 32509
Posted: Thu, 2005-04-28 14:42

*bump* (maybe you missed my answer because we posted almost at the same time)

 
Oceanwatcher
Oceanwatcher's picture

Joined: 2005-04-28
Posts: 33
Posted: Thu, 2005-04-28 15:20

Thank you for the answer. I guess we crossed each other :-)

I checked the settings and the ocean_gduser has ALL privileges set according to the mySQL settings.... I am a bit confused.

Also, I think that in stage 5, the config script should actually test for all these things and not give green until they are correct.

 
valiant

Joined: 2003-01-04
Posts: 32509
Posted: Thu, 2005-04-28 15:36

Oceanwatcher, indeed, we don't check for all necessary privileges in the database setup step of the installer.
BUT: the above error shows clearly, that the user ocean_gduser is denied to create a table in the database.

 
Oceanwatcher
Oceanwatcher's picture

Joined: 2005-04-28
Posts: 33
Posted: Thu, 2005-04-28 15:39

Well, here is probably the fault - and a real beginners problem. Maybe. I am not sure.

When I used cPanel to create the database, I also added a user with password.

BUT -

There is a small button that say Add user to database. It is under the list off all the privileges. So it is not enough to add a user. You have to add it to the database as well. Not very intuitive, but after that, everything went well.

And yes, the filemanager in cPanel can take care of unpacking a .tar.gzip file. I deleted all files, and uploaded the .tar.gzip file and then ran the configscript again. Now it all worked, and I have a feeling that I will like this gallerysoftware...

But seriously - Step 5 should have caught this problem and given an error instead of giving the green....

Just a few words from a beginner at G2 :-)

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Thu, 2005-04-28 15:46

Oceanwatcher, all good ideas.. thanks for helping us improve our instructions and installer.

 
valiant

Joined: 2003-01-04
Posts: 32509
Posted: Sat, 2005-04-30 23:58

Oceanwatcher, i updated the README.html with privileges and upload instructions and we do now a privileges test in the installer database setup test.

thanks for your suggestions.