Published on

Running Sitefinity on Apple Silicon with Parallels

Authors

Just to prefix here, this is running on an M3 MAX Macbook Pro, but it runs so much faster than my Bootcamped 2019 Core i9 16 inch Macbook. So this is Sitefinity MVC using .net 4.8, not Core just heads up. But the SF backend (which is 4.8) runs just fine…

Step 1: Install windows

We’re going to assume you have installed Parallels for Apple Silicon here, so now just install windows (and license it). I migrated from windows by just copying my Sitefinity projects folder straight into the Windows VM, no changes.

Install Windows

Step 2: Install VS 2022 ARM

Visual Studio ARM

Now you can load your site and build it, not really required for this if you already have the SitefinityWebApp.dll in the bin folder from the copy… but to develop further, GONNA NEED IT

Step 3: Setup IIS

Step 4: Create IIS Site

  • You should already know how to do this, but create a new site in IIS, point it at your Sitefinity Folder. We’re going to assume you called it “dev.mysite.com” for the purposes of the following steps
  • Open said folder in windows explorer, right-click, properties, and in Security give IIS AppPool\dev.mysite.com access to the folder

Step 5: Add your SQL Server

I like to setup the persistance mode so my databases are external to docker, but it fundamentally doesn’t matter I suppose

Step 6: Connect to SQL to test

  • Download the free Azure Data Studio for Apple Silicon
  • You’re probably going to want to install the following extensions
    • Admin Pack for SQL Server
    • SQL Server Arent
    • SQL Server Dacpac
    • SQL Server Import
  • Inside data studio, create your connection. The Server is your IP, Auth type of SQL Login, and the username and password are what you set in the docker install terminal code from Step 4.
  • From here you can use one of the import tools to restore your .bak (from the dashboard), or import your .bacpac

Step 7: Add hostfile entries

  • Inside windows, with a text editor running in Admin mode, open C:\Windows\System32\drivers\etc and edit the “hosts” file.
  • I like to add a host file entry for my SQL instance so just add the following, obviously use YOUR IP address from MacOS
    • 192.168.2.208 localsql
  • Now add the hostfile entry for your local SF site, so example is below, again, use your IP, this time get the ip from in windows because it’s the local parallels VM IP.
    • 10.211.55.3 dev.mysite.com
  • In MacOS you’ll need to add the same entries Follow this to edit Make sure the IP addresses here are to your Windows VM (obviously, so same as the windows hostfile entries)
  • So now the “dev.site.com” should be accessable on both Host and VM. Honestly the windows side I dont think is totally nessesary, but for debugging purposes I might need to get at the site on the windows side, so couldn’t hurt.

Step 7: Edit your connection string

  • Inside your Sitefinity project, edit the App_Data\Sitefinity\Configuration\Data.config and change the SQL connection string to be localsql (which we set above) and then whatever the credentials are to access it, sa\pw whatever.

Step 8: Create the certs

So now we need to make the HTTPS certs so our browsers won’t freak out on us.

  • Inside of Admin mode powershell run the following
  • Install it into windows trusted certs through the steps here
  • Now go back to IIS
    • Find your site
    • Click Bindings
    • Add a new HTTPS binding, and choose this cert

Step 9: Validate the cert in MacOS

  • Inside of MacOS, Safari or Chrome, run “https://dev.site.com”
  • It should fire up with the Sitefinity config\loading status screen
  • But you should also notice the cert is invalid…
  • Follow these steps to dowload the cert, add to your keychain, and trust it

Step 10: 🎉

  • You’re done, reload the site and everything should be just as it was back in windows, just faster (probably)

Boost your online presence.

Let us create the perfect digital experience for your company.

Contact us now