Setting Windows Security and Ownership for SuiteCRM directory etc.

I know nothing of Linux or Apache security and obviously not enough of Windows for that matter.

On the Install Wiki page, step 4 says to Set ownership of the SuiteCRM directory.
The example given is chgrp ApacheUser.ApacheGroup -R recursively sets ownership for root directory to Apache user and group.
Does this mean I’m to create a new User Group called ApacheGroup and a New User called ApacheUser on the SuiteCRM directory?

Step 5 says “The system user that your web server uses varies depending on your operating system.”
I’m using Apache 2.4. Do I add IUSR with full control to the Apache folder? (IUSR_computerName is not an available option. Just IUSR available).

The Wiki goes on to say:
"If you are unsure how to set your web server user on your operating system, contact your web server host. If you are installing SuiteCRM locally and need assistance, visit our support forums.
1.Set the following permissions on the SuiteCRM directory(Linux): 1.sudo chown -R www-data:www-data .
2.sudo chmod -R 755 .
3.sudo chmod -R 775 cache custom modules themes data upload config_override.php "

What does this mean in Windows environment?

It then goes on to say “If you are experiencing issues with setting permissions on your SuiteCRM instance, visit our support forums.”

Well… I’m having issues so here I am.

I’m OK with someone pointing me in the direction of documentation explaining the equivalencies between the 2 systems. I do like to learn.

I’ve tried searches but have not found anything that helps. Maybe my search query is asking the wrong question I don’t know.

I look forward to any help.
Thanks

On Windows I wouldn’t worry too much about permissions unless you get into trouble and something tells you a file is inaccessible.

Normally Windows permissions are permissive so you just install the stack, copy the SuiteCRM files and run them.

Unfortunately I am having issues and I don’t know why. I’ve installed several times now and I have the same issues.

  1. I cannot add Dashlets. - A blank window opens and there is a working icon. Nothing else shows or happens. I must select the Close button before anything happens and then the “happens” is the window closes. Nothing else.
  2. I cannot add Tabs. - The add tab window opens and I am able to enter a new tab name. However, when I Add the tab and the window closes there is No tab added.

I mentioned above installing several times with similar results. I’m using Bitnami installed Xamp/Apache. When I follow the instructions I found on Codetrabla.blogspot using SuiteCRM zip file, my installation has 5 error listed on the Home Page. Something about Strict Adherence…Dashlets…etc. If I install using Bitnami SuiteCRM over Bitnami Xamp I get UserName/Password access issues. If I install SuiteCRM, using the SuiteCRM zip file as mentioned above with the 5 errors, and then install Bitnami SuiteCRM over top. I can delete the Bitnami SuiteCRM Database in myPHPAdmin and rename the SuiteCRM to Bitnami SuiteCRM and I don’t get the 5 errors. However, I still can’t add Dashlets or add tabs.

As I’m writing this I realized the one common install is my Bitnami Xamp Apache install. I think I’m going to try installing a version downloaded directly from Apache.

I’ll reply back if this makes a difference or not. I’m a commercial truck driver on the road right now so I don’t have lots of free time but will get this done as soon as I can.

In the meantime if anyone has any ideas…
Thanks

I have noticed that the Windows versions of PHP tend to complain more about some issues than in Linux. Specifically, mismatched function declarations throw a warning on Linux, but crash the application on some “Windowses”. One of the parts of the code that I know has this issue is precisely dashlets.

I would be willing to bet this is the problem you’re getting, and it’s easy to workaround: all it takes is making a few parameters optional.

This is currently being fixed, in case you want to read about it see https://github.com/salesagility/SuiteCRM/issues/942).

But to make sure that this is the actual problem you’re getting (and not permissions), you need to look at your php_errors.log (or maybe it’s called apache log in your system), if you find those errors about function declarations, that’s your problem.

Hey, installing CRM’s in the middle of a life as a professional truck driver is pretty cool B)

To avoid having permission related problems on Windows I normally install the webserver (Apache, or a stack such as Wamp) outside any system folder.

Normally I use c:/ (the root folder of disk c). If I install it under c./Program Files then I get plenty of problems.

OK. I’m back.

Over the last few days I’ve installed Apache, MySQL and PHP including myPHPAdmin, all from scratch. My installs were not without error, the point being, I was able to figure out what was causing the error and make the necessary changes/additions, etc. The most important point here is that I learned so much. Not only about the specific installations but about non windows applications as well.

I must confess though, even though I used the non msi installation method for mySQL first, (and it did work as expected) I finally used the msi install method and that is the one running on my machine now.

So now I have a known to be working correctly base install on which to install SuiteCRM.

So I’ve installed it and I still am getting those same messages as previously listed.

This time I move a little deeper into the application and start to Edit the Admin Profile. The information is saving correctly so obviously permissions are not the issue. (I realized permissions were not an issue during the various installs. As I said, I leaned a lot about these installs.)

However, when I move to the “External Accounts” tab I get 2 more of there error/warnings.
“Notice: Undefined index: eapm in C:\Apache24\htdocs\SuiteCRM\include\SubPanel\SubPanelDefinitions.php on line 719
Notice: Undefined index: eapm in C:\Apache24\htdocs\SuiteCRM\include\SubPanel\SubPanelDefinitions.php on line 722”

Granted they are not exactly the same but they are related through the “include …DashletGeneric.php” directive in the Dashlets code.

I do not code in PHP. To me it looks like some kind of C code. I’m fairly fluent in VB.net though. Having said that, it smells like the problem is in the direction of upstream in the code hierarchy. Just a guess.

So you said its a simple fix with just a few Settings changes. That make sense to me, even considering what I wrote above.

Could you please let me know these settings and values.

Can you please let me know how to give credit as answered as I’m new here.

Thanks
Don

Hi,

Here are some tips to continue your investigation:

  • you should keep your eye on two logs: suitecrm.log and php_errors.log

  • never mind “notice” and “info” lines, just start by looking for “fatal” and “error”

  • look at the entries in the logs at the exact time where you attempted an operation and it failed (e.g. adding a dashlet)

You are wrong!
Being able to save the Admin profile doesn’t reveal that permissions are correctly set. In fact the profile is saved in the database, while permissions issues have to do with the file system.
Permissions are of four kinds:
. file permissions (read, write, execute at three different levels)
. folder permissions (read, write, execute at three different levels)
. file owner
. folder owner
In any case, if you have installed your instance outside any system protected folder in Windows, normally you should not have permission related issues.

This is a normal warning. It is just telling you that a variable has not been initialised or declared: in PHP it’s not compulsory to initialise or declare certain variables.
In order not to see these warnings you should disable warnings. to avoid getting warning messages there are two ways to do it:

  1. Edit php.ini (the location and the way you can modify it depends on you system)
    change it to:
    error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_WARNING

  2. Edit index.php (in the SuiteCRM main folder)
    Add the following line after the first line which should be: <?php
    error_reporting(0);
    You could also add the following line:
    ini_set(‘error_reporting’, E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_WARNING);

All installs are located at the root of C:/.

Thanks for your help. It is greatly appreciated.

I’ve got it running properly now, I think;-)

Now I just need to learn how to use it properly.

Life is just one learning curve after the other but it is infinitely better than the alternative.

Thanks again.

Hi don6558, I’m having the same issue. Can you tell me how did you fix it?

Ok, my issue was because the ajax request answer was displaying php notice. After disable them on my virtual host configuration it does work.
However, this is not the best config for a development environment :frowning: