7.9 upgrade totally broke everything

What a mess. In all the years of using Suite I’ve never had an upgrade so totally break a site. I don’t think the CSS file is being loaded. Nothing looks right.

Look at the attached screen shot.

I’ve tried rebuilding and repairing everything… no luck.

Javascript does not work.

Can’t get 7.9 theme back.

Does anyone have any ideas what to do?

I saved my previous database dump file. Can I get it to run with a new 7.9 install? How would I do that?

UPDATE
UPDATE
UPDATE
UPDATE

The issue was permissions. The update re-set permissions in several folders. This command fixed it:

chmod -R 775 cache custom modules themes data upload config_override.php

It has been so many years since SuiteCRM broke on an update that I simply forgot that permissions can be an issue when things don’t load.

So let this be a lesson to the rest of you… if you get weird results, check your permissions and ownershps. Here are the settings I use:

chown -R www-data:www-data
chmod -R 755
chmod -R 775 cache custom modules themes data upload config_override.php

ANC
http://newmediaecom.com

There’s no reason why the upgrade should break permissions except if

  1. You have cron jobs running as a different user than your web server

  2. You ran the upgrade from the command-line logged in as a different user

I don’t understand about the cron jobs, but I agree with you in principle. I’ve never had an update to SuiteCRM change permissions. However, this major update did. I logged in via FTP and SSH and saw them myself. Thus, I can only assume that the update has some code in it that issues a ā€˜chmod’ command for certain files. Given my history of never having a broken update since 2014 when I started with Suite (converting from Sugar) until this update which for sure broke the site (you saw the pix) I can only conclude that it was the update code that did it. I don’t have a better answer.

It would be interesting to ā€˜grep’ for a ā€˜chmod’ line of code in the update files but I don’t have the time to devote to it.

Has anyone else reported a similar problem on this forum?

I might add here that I truly dislike the new theme and would like to have my simple black and white Theme-7 back again. I’d like to know why the Suite engineers decided to delete it. I imagine that they had a good reason… perhaps it was no longer maintainable?

Also the new system is a bit slower than the 7.8.x version it replaced. I’ve not looked into why yet. Maybe I have to again disable AJAX as I did in the previous version.

Also, email does not work. There is a small ā€œfromā€ dropdown box that does not work. When sending I get a pop-up: ā€œError Sending Email. Please contact your administrator for assistance.ā€ It is not a big deal to me as I rarely used email on Suite. It must be some setup item that got hosed in the update. I’ll have to look at the docs when time permits.

Can you please post the results of this command (run it from the SuiteCRM root folder):

ls -al

This will give me a quick glimpse of your permissions settings. I’ve seen a user start getting problems with permissions because an Apache upgrade (or reconfiguration) had simply changed the web-server user, so his permissions were like they had always been, but nothing was working anymore.

Here you go. I x’d out user name


