Have I totally screwed my site?

Permalink
I posted earlier on about how I can't download modules from the marketplace. Not only that though. I can't update modules, or indeed concrete5 itself.

I get errors about not being able to backup packages to a trash folder, and about not having a zip utility.

The server is hosted and another site on the same server is OK, so I imagine it's permissions or something. However, as far as I can tell the permissions are the same on both sites.

I'm tempted to blitz the site and start again with the old database and my files and packages.

Gareth

garethhowell
 
mesuva replied on at Permalink Reply
mesuva
Although you have said the permissions are the same across two sites on the same server, it really does sound like a permissions problem.

I'd check the permissions of /updates, /files (where the trash folder is) and /packages.
garethhowell replied on at Permalink Reply
garethhowell
Hi Mesuva
I've been in and checked. /files, /packages and /updates are all 777, as are all the subdirectories. In fact, as of last night the whole site is 777.

I'm still getting the error message about not being able to update
The following errors occurred when attempting to process your request:
Unable to backup old package directory to /home/agdoncom/public_html/lbdscouts/lbdscouts/c5/files/trash


I've tried clearing the /files/cache and /tmp folders.

Incidentally, I had to create /files/trash manually.
mesuva replied on at Permalink Reply
mesuva
Some more things to check:

- In the path in the error message, the folder lbdscouts is listed twice. Does that path actually exist? (with the whole site 777, I think it would be created regardless)

- That error message comes from C5 trying to do a move (technically a rename of the folder). But how are you going for disk space on your server?

That error (E_PACKAGE_MIGRATE_BACKUP) is only caused by one line in concrete5:
$ret = @rename(DIR_PACKAGES . '/' . $this->pkgHandle, DIR_FILES_TRASH . '/' . $this->pkgHandle . '_' . date('YmdHis'));
if (!$ret) {
   return array(Package::E_PACKAGE_MIGRATE_BACKUP);
}


I can't see why that would fail if the whole site is 777. Hopefully someone else has an idea.
mkly replied on at Permalink Reply
mkly
There was a zip issue with php that surfaced with some concrete5 installations. There was a solution posted here.

http://www.concrete5.org/index.php?cID=104023...

Might be worth a look.
mkly replied on at Permalink Reply
mkly
Are you sure you haven't run out of room with your hosting provider? Just a thought.
garethhowell replied on at Permalink Reply
garethhowell
Turns out the problem lay with the hosting provider.

To improve performance, the site was moved to a new physical server a few weeks back. External DNS was updated to reflect the change of IP address. Unfortunately, the zone files for the primary domain (the one through which I access cpanel) didn't get updated, so they were still pointing at the old server.

The error wasn't picked up because they left the old files in place on the old server.

So, I've been making changes through cpanel and filezilla to a non-live old copy of the site. Grrrrr!

Having picked that up, I logged into the live server's cpanel and checked the folder permissions. /files is 777. There is no /files/trash folder. /updates and /packages are 755.

I created a /files/trash folder and then re-tried the package update on ProEvents. The update failed with the following error.

Warning: include(/home/agdoncom/public_html/lbdscouts/lbdscouts/c5/updates/concrete5.4.2/concrete/config/../elements/header_menu/proevents/controller.php) [function.include]: failed to open stream: No such file or directory in /home/agdoncom/public_html/lbdscouts/lbdscouts/c5/updates/concrete5.4.2/concrete/helpers/concrete/interface/menu.php on line 75
Warning: include() [function.include]: Failed opening '/home/agdoncom/public_html/lbdscouts/lbdscouts/c5/updates/concrete5.4.2/concrete/config/../elements/header_menu/proevents/controller.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php:/home/agdoncom/public_html/lbdscouts/lbdscouts/c5/libraries/3rdparty:/home/agdoncom/public_html/lbdscouts/lbdscouts/c5/updates/concrete5.4.2/concrete/config/../libraries/3rdparty') in /home/agdoncom/public_html/lbdscouts/lbdscouts/c5/updates/concrete5.4.2/concrete/helpers/concrete/interface/menu.php on line 75
Fatal error: Class 'ProeventsConcreteInterfaceMenuItemController' not found in /home/agdoncom/public_html/lbdscouts/lbdscouts/c5/updates/concrete5.4.2/concrete/helpers/concrete/interface/menu.php on line 79


