nopAccelerate

Faster, scalable and reliable nopCommerce.

Complete Guide to nopCommerce IIS Setup with Multi-Store, SSL and Domains

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail
nopCommerce IIS setup with multi-store and SSL

Introduction

When we set out to explore a nopCommerce IIS setup with multi-store configuration, our goal was simple: to simulate a production-ready, multi-tenant eCommerce platform in a local environment. However, as every developer knows, the journey from idea to implementation is rarely straightforward. This guide is more than just instructions; it’s a step-by-step walkthrough covering configuration, SSL certificates, and multi-store challenges, along with common errors and fixes.

Whether you’re testing locally before deployment or simply curious about how nopCommerce manages multi-store setups, this post provides practical insights and a structured process you can easily follow and learn from.

1. How to Clone nopCommerce from GitHub Repository

Like every journey, ours started at GitHub.

We began by cloning the official nopCommerce GitHub repository with the following command:

git clone https://github.com/nopSolutions/nopCommerce.git

With the code in hand, we opened the solution in Visual Studio, restored the NuGet packages, and built it. The build process completed smoothly.

2. Hosting and Configuring nopCommerce on IIS Web Server

Next, we created a new site in IIS with the following settings to expose the application on a proper domain locally:

  • Site name: nopcom
  • Physical path: <path-to-nopCommerce>/Presentation/Nop.Web
  • Hostname: nopcom.local
  • Port: 80

We created and assigned a new Application Pool targeting .NET 6.

Error: HTTP 500.19

Cause: Missing IIS modules and rewrite components.

Fix: Installed the IIS URL Rewrite Module, enabled ASP.NET features via Windows Features, and restarted the server.

Once that hurdle was cleared, we updated our hosts file (note: editing the hosts file requires administrator privileges):

127.0.0.1 nopcom.local

3. Enabling HTTPS with Self-Signed SSL Certificates

Security was next. We didn’t want any store exposed without HTTPS.

Using PowerShell, we created a self-signed certificate for the domain:

New-SelfSignedCertificate -DnsName “nopcom.local” -CertStoreLocation “cert:\\LocalMachine\\My”

We bound the certificate in IIS with Server Name Indication (SNI) enabled. However, HTTPS was still marked as insecure.

SSL Access Issue

Problem: Certificate was untrusted by the system.

Fix: Imported the certificate into Trusted Root Certification Authorities.

Now, accessing https://nopcom.local worked flawlessly.

Note: For production, consider using trusted certificates from providers like Let’s Encrypt.

4. Installing nopCommerce

Opening https://nopcom.local in a browser launched the nopCommerce installation wizard.

We configured the database, created the admin user, and the store came to life. The familiar dashboard confirmed a successful setup.

nopCommerce admin dashboard panel for store configuration

5. Setting Up Multi-Store Configuration in nopCommerce

One of nopCommerce’s powerful features is multi-store management. This lets you manage multiple region-specific stores from a single admin panel.

We set up three stores targeting:

Japan

Sweden

Canada

Adding Stores:

Admin → Configuration → Stores:

To map these domains locally, we updated the hosts file:

127.0.0.1 nopcom1.local

127.0.0.1 nopcom2.local

127.0.0.1 nopcom3.local

nopCommerce multi-store setup screen with store URLs

nopCommerce Canadian store front with categories menu

nopCommerce Japanese store front with category navigation

Swedish nopCommerce store homepage with product categories

Error: Cannot Assign SSL URL to Storem

Cause: Certificates were not bound for the new domains.

Fix: Created individual self-signed certificates for each store and added SNI-based bindings in IIS.

6. Language and Currency Customization per Store

To give each store a native feel, we added:

Languages:

English (US)

Japanese (JP)

Canadian English (CA)

Currencies:

JPY (Japanese Yen)

SEK (Swedish Krona)

CAD (Canadian Dollar)

nopCommerce languages setup screen with multiple options

nopCommerce currency setup screen with multiple exchange options

Tip:

If languages or currencies don’t appear correctly, ensure HTTPS is properly configured and store domains are correctly mapped.

7. Assigning SSL Certificates to Each Store Domain

For each new store domain, we generated self-signed certificates via PowerShell:

New-SelfSignedCertificate -DnsName “nopcom1.local” -CertStoreLocation “cert:\\LocalMachine\\My”

New-SelfSignedCertificate -DnsName “nopcom2.local” -CertStoreLocation “cert:\\LocalMachine\\My”

New-SelfSignedCertificate -DnsName “nopcom3.local” -CertStoreLocation “cert:\\LocalMachine\\My”

These certificates were then bound in IIS with SNI enabled.

Site bindings window showing HTTPS port 443 settings.

This allowed SSL check boxes to be enabled in Admin → Configuration → Stores for each individual store.

8. Final Testing of Multi-Store Setup with SSL

We visited each store to verify configurations:

https://nopcom1.local (Japanese store)

https://nopcom2.local (Swedish store)

https://nopcom3.local (Canadian store)

All stores displayed their correct language and currency.

SSL certificates validated successfully. 

The admin panel reflected per-store settings correctly. Success!

Troubleshooting Summary

IssueCauseFix
HTTP Error 500.19Missing IIS modulesInstall URL Rewrite Module, enable IIS ASP.NET features, restart
SSL Certificate IssuesCertificate untrustedImport certificate into Trusted Root Certification Authorities
SSL Store AssignmentNo certificates bound to new store domainsCreate and bind individual certs for each store domain
Language/Currency Not LoadingStore domain not loading via HTTPSBind SSL correctly, clear browser cache

Conclusion

From cloning the repository to configuring a full multi-store e Commerce solution with SSL and localized languages and currencies, this setup mimics a miniature enterprise architecture. It closely simulates deployment and highlights the importance of configuration and environment parity.

Whether you’re a solo developer or part of a team prepping for deployment, setting this up locally gives you both confidence and clarity, helping you troubleshoot effectively before production issues arise.

Pro Tip: For production environments, always use trusted SSL certificates and configure real DNS records rather than self-signed certificates and local hosts file edits.

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

Comments are closed.

Have a look at nopAccelerate Demo Store with 80,000+ products with nopAccelerate Solr and CDN Plugin.

download-trial Start Trial