Citrix Storefront often is a bit tricky for people to setup.  After a few months of not using it I installed it without going through the eDocs and made one big mistake.

First of all, I’m surprised it worked, I setup the initial node and a second and was able to replicate changes across.  However, the second nods (when failed over) would not login.  Furthermore, the first node would not save changes.

One thing I already knew but gets people is to install the SSL certificate FIRST before you install Storefront.  You also need to add it to IIS by going to the default website, click “Bindings…” on the right and add an HTTPS/443 binding and select the certificate (don’t fill in headers or anything).  Then run setup.

BEFORE you configure Storefront, do yourself a favor and take a snapshot!  If you are in production or really anywhere and mess up on the database, often storefront will not let you uninstall.  There is no easy fix up and I’ve rebuilt the entire OS before because I did not take a snapshot.  Please do that and keep it until you’ve tested your rig (with access gateway/netscaler if needed).

Whenever apps won’t save on the appstore page (on the website) you know you have a database issue.  Basically the database is saving all of the user information that you might need.

In this case, I had completely blown past the SQL setup beforehand.  In the first case, make sure you make a security group (I used a domain global group) and add your computer accounts to it.  This account will be referenced when you run the scripts on SQL to create the database.

The eDocs clearly state you should setup your database!

http://support.citrix.com/proddocs/topic/dws-storefront-12/dws-deploy-multi.html

And they link to the scripts you need to run

http://support.citrix.com/proddocs/topic/dws-storefront-12/dws-deploy-multi-database.html

For the third script (there are 4!!!) Use the group you created for the storefront servers.

USE [master] CREATE LOGIN [CONTOSO\SFServerGroup] FROM WINDOWS; ALTER LOGIN [CONTOSO\SFServerGroup] WITH DEFAULT_DATABASE = [CitrixStoreFrontDB];

Once this is complete, also make sure you run the 4th script and then setup your service account (if you use one which you should) to be a dbowner.  This solved all the logon problems.  I would also use mirroring now if you plan to, either way, take a backup of the database so you don’t have to run all this again.

Mirroring involves editing the web.config in your store directory (under wwwroot\Citrix<storename>).  http://support.citrix.com/proddocs/topic/dws-storefront-12/dws-configure-conf-file.html (scroll down half way for the mirrored section).

Make sure you end the Failover Partner=mymirrordb;” with the ” (you want to move it from where it ends now) otherwise you’ll have database issues again.  Once you do this, propagate changes to the other nodes and they will also pick up the changes.

I also usually enable socket pooling for production deployments. This helps with larger numbers in IIS with the application pool.

One more note.  For HTTPS redirection, I’ve always found it easiest to follow this Citrix KB rather than do the HTTP redirection (does that work for HTTPS internal)? Although you must copy the file and set the IIS on each Storefront server it works a LOT better.

http://support.citrix.com/article/CTX133903

Hope this helps those getting Storefront to work, this was with Storefront 1.2.  I’ll cover the Netscaler integration in a later post.