This is part 2 of our how to install Kentico in Azure series where I walk through the Kentico install in Azure. If you need to know how to setup Azure see the previous post.
In this post I do run into an issue but left it in my post to show how I worked around it. Please read through the entire post before you follow the steps to see what you may skip.
I am going to assume you have installed the Kentico Program files on your local machine. When creating a new Kentico instalce I fire up the Kentico Installation Manager (KIM) and select Install +.
I always choose Custom Installation so I can create the site where and how I want it created removing modules and features that I will not be using on the site.
1. Installation Type
- Target location: Local IIS/IIS Express - I set the site up in IIS before I begin the install and create a folder where the site is to be stored.
- .NET Framework version: .NET Framework 4.6 - as we configured in Azure Web Apps.
- Web project type: Web site project - this is a simple site but Web application project could be used as well. In this installer Microsoft Azure project isn't even an option but even if it were I would not choose it as we are running on Azure Web Apps. Microsoft Azure project is for Cloud Services.
- Installation with database : check
- I have access to SQL server : check
- SQL Server : enter your Azure SQL Database Server - you can get this in your Azure Portal under Web Apps and the configuration string that we added in Part 1.
- Authentication: SQL Server Account - add your user and password
- click Establish Connection
- Database name: Select your database
- Overwrite existing database: check
I go through everything and unselect anything I won't be using to minimize the footprint of the install. You can always modify your install in the future to add in modules you originally didn't install. Take a look at the spellcheckers and UI cultures too, do you really need them all?
4. Sample sites:
I only select the Blank Site.
5. Improvement program
- Send anonymous usage records to Kentico: check - let's help make the product better!
During the Installation I like to "Show Details" and watch what is going on. If it starts to hang you can see where here.
* My Install Failed. It timed out when trying to create the db. KIM still created all the site files I needed so I moved ahead and created the db later. If you see something I could have done differently to make this work please let me know in the comments. After install it created a virtual directory in IIS pointing to my site files. I removed the vd and updated the website in IIS to point to the new CMS directory of the instance.
I browsed to the site locally in my browser. Since the db hasn't been setup yet it asks me to create this.
1. SQL Settings
Enter your settings
Enter your db name
It began creating the db objects right away for me. It took about 5 minutes to create the database.
3. License Key
Enter your license key - if you don't have it yet, you can create a free one for your domain at https://client.kentico.com/ to keep moving for the time being while you wait to get your full license.
4. Starter Site
- Choose starter site: select Blank Site
This took about 8 minutes to finish.
At this point you can move your site files to Azure and it would run.
There are a couple of things I like to do first.
1. I first like to make sure it is running on the latest hotfix and if not, get it there using KIM.
2. Configure the site to use Azure Blob Storage in the web.config.
<add key="CMSExternalStorageName" value="azure" />
<add key="CMSAzureAccountName" value="pcvcclassic" />
<add key="CMSAzureSharedKey" value="<shared key>" />
<add key="CMSAzureCDNEndPoint" value="http://az836146.vo.msecnd.net" />
<add key="CMSAzureBlobEndPoint" value="https://pcvcclassic.blob.core.windows.net" />
<add key="CMSAzurePublicContainer" value="true" />
- CMSExternalStorageName: azure
- CMSAzureAccountName: Get this from the Azure portal
- CMSAzureSharedKey: Get this from the Azure portal - Primary Key
- CMSAzureCDNEndPoint: If you have a custom domain setup for your CDN you can use that in your settings.
- CMSAzurePublicContainer: Get this from the Azure portal
- CMSAzurePublicContainer: true - so media can be accessed by the public.
Finally, I make sure to store Media files on disk.
Now when saiving images in the Media Libraries they will be stored in Blob Storage. Also Kentico automatically has the CDN url for the asset.
If you want to view your files in Blob Storage I suggest using CloudBerry Explorer for Azure to view them. See my post on this tool.
Now you simply need to deploy your site to Azure. I like using Visual Studio 2015 Publish Web App feature, but there are many methods to deploy, I find this the easiest.
That is it. Your site should be up and running in Azure. You can either go to the default Azure Web App url or your domain if you configured it. You will need to add a license for the domain.
Bryan Solits wrote a good series on deployments at http://devnet.kentico.com/articles/deploying-kentico-to-azure-web-apps-part-1-deployment if you want more details/options.
If you're looking for more help/resources with runing Kentico in Azure you may want to join the Kentico Azure Community on Yammer.
If you have feedback or other suggestions please leave them in the comments.