Windows and IIS Permissions Issues (Suggested fix for anyone using this platform)

Depends on what you want to do.

Thereā€™s some debate on which database can handle intense use - iā€™ve never used it with mysql, so i can only speak to performance on MSSQL. Weā€™ve done a lot of customizations, database triggers, custom modules and other things, and have a lot of internal/external users so having MSSQL on another server was a necessity for production. MySql ODBC drivers arenā€™t cheap, and if you want to query the database, write adhoc MSAccess reports, etc - then use MSSQL. MSSQL requires that you understand how to manage a database and setup regular transaction log dumps, backups, and DBCC checks. If thatā€™s not your forte, or having ability to restore data up to the minute in a heavily used production environment doesnā€™t matter to you install Mysql and move on.

Im still using SQL 2008 - so not sure about the 2012 setups.

As i recall that was another setup hurdle, simply because the documentation wasnā€™t extremely clear - and we set this up back in 2011 - so my memory is a bit hazy.

Make sure youā€™ve created the database according to the suitecrm directions (including setting the collation to latin

) in MSSQL Enterprise manager, and created the database user and permissions, & enabled ā€œnamed pipesā€. You also need to make sure you have the MSSQL driver for your PHP version (See this article for more details - https://mikeshellenberger.wordpress.com/2010/05/14/running-sugarcrm-community-edition-on-windows-server-2008-r2/ - please note that SuiteCRM is based on SugarCRM CE - so its the same install instructions)

For Microsoft SQL Server, download the SQL Server Driver for PHP version https://msdn.microsoft.com/en-us/data/ff657782.aspx (as per the instructions on the Microsoft website) and extract the contents to the /ext directory of the PHP installation

Add the following line in php.ini to enable it:

extension=dll_name>;
where dll_name is a driver file you downloaded.

The driver also requires you to install the Microsoft SQL Server Native Client on the web server. I Installed the version for SQL Server 2008.

You will need to reboot the web server after making changes to PHP.ini

Here is the section from my suitecrm config.php file from my production server - it should help you figure out what you should put in the fields in the installer.

ā€˜db_host_nameā€™ => ā€˜sql server name goes hereā€™,
ā€˜db_host_instanceā€™ => ā€˜ā€™, (this is empty)
ā€˜db_user_nameā€™ => ā€˜Sql User goes hereā€™,
ā€˜db_passwordā€™ => ā€˜password goes hereā€™,
ā€˜db_nameā€™ => ā€˜DB name goes hereā€™,
ā€˜db_typeā€™ => ā€˜mssqlā€™,
ā€˜db_portā€™ => ā€˜1433ā€™,
ā€˜db_managerā€™ => ā€˜SqlsrvManagerā€™,

Hope that helps.

1 Like

Hi dgreene

Thanks for the detailed explanation. I entirely agree with you that have on MSSQL is much better compared to MySQL.

Unfortunately I had to make it live at least for test yesterday, so I got MySQL installed and went from there.

When I was working on that I figured out that for my PHP 7 there is NO driver yet.

Probably on Monday Iā€™ll do the followings:

1- Uninstall SQL 12
2- Uninstall PHP 7
3- Install SQL 2008
4. Install PHP 5.x
5. Create a new suiteCRM website. ( Or if there is a way to go to installation phase, Iā€™ll do that).

Just a quick question, based on your experience that youā€™re using this for a good amount of time, Is it necessary to go with Enterprise version of SQL server or we can go with Express as well? What is your idea about this?

Thanks a lot in advance

Sorry for my Tardy response.

We use the full version of MSSQL. I think express has limitations on database size. Depending on what customizations you make, and how much data youā€™re storing, you may hit a wall with Express and have to migrate. My suitecrm database is around 12gb.

a quick search on sql express limitations shows:
There are a number of limitations, notably: Constrained to a single CPU (in 2012, this limitation has been changed to ā€œThe lesser of one socket or four coresā€, so multi-threading is possible) 1GB RAM (Same in 2008/2012) 4GB database size

We also run a separate web server and SQL server. Its probably not a good idea to have your SQL database on the same server or to have SQL outside your firewall (assuming youā€™re going to use this internally and externally). You will also notice performance issues if both are on the same hardware

Another suggestion - I do not believe PHP 7 is supported. Please check the documentation. We are still running PHP 5.5.8

1 Like

Hi Dgreene

I do really appreciate your helps and guidesā€¦ That helped me out a lotā€¦
Thanks for all the recommendationsā€¦ My first setup was kind of just get it worked, and so Iā€™ll go and design it as you mentioned againā€¦
I also liked the idea of having web server and DB server separatedā€¦ that makes a lot of senses.

Hi im going trough the same problem could u give more details on how to set the permissions the link u gave didnt help me a t all.

There should be enough information in this thread, to help anyone with a basic knowledge of Windows Server to set the permissions. What specifically are you having issues with?

I cant seem to find the AppPool when i try to add on the ACL heres my setup:

-Virtualbox
-Windows Server 2008r2
-IIS7
-PHP7
-Mysql Server 5.7

step 1- Install the suite CRM Zipped Folder on the root folder (C:\inetpub\wwwroot\SuiteCRM) [color=#88bb00]Checked[/color]
Step 2- Open IIS Manager and Create a New website for suite (suitecrm.com) [color=#88bb00]Checked[/color]
Step 3- Create an app pool (suitcrm) [color=#88bb00]Checked[/color]
Step 4- Add app pool o ACL and give permissions [color=#bb0000]Not Checked[/color]

Youā€™ve missed a step.

On the screen shot you sent me, you need to click ā€œobject typesā€ and select ā€œcomputerā€ Then search again. Youā€™ll find it this time.

Well thats the problem when i click on object types it only shows one option ā€œBuilt in security principalsā€

It sounds like youā€™re not logged into the server as a domain admin/computer admin. If thats not the case, then you need to review the configuration of your server and the roles/services that are activated.

Here are my suite crm settings

Hi Ronin

I checked your last post and all of the attachments seems to be the same file.

Iā€™m not sure if you already check this or not but this web address that dgreene has included at very first comment in this thread is very helpful and should fix the problem, unless you are NOT logged in with the admin privileges.

Here is the link: http://www.iis.net/learn/manage/configuring-security/application-pool-identities

Sorry about that but if u read our conversation i tried doing what is written in the link but when i try to add the app pool my computer only shows built in security principals. Its really annoying and im trying to use crm for my dissertation.
.

:cheer: I FINALLY found the problem. My windows server was a domain controller so the admin was different.

this is an old thread but I did follow the main postā€™s suggestions as to permissions with changes that may make someoneā€™s life easier:
(SuiteCRM 7.8.7->7.8.8/Windows 10 Home/IIS 10/PHP 7.1/Mysql 5.7.12)

  1. Create folder where website is to be.

  2. Put website files into folder.

  3. In IIS, when you use Add Website and type in ā€œSite Nameā€ the text under Application pool automatically rejplaced by Site name text - that is your Application pool name/account (same as Site Name)

  4. when the web site is created the Application pool is also created at the same time.

  5. use this Application pool when changing the ownership of the website folders/files for suitecrm

  6. In the websiteā€™s folderā€™s Properties --> Security --> Advanced make Application pool owner of all folders/files - doing this automatically gives the Application pool Special Permissions - this is the same thing as giving Full Control to all folders/files (In Select User or Group window in the box under ā€œEnter the object name to selectā€ type ā€œIIS AppPool\your Application pool nameā€, click ā€œCheck Namesā€)

  7. Iā€™m not sure if it is necessary to give IUSR Full Control - I did anyways.

  8. The problem Iā€™m running into now is FastCGI process exited unexpectedly (500.0 Internal Server Errror) occasionally. Apparently this is related to php settings so Iā€™m still tryng to track that down.

it looks like i solved my fastcgi error problem -

windows event viewer was pointing to the php_wincache.dll as the source of the error

system:
Windows 10/IIS 10/PHP Version 7.1.7/MSVC14 (Visual C++ 2015)

File cache enabled
Version 2.0.0.8
Owner iisphp@microsoft.com
Build Date Nov 14 2016 10:15:45

detail table:
http://eugeneruthven.com/wincache.html
wincache detailed table

each of the following settings were changed one at a time -
php.ini settings:
wincache.fcachesize default 24 increased to 255 (max) fastcgi error still appeared
wincache.filecount default 4096 increased to 16384 (max) fastcgi error still appeared
wincache.maxfilesize default 256 increased to 2048 (max) fastcgi error still appeared
wincache.scachesize default 8 increased to 85 (max) fastcgi error still appeared
wincache.ttlmax default 1200 increased to 3600 (1/2 max) fastcgi error still appeared
wincache.ucachesize default 8 increased to 85 (max) no fastcgi error since Nov 8 2017

Our setup was:
SuiteCRM 7.11.0
Windows Server 2008 R2
Microsoft SQL Server 2014
IIS 7
PHP 7.2.7

When running install.php from SuiteCRM we got errors showing write permission problem with SuiteCRM folders and database driver problems.

We ran the phpinfo.php to get the login being used to execute php and added that account to the SuiteCRM folders and gave it full permissions.
Then we downloaded the MSSQL driver for PHP and installed them using the Web Platform Installer for ā€œMicrosoft Drivers 5.3 (x54) for PHP v7.2 for SQL Server in IISā€
Once this was completed the install ran successfully

1 Like