xxxxxxx@xxxxx% ls -al
total 18602
drwxr-xr-x   31 xxxxxxx  users      2048 Oct 12  2016 .
drwx---r-x   18 xxxxxxx  users      2048 Jun 14 10:51 ..
-rwxr-xr-x    1 xxxxxxx  users      1176 Feb 20  2016 .gitignore
-rwxr-xr-x    1 xxxxxxx  users       812 Jun 13 19:16 .htaccess
-rwxr-xr-x    1 xxxxxxx  users      1020 Apr 27  2015 .htaccessxxxx
-rwxr-xr-x    1 xxxxxxx  users       118 Jun 23  2014 .user.ini
drwxr-xr-x    2 xxxxxxx  users       512 Sep  9  2016 DetailView
-rwxr-xr-x    1 xxxxxxx  users      2610 Nov 19  2012 HandleAjaxCall.php
drwxr-xr-x    2 xxxxxxx  users       512 Sep  9  2016 InlineEditing
-rwxr-xr-x    1 xxxxxxx  users     34539 Nov 19  2012 LICENSE.txt
drwxr-xr-x    2 xxxxxxx  users       512 Sep  9  2016 ListView
drwxr-xr-x    3 xxxxxxx  users       512 Jul 13  2015 ModuleInstall
-rwxr-xr-x    1 xxxxxxx  users      2659 Jun 13 19:47 README.md
drwxr-xr-x    2 xxxxxxx  users       512 Sep  9  2016 SearchForm
drwxr-xr-x    3 xxxxxxx  users       512 Sep  9  2016 SubPanel
-rwxr-xr-x    1 xxxxxxx  users      5126 Nov 19  2012 SugarSecurity.php
drwxr-xr-x    2 xxxxxxx  users       512 Sep  9  2016 SugarTheme
-rwxr-xr-x    1 xxxxxxx  users      5642 Nov 19  2012 TreeData.php
drwxr-xr-x    2 xxxxxxx  users       512 Jul 13  2015 XTemplate
drwxr-xr-x    8 xxxxxxx  users       512 Jul 13  2015 Zend
drwxrwxr-x   20 xxxxxxx  users       512 Jul 13  2015 cache
-rwxr-xr-x    1 xxxxxxx  users      3389 Nov 19  2012 campaign_tracker.php
-rwxr-xr-x    1 xxxxxxx  users     12376 Jun 13 19:48 config.php
-rwxrwxr-x    1 xxxxxxx  users      4268 Jun 14 10:28 config_override.php
-rwxr-xr-x    1 xxxxxxx  users      5052 Jun 13 18:34 cron.php
-rwxr-xr-x    1 xxxxxxx  users      2245 May  7  2014 crossdomain.xml
drwxrwxr-x   13 xxxxxxx  users       512 Dec 31  2015 custom
drwxrwxr-x    3 xxxxxxx  users       512 Feb 15 14:49 data
drwxr-xr-x    2 xxxxxxx  users       512 Sep  9  2016 database
-rwxr-xr-x    1 xxxxxxx  users      2187 Nov 19  2012 dictionary.php
-rwxr-xr-x    1 xxxxxxx  users     12541 Jun 13 19:47 download.php
-rwxr-xr-x    1 xxxxxxx  users      2191 Nov 19  2012 emailmandelivery.php
-rwxr-xr-x    1 xxxxxxx  users      7842 Sep  9  2016 entryPoint.php
drwxr-xr-x    2 xxxxxxx  users       512 Oct 12  2016 examples
-rwxr-xr-x    1 xxxxxxx  users      4912 Feb 20  2016 export.php
-rwxr-xr-x    1 xxxxxxx  users    967627 May 25  2016 files.md5
-rwxr-xr-x    1 xxxxxxx  users      4723 Sep  9  2016 get_form_header.tpl
-rwxr-xr-x    1 xxxxxxx  users      2702 May  7  2014 get_url.php
-rwxr-xr-x    1 xxxxxxx  users      2170 Nov 19  2012 ical_server.php
drwxr-xr-x   58 xxxxxxx  users      2048 Jun 13 18:35 include
-rwxr-xr-x    1 xxxxxxx  users      2374 May 25  2016 index.php
drwxr-xr-x    6 xxxxxxx  users      1536 Jun 13 19:04 install
-rwxr-xr-x    1 xxxxxxx  users     30016 Aug 19  2016 install.php
drwxr-xr-x    2 xxxxxxx  users       512 Sep  9  2016 javascript
-rwxr-xr-x    1 xxxxxxx  users     13172 May  7  2014 json_server.php
drwxr-xr-x    3 xxxxxxx  users       512 Jul 13  2015 jssource
drwxr-xr-x    2 xxxxxxx  users       512 Sep  9  2016 language
drwxr-xr-x    2 xxxxxxx  users       512 Oct 12  2016 log4php
-rwxr-xr-x    1 xxxxxxx  users      2112 Nov 19  2012 log_file_restricted.html
-rwxr-xr-x    1 xxxxxxx  users      2175 Nov 19  2012 maintenance.php
drwxr-xr-x    2 xxxxxxx  users      3584 Jun 13 18:34 metadata
drwxr-xr-x    8 xxxxxxx  users       512 Jul 13  2015 mobile
drwxrwxr-x  114 xxxxxxx  users      2560 Aug 19  2016 modules
-rwxr-xr-x    1 xxxxxxx  users      2689 Nov 19  2012 pdf.php
drwxr-xr-x    2 xxxxxxx  users       512 Jun 14  2016 public
-rwxr-xr-x    1 xxxxxxx  users        73 May  7  2014 robots.txt
-rwxr-xr-x    1 xxxxxxx  users      3387 Nov 19  2012 run_job.php
drwxr-xr-x   11 xxxxxxx  users       512 Jul 13  2015 service
drwxr-xr-x    2 xxxxxxx  users       512 Jul 13  2015 soap
-rwxr-xr-x    1 xxxxxxx  users      3890 May  7  2014 soap.php
-rwxr-xr-x    1 xxxxxxx  users       154 Aug 19  2016 sugar_version.json
-rwxr-xr-x    1 xxxxxxx  users      2263 Aug 19  2016 sugar_version.php
-rwxr-xr-x    1 xxxxxxx  users    210163 Jun 14 10:42 sugarcrm.log
-rwxr-xr-x    1 xxxxxxx  users       169 Jun 13 19:47 suitecrm_version.php
drwxr-xr-x    2 xxxxxxx  users       512 Jun 14 10:34 tempsession2
-rwxr-xr-x    1 xxxxxxx  users        64 May 14  2014 test1.php
drwxrwxr-x    7 xxxxxxx  users       512 Aug 19  2016 themes
-rwxr-xr-x    1 xxxxxxx  users  17310262 Jun 13 19:48 upgradeWizard.log
drwxrwxr-x    5 xxxxxxx  users      1024 Jun 13 19:47 upload
-rwxr-xr-x    1 xxxxxxx  users    178037 Sep  9  2016 utils.php
-rwxr-xr-x    1 xxxxxxx  users      2779 Nov 19  2012 vCard.php
-rwxr-xr-x    1 xxxxxxx  users      2506 Nov 19  2012 vcal_server.php

  1. Ok. I’m assuming you xxx’d out the username, but that is is always the same user name. This is important, so tell me if you see more than one user name, or if you see files owned by root.

  2. I don’t see suitecrm.log there, maybe you moved it to a better place. Can you tell me the user/group ownership of it?

  3. Then we need to know which user your web server runs under. Do you have a ā€œcron_allowed_usersā€ entry in your config.php? What does it contain?

  1. Yes the user name is the same although I didn’t delve deeply into all the sub-directories. Is there a command to list everything in all directories? I do not see files own by root or ā€˜nobody.’ My server is configured using FastCGI so that Apache runs as me, the user. That usually avoids update issues like this. Note, in fixing the issue I did not issue a chown command, only a chmod.

  2. There is no suitecrm.log because years ago this was a conversion from SugarCRM. I have sugarcrm.log and it owned by me,… same as all the files.

  3. There is a cron_allowed_users entry but no value:

array (
ā€˜max_cron_jobs’ => 10,
ā€˜max_cron_runtime’ => 30,
ā€˜min_cron_interval’ => 30,
ā€˜allowed_cron_users’ =>
array (

If there is anything else you want to know, just ask. I’m happy to help.

Ok, you do seem to have permissions problems. Many files are not given write access.

above you said you used these settings:


chown -R www-data:www-data
chmod -R 755
chmod -R 775 cache custom modules themes data upload config_override.php

Two problems with this:

  1. I don’t see www-data anywhere in your files, so which is it? Please don’t confuse me by changing user names. If you really feel you need to obfuscate, just change ā€œjoeā€ to ā€œcharlesā€ or whatever, but keep it consistent.
  2. You’re missing a space and a dot at the end of those commands.

So, supposing your web-server user is ā€œjoeā€, and he belongs to group called ā€œusersā€, you could issue these commands from your SuiteCRM root directory:


chown -R joe:users .
chmod -R 755 .
chmod -R 775 cache custom modules themes data upload config_override.php

Then you should have your config.php like this:


  'cron' =>
  array (
    'max_cron_jobs' => 10,
    'max_cron_runtime' => 30,
    'min_cron_interval' => 30,
    'allowed_cron_users' =>
    array (
      0 => 'joe',
    ),
  ),

And then you need to make sure that your cron jobs are running from Joe’s crontab:


crontab -e -u joe

And finally make sure they’re not running from any other crontab (check crontab -e, and check crontab -e -u root, and other users that you might have used before).

Do a Quick Repair and Rebuild and check if problem is solved.

When looking at the directory via FTP the user/group is listed as 3002/1000. When I SSH into the directory I see the same owner and user:

The owner is ā€˜joe’ and the group is ā€˜users.’ for all files that I’ve looked at.

I never did issue this command: chown -R www-data:www-data . I’m sorry to confuse you.

I just checked the config file and now I’m seeing this. I didn’t see ā€˜joe’ in there earlier. I don’t know why:

 'columns' => '',
  'common_ml_dir' => '',
  'create_default_user' => false,
  'cron' => 
  array (
    'max_cron_jobs' => 10,
    'max_cron_runtime' => 30,
    'min_cron_interval' => 30,
    'allowed_cron_users' => 
    array (
      0 => 'joe',
    ),
  ),
  'currency' => '',
  'dashlet_auto_refresh_min' => '30',
  'dashlet_display_row_options' => 

I don’t know how ā€˜joe’ got in there since last time, unless I just overlooked it?

All I know is that everything is running well now. We’ll see what happens at the next update, which I expect to be soon… perhaps 7.9.1 is already out there. (I wish SuiteCRM would notify me when there is a new update like Sugar used to do back in the day.

Ok, I’m glad it’s working now!