What now?
mkly replied on at Permalink Best Answer Reply
mkly
Ok.

First off clear your cache
Dashboard->Sitewide Settings->Speed Settings "Clear Cache"

Then delete any/all files in
/files/cache/

If the problem persists check this

At the root of your site you should have a folder named /updates/

Do you have a folder name concrete5.4.2 in it?
Do you have any other folders in there? Which ones?

Also, in your /config/site.php does it have a line like define('DIRNAME_APP_UPDATED'... ?

If so, what concrete version does it list?

If you know how to check your database, check the "Config" table for
SITE_APP_VERSION
APP_VERSION_LATEST
What do those report?

It's possible that your database, config or cache may be set to or giving out different version numbers.
garethhowell replied on at Permalink Reply
garethhowell
Dashboard->Sitewide Settings->Speed Settings "Clear Cache"

Thanks
Due to the fact that the reply box obscures the thread (#fail) I've had to copy and paste you message

Done

Then delete any/all files in
/files/cache/

Done

If the problem persists check this

It does

At the root of your site you should have a folder named /updates/

Do you have a folder name concrete5.4.2 in it? Yes

Do you have any other folders in there? Which ones? None

Also, in your /config/site.php does it have a line like define('DIRNAME_APP_UPDATED'... ?

Yes - php define('DIRNAME_APP_UPDATED', 'concrete5.4.2');

If so, what concrete version does it list?

If you know how to check your database, check the "Config" table for

SITE_APP_VERSION - 5.4.2
APP_VERSION_LATEST - 5.4.2.1

What do those report?

I hope this makes sense
mkly replied on at Permalink Reply
mkly
I know that reply box things drives me nuts.

So... because of this
Failed opening '/home/agdoncom/public_html/lbdscouts/lbdscouts/c5/updates/concrete5.4.2/concrete/config/../elements/header_menu/proevents/controller.php

*note the "../' part

and the fact that your update stuff looks ok I think you need to contact the developer of the ProEvents addon

There is an include that is trying to climb the directory tree that won't work with the way concrete5 updates are stored and used. There is probably an update for ProEvents that fixes this and he should have instructions and be able to help you get synced up.

http://www.concrete5.org/marketplace/addons/proevents/...

click on 'Support' in the right hand column
garethhowell replied on at Permalink Reply
garethhowell
Thanks mkly

I'll go and ask Chad about it.

Gareth
garethhowell replied on at Permalink Reply
garethhowell
It's not just ProEvents that's throwing an error.

Updating concrete5 itself from 5.4.2 to 5.4.2.1 throws the zip error. (5.4.2 already has the zip version check in it)
JohntheFish replied on at Permalink Reply
JohntheFish
There was an error in the upgrade code in 5.4.2 and that may be your problem

Solutions:
(a) edit config/site.php to revert to 5.4.1.1, then upgrade from that to 5.4.2.2
(b) download 5.4.2.2 manually to the appropriate 'updates' directory, unzip it, then edit config/site.php to point to it.
(c) patch the relevant files in /updates/concrete5.4.2/ - see http://www.concrete5.org/community/forums/installation/unable-to-do...

In config/site.php, look for the last line. Delete it to revert to your last installed version (a). Change it to move to another installed version in the updates directory (b). Leave it alone if you are patching (c).
?><?php define('DIRNAME_APP_UPDATED', 'concrete5.4.2');?>
garethhowell replied on at Permalink Reply
garethhowell
Thanks John
As the saga seemed to be getting worse and worse, I decided to bite the bullet and do a clean install of concrete5, restore from a backup of the database and move /files and /packages.

I'm going through checking that this has worked OK, then I'll try the update of ProEvents and ProNews again.

Thanks again for the suggestion though.

Gareth