Jun 28, 2024 | 15 Mins Read
Deploying a Kentico website requires careful planning and execution to ensure a smooth and successful launch.
This step-by-step guide covers everything you need to know, from initial project preparation and configuration to deployment methods, post-deployment tasks, and troubleshooting.
Whether you're opting for on-premise or cloud-based deployment, understanding and implementing best practices is crucial for stability, performance, and security.
Therefore, let’s get right into it:
Proper deployment is crucial for the successful launch of a Kentico website. Ensuring that your site is deployed correctly can make the difference between a smooth, effective launch and a myriad of problems that can disrupt user experience and business operations.
Stability and Performance: A well-executed deployment ensures that your website is stable and performs efficiently. Proper deployment processes help identify and fix any issues before they reach the live environment, minimizing the risk of downtime or performance bottlenecks.
Security: Ensuring all security measures are correctly implemented during deployment protects your site from potential threats. This includes configuring firewalls, applying security patches, and securing sensitive data. Proper deployment helps mitigate risks of security breaches and data loss.
User Experience: A smooth deployment process ensures that all functionalities work as intended, providing a seamless experience for users. This includes ensuring that all integrations, forms, and interactive elements function correctly, which is vital for user satisfaction and engagement.
SEO and Visibility: Proper deployment also impacts your site’s visibility on search engines. Ensuring that SEO best practices are followed during deployment can help improve your site’s search engine ranking, driving more organic traffic.
Scalability: Effective deployment strategies ensure that your site is scalable, allowing it to handle increased traffic and content growth without performance issues. This is particularly important for businesses expecting rapid growth or seasonal traffic spikes.
Downtime and Performance Issues: Improper deployment can lead to website downtime or slow performance, affecting user experience and potentially leading to loss of revenue and customer trust.
Security Vulnerabilities: Skipping essential security steps during deployment can leave your site exposed to attacks, risking data breaches and compliance issues.
Functional Errors: Without thorough testing and proper configuration, your site may have broken links, malfunctioning features, or other errors that frustrate users and hinder business operations.
SEO Penalties: Failing to implement SEO best practices during deployment can negatively impact your search engine rankings, reducing visibility and organic traffic.
Before starting the deployment of your Kentico website, it's essential to ensure that your target environment meets the necessary requirements and that you have chosen an appropriate deployment method. Here’s what you need to know:
To deploy Kentico successfully, ensure that your target environment meets the following software requirements:
Web Server Software: IIS 8.0 or higher.
.NET Framework: Version 4.7.2 or later.
Database Type and Version: Microsoft SQL Server 2016 or higher, or Azure SQL Database for cloud-based deployments.
There are two main deployment methodologies for Kentico: on-premise deployment and cloud-based deployment. Each has its own setup process and considerations.
On-premise deployment involves setting up a dedicated web server to host the Kentico application. This method requires careful planning of both hardware and software resources.
Hardware Considerations: Ensure your server has adequate CPU, memory, and storage to handle the expected traffic and content load. High-availability setups may include multiple servers with load balancing and failover mechanisms.
Software Considerations: Install and configure the necessary software, including the correct version of IIS, .NET Framework, and SQL Server. Regularly update and maintain these components to ensure security and performance.
Cloud-based deployment involves hosting your Kentico application on a cloud platform. This method offers several advantages, including scalability, flexibility, and reduced maintenance overhead.
Scalability: Cloud platforms allow you to scale resources up or down based on demand, ensuring optimal performance during traffic spikes or growth periods.
Flexibility: Cloud deployment supports a range of services and configurations, enabling you to tailor the environment to your specific requirements.
Reduced Maintenance: Cloud providers manage the underlying infrastructure, including hardware maintenance, updates, and security, freeing your team to focus on application development and content management.
Microsoft Azure: Provides robust support for Kentico with easy scalability, high availability, and integration with other Azure services.
Amazon Web Services (AWS): Offers a flexible environment for hosting Kentico, with comprehensive tools for monitoring and managing your application.
Google Cloud Platform (GCP): Supports Kentico deployment with scalable infrastructure and advanced analytics capabilities.
Choosing between on-premise and cloud-based deployment depends on your business needs, budget, and technical expertise. Cloud-based deployment is generally recommended for its ease of management and scalability, particularly for businesses expecting growth or fluctuating traffic.
By ensuring your environment meets these prerequisites and selecting the right deployment method, you can set the stage for a successful Kentico deployment. Next, we will delve into the detailed steps for deploying Kentico in both environments.
Done with Kentico development? It’s time to deploy it. Here’s how you can do it, a step-by-step guide for you.
Proper preparation of your Kentico project is critical for a successful deployment. This includes configuring essential project files, setting environment variables, and performing pre-deployment checks to ensure everything is in place for a smooth launch.
Configuring Kentico project files for the target environment is crucial as it ensures that the application connects correctly to databases, email servers, and other integrations. Here’s a detailed breakdown of the key configuration files you need to edit:
The web.config file is a central configuration file for your Kentico application, managing settings related to the web server and application behavior.
Connection Strings: Configure the connection strings to point to the correct database server. This includes settings for the database name, server address, and authentication details.
<connectionStrings> <add name="CMSConnectionString" connectionString="Data Source=your_server;Initial Catalog=your_database;Integrated Security=True;" providerName="System.Data.SqlClient" /> </connectionStrings>
Email Server: Set up the SMTP settings for the email server, including server address, port, and authentication details.
<system.net> <mailSettings> <smtp from="your_email@example.com"> <network host="smtp.example.com" port="587" userName="your_username" password="your_password" /> </smtp> </mailSettings> </system.net>
Other Integrations: Configure settings for other integrations like APIs, payment gateways, or external services within the web.config file.
For projects using specific development frameworks, such as MVC, additional configuration might be required in the App.config file.
Set up routes, controllers, and other MVC-specific settings.
<appSettings> <add key="MvcConfig" value="true" /> </appSettings>
Configure any other settings specific to the chosen development framework to ensure smooth operation.
The Settings.txt file includes various environment-specific settings.
Environment Settings: Specify settings for different environments (development, staging, production) to ensure the application behaves correctly in each environment.
Environment=Production LogLevel=Error
Setting environment variables for sensitive information (e.g., passwords, API keys) enhances security by avoiding hardcoding credentials in configuration files. This can be done in various ways depending on the deployment environment.
Windows Environment Variables: Set environment variables through the Windows Control Panel or PowerShell.
[Environment]::SetEnvironmentVariable("API_KEY", "your_api_key", "Machine")
Azure App Service: Configure environment variables in the Azure portal under the Application settings section.
AWS Elastic Beanstalk: Set environment variables through the Elastic Beanstalk console under Configuration -> Software.
Running automated pre-deployment checks is essential to identify potential configuration errors or missing dependencies before deployment. Tools like the Kentico Deployment Assistant can be used to streamline this process.
Kentico Deployment Assistant: This tool helps validate configuration settings, ensuring that all required components are correctly configured and that there are no missing dependencies.
Automated Scripts: Set up scripts to perform checks on configuration files, database connections, and other critical components to ensure everything is ready for deployment.
Deploying your Kentico database is a critical step in the deployment process. There are two main approaches for deploying the Kentico database: Database Backup and Restore, and Kentico Export/Import. Each method has its own advantages and steps.
Using the Database Backup and Restore method involves exporting a database backup from the development environment and restoring it on the target server. Here’s how to do it:
Open SQL Server Management Studio (SSMS).
Connect to your development database.
Right-click the database you want to back up, select "Tasks," and then "Back Up."
Choose the backup type (Full, Differential, Transaction Log) and specify the destination.
Click "OK" to create the backup file.
Securely transfer the backup file to the target server. Use secure methods such as SFTP or a secure cloud storage service to avoid any potential security risks.
Open SQL Server Management Studio (SSMS) on the target server.
Right-click "Databases" and select "Restore Database."
Choose the "Device" option, browse to the backup file, and select it.
Configure the restore options as needed and click "OK" to restore the database.
Check the restored database to ensure all data and configurations are correctly imported.
Kentico’s built-in export/import functionality allows you to transfer site data and configuration from the development environment to the target server.
Log in to the Kentico administration interface in your development environment.
Navigate to the "Sites" application.
Select the site you want to export and click "Export."
Follow the prompts to select the data and objects you want to export.
Save the export package file.
Securely transfer the export package file to the target server using secure methods like SFTP or secure cloud storage.
Log in to the Kentico administration interface on the target server.
Navigate to the "Sites" application and click "Import."
Browse to the exported package file and select it.
Follow the prompts to import the site data and configurations.
Check the imported site to ensure all data and configurations are correctly transferred.
Ensuring database security during deployment is vital. Follow these best practices to maintain security:
Deploying the Kentico web application involves transferring the application files to the target server and configuring the web server. Here’s a detailed guide on the various deployment methods, IIS configuration, and setting permissions and ownership.
There are several methods to deploy the Kentico web application files to the target server, each suitable for different project sizes and requirements.
Using an FTP client to upload website files is a straightforward method for smaller projects or initial setups.
Prepare FTP Client: Install an FTP client like FileZilla.
Connect to Server: Enter the FTP server address, username, and password provided by your hosting provider.
Upload Files: Navigate to your local Kentico web application folder, select all files, and drag them to the target directory on the server.
Verify Upload: Ensure all files are uploaded correctly and check for any transfer errors.
Microsoft Web Deploy is a powerful tool for deploying web applications, especially suitable for larger projects.
Install Web Deploy: Ensure that Web Deploy is installed on both the development and target servers.
Create Deployment Package: In Visual Studio, right-click the Kentico project, select "Publish," and choose "Web Deploy" as the publish method. Configure the settings and create a deployment package.
Deploy Package: On the target server, use the Web Deploy command-line tool or IIS Manager to import and deploy the package.
Verify Deployment: Check the website to ensure all files and configurations are correctly deployed.
Integrating deployment with version control systems like Git allows for automated deployments and rollback capabilities.
Set Up Repository: Ensure your Kentico project is stored in a version control repository (e.g., GitHub, GitLab).
Configure CI/CD Pipeline: Use a CI/CD tool like Jenkins, Azure DevOps, or GitHub Actions to automate the deployment process. Configure the pipeline to build, test, and deploy the application.
Automated Deployments: Set up automated triggers for deployments, such as commits to the main branch or manual triggers for staging and production environments.
Rollback Capabilities: Implement rollback capabilities to revert to previous versions if deployment issues occur.
Configuring Internet Information Services (IIS) is crucial for running Kentico on Windows servers. Here’s a step-by-step guide:
Install IIS: Ensure IIS is installed and enabled on your Windows server.
Set Up Application Pool:
Open IIS Manager.
Right-click "Application Pools" and select "Add Application Pool."
Name the pool (e.g., "KenticoAppPool"), select .NET CLR Version 4.0, and set the Managed Pipeline Mode to Integrated.
Create Website:
Right-click "Sites" and select "Add Website."
Enter a site name, select the physical path of the Kentico web application, and choose the application pool created earlier.
Assign a port number or domain name for the site.
Configure Virtual Directories:
Right-click the website and select "Add Virtual Directory."
Set the alias and physical path for any additional virtual directories required by Kentico.
Handler Mappings:
Ensure that the correct handler mappings are set for ASP.NET applications.
Navigate to the website in IIS Manager, open "Handler Mappings," and verify that .NET handlers are correctly configured.
For non-Windows environments, consider using web servers like Apache or Nginx. These configurations are less common for Kentico but can be used with proper setup and configuration of the .NET Core runtime.
Setting appropriate permissions and ownership for the deployed web application files ensures that Kentico has the necessary access to resources.
File Permissions:
Navigate to the root folder of your Kentico web application.
Right-click the folder, select "Properties," and go to the "Security" tab.
Click "Edit" and add the IIS_IUSRS group, granting Modify, Read & Execute, List Folder Contents, Read, and Write permissions.
Ownership:
Ensure that the web application files are owned by the appropriate user or group that runs the IIS application pool.
To change ownership, right-click the root folder, select "Properties," go to the "Security" tab, and click "Advanced."
Click "Change" next to the Owner field, enter the user or group, and apply the changes.
Special Permissions:
Ensure that any special directories (e.g., logs, cache) have the necessary write permissions for the IIS application pool user.
After deploying your Kentico website, several critical post-deployment tasks must be completed to ensure your application runs smoothly and securely. Here’s a detailed guide on configuring the application pool identity, verifying database permissions, updating URLs, setting up virtual scheduling, configuring caching, implementing security measures, and verifying content functionality.
The application pool identity in IIS determines the user account under which the Kentico application runs. Properly configuring this identity is crucial for security and functionality.
Navigate to the Application Pools section.
Right-click the application pool used by your Kentico site (e.g., "KenticoAppPool") and select "Advanced Settings."
Under the "Process Model" section, find the "Identity" property and click the "…" button.
Choose a predefined identity (e.g., "ApplicationPoolIdentity") or set a custom account with necessary permissions.
Click "OK" to save the changes and ensure the application pool identity is set correctly.
Verifying and granting appropriate database permissions to the user account associated with the application pool ensures that the Kentico application can access and modify database content.
Use SQL Server Management Studio (SSMS) to connect to your database server.
Navigate to the Security section and find the login associated with your application pool identity.
Right-click the login and select "Properties."
Under "User Mapping," map the login to your Kentico database and assign the necessary roles (e.g., db_owner).
Ensure the account has the required permissions to read, write, and modify database content.
Updating website URLs within the Kentico administration interface is essential to ensure that all links and paths are correct after deployment.
Navigate to the Sites application.
Select your site and update the primary domain and any other URLs to match the new environment.
Ensure all links and paths are correctly updated and functional.
If using scheduled tasks within Kentico (e.g., for automated content publishing), ensure they are configured correctly for the new server environment.
In the Kentico admin interface, go to the Scheduled Tasks application.
Review and adjust task schedules as needed to match the new server environment.
Ensure that tasks run under the correct security context and have the necessary permissions to execute.
Configuring caching mechanisms within Kentico can significantly improve performance on the deployment server.
Navigate to the Settings application in the Kentico admin interface.
Set appropriate cache expiration times for different content types.
Enable specific caching features like output caching, data caching, and client-side caching to optimize performance.
Implementing security best practices after deployment is crucial for protecting your Kentico application.
Configure your web server to use HTTPS for secure communication. Obtain and install an SSL certificate if necessary.
Set up user roles and permissions to restrict access to sensitive areas.
Enable security features like two-factor authentication for enhanced protection.
Use security scanning tools to identify potential vulnerabilities and address any issues.
Thoroughly testing all content functionality and layout after deployment ensures everything renders and behaves as expected on the live website.
Review all pages, content items, and interactive elements to ensure they display and function correctly.
Verify that the website layout is consistent and responsive across different devices and browsers.
Test all forms, links, and integrations to ensure they work as intended.
Comprehensive testing is crucial after deploying your Kentico website. Thorough testing ensures that all aspects of your site function correctly, providing a seamless user experience and maintaining security. Identifying and fixing issues before the website goes live can save time and resources, preventing potential problems that could affect users and business operations.
Functionality testing involves verifying that all core functionalities of the website work as expected. This includes:
Forms: Test all forms on your site, including contact forms, subscription forms, and any custom forms. Ensure they submit correctly, trigger appropriate actions, and store or send data as intended.
Content Pages: Navigate through all content pages to check for broken links, missing images, and accurate display of text and media.
E-commerce Features: If your site includes e-commerce capabilities, test the entire shopping experience, from product browsing to checkout and payment processing. Ensure that the cart, payment gateway, and order confirmation functionalities work seamlessly.
Third-Party Integrations: Verify that integrations with third-party systems, such as CRM, ERP, or marketing automation tools, are functioning correctly and data flows as expected.
Performance testing ensures that your website loads quickly and handles user traffic efficiently. Use tools and techniques to assess your site's performance:
Load Testing: Simulate user traffic to evaluate how the website performs under various load conditions. Tools like Apache JMeter and LoadRunner can help with this.
Speed Testing: Measure page load times using tools like Google PageSpeed Insights or GTmetrix. Identify and address performance bottlenecks, such as unoptimized images or slow server response times.
Scalability Testing: Ensure the website can scale to handle increased traffic during peak periods.
Security testing is essential to protect your website from potential threats. Run security scans to identify vulnerabilities and implement necessary measures to address them:
Vulnerability Scanners: Use tools like OWASP ZAP, Nessus, or Acunetix to scan for common security issues, such as SQL injection, cross-site scripting (XSS), and insecure configurations.
Penetration Testing: Conduct manual penetration testing to identify security weaknesses that automated tools might miss.
Security Features Verification: Ensure that security features like HTTPS, user authentication, and role-based access controls are correctly configured and functioning.
Cross-browser testing ensures that your website's functionality and layout are consistent across different web browsers and devices, providing a seamless user experience for all users:
Browser Compatibility: Test your site on major web browsers, including Chrome, Firefox, Safari, Edge, and Internet Explorer. Check for consistent rendering and functionality.
Device Compatibility: Test your website on various devices, including desktops, tablets, and smartphones, to ensure responsive design and optimal performance.
Automated Testing Tools: Use tools like BrowserStack or Sauce Labs to automate cross-browser testing and cover a wide range of browsers and devices efficiently.
As your Kentico website grows, advanced deployment techniques can streamline and enhance your deployment strategy.
Deployment scripting automates repetitive tasks, ensuring consistency and reducing human error. Popular tools include:
PowerShell: Automates tasks on Windows servers, such as copying files and configuring IIS.
Bash: Automates tasks on Linux servers.
Microsoft Web Deploy: Scripts to automate web application deployments.
Continuous Integration/Continuous Delivery (CI/CD) automates code integration and delivery, enabling faster and more reliable deployments.
Benefits: Automates build, test, and deployment processes, ensuring consistent quality and faster releases.
Tools: Jenkins, Azure DevOps, GitHub Actions, and GitLab CI.
Integration: Set up automated builds for Kentico, run tests, and deploy to the target environment, ensuring each change is tested and deployed consistently.
Load balancing ensures high availability and reliability by distributing traffic across multiple servers.
Implementation: Use load balancers like NGINX or AWS Elastic Load Balancing.
Configuration: Distribute incoming traffic to ensure the website remains accessible even if one server fails.
Deploying a Kentico website can sometimes encounter issues. Here are some common problems and their solutions:
Connection string errors can prevent your application from connecting to the database.
Solution: Verify the connection string in the web.config file. Ensure the server name, database name, username, and password are correct. Use a database client to test connectivity.
Permission-related issues can cause functionality problems if the application can't access necessary resources.
Solution: Ensure the IIS application pool identity has the correct permissions on the file system and database. Check folder permissions and database user roles.
Website functionality issues may arise due to configuration mismatches or missing files.
Solution: Verify all necessary files were uploaded. Check the web.config and other configuration files for correct settings. Review application logs for error details and resolve accordingly.
Security vulnerabilities need immediate attention to protect your site.
Solution: Address vulnerabilities identified by security scans. Implement HTTPS, configure secure user roles, and update software to patch known issues. Use tools like OWASP ZAP to run security tests and validate fixes.
By following these troubleshooting tips, you can quickly identify and resolve common deployment issues, ensuring a smooth and secure Kentico website launch.
At DotStark, a leading Kentico development company, we specialize in delivering seamless Kentico deployments and comprehensive support to ensure your website operates flawlessly.
Our team has extensive experience in Kentico deployments, ensuring your project is set up correctly from the start.
We handle everything from initial setup to post-deployment tasks, including configuring application pools, setting database permissions, and optimizing caching mechanisms.
Understanding that every business is unique, we provide tailored deployment strategies to meet your specific needs, whether you're opting for on-premise or cloud-based solutions.
Our expertise in Kentico Development Best Practices guarantees a smooth and efficient deployment process, allowing you to focus on your core business activities while we take care of the technical details.
Proper deployment is essential for the success of your Kentico website. By following this comprehensive guide, you can ensure a smooth, secure, and efficient launch. From configuring application pools and database permissions to optimizing performance and implementing security measures, every step is crucial. For businesses seeking professional assistance, DotStark provides tailored deployment services and ongoing support to ensure your Kentico project meets and exceeds expectations. Trust DotStark, the leading Kentico development company, to handle your deployment needs with expertise and care.
Implement HTTPS, configure Kentico security features like user roles and permissions, and run regular security scans to identify and address vulnerabilities.
Navigate to the Settings application in Kentico, adjust cache expiration times, and enable specific caching features like output caching and data caching to improve performance.
In IIS Manager, navigate to Application Pools, right-click your pool, select Advanced Settings, and set the Identity property under Process Model to the desired account (e.g., ApplicationPoolIdentity).
In SQL Server Management Studio, ensure the application pool identity has the necessary permissions (e.g., db_owner) on the Kentico database to access and modify content.
CI/CD pipelines automate the build, test, and deployment processes, ensuring consistent quality and faster releases. They reduce manual intervention and provide rollback capabilities for safer deployments.
Preparation involves configuring essential project files, setting environment variables, and performing pre-deployment checks. This ensures your environment is ready and minimizes potential issues during deployment.
On-premise deployments involve hosting Kentico on your own servers, giving you full control over the infrastructure. Cloud-based deployments use cloud platforms for scalability and reduced maintenance overhead.
Tools like Google PageSpeed Insights, GTmetrix, and Apache JMeter help measure and optimize your site's performance, ensuring it handles user traffic efficiently.
Cross-browser testing ensures your website functions and looks consistent across different browsers and devices, providing a seamless user experience for all visitors.
Manthan Jangid is a distinguished Kentico Certified Developer at DotStark Technologies, showcasing formidable expertise in software engineering. With an extensive tenure of over 3 years specializing in Kentico CMS and a commendable track record spanning more than 4 years in the IT sector.
A Content Management System (CMS) is a platform that allows you to create, manage, and modify digital content without needing extensive...
In this blog, we’ll compare three popular CMS platforms: Kentico, Sitecore, and Umbraco. Each offers unique features and benefits, catering...
Implementing best practices in your Kentico development can significantly enhance the effectiveness and efficiency of your digital experience platform...
Keep informed of our latest updates by subscribing to our newsletter. Get access to a world of exclusive industry insights, content, and special offers.
Connect with our community and be the first one to receive updates- because knowledge is everything!
Dotstark is here to help you turn concepts into working solutions.
Write us a few words about your project and we'll prepare a proposal for you within 24 hours.
Hi, I've been using Dotstark services for about two and a half years now and been working with Sunil. I've never had a problem with them. Excellent communicators, they get the work done on time. I never have to ask them anything twice. I'd thoroughly recommend anybody who's looking to use them.
Commendable work! The development team at DotStark provided us with bespoke solutions as per specific requirements. I am very impressed with the way they pay attention to each and every detail and provide quick responses with clear communication. We are looking forward to working with them again for the next project!
DotStark’s excellent work has revolutionized our business. Their consistent efforts and attention to tiny details helped us to elevate our online portal. The team’s commitment to quality and adaptability was impressive making them an ideal choice as a digital solution development partner. We were satisfied with their services!
I must say, DotStark truly understands what its clients want. Recently, we hired them to create a web application with limited features and they did a tremendous job beyond our expectations. Their exceptional problem-solving skills, proactive methods, and appealing front-end designs made us all awestruck. Thanks for the wonderful services.
We contacted DotStark to obtain mobile app development services. When their team demonstrated their creative problem-solving approaches, agile methods, technical expertise, and future vision, we realized we made the right choice by hiring them. By seeing the outcomes, we were more than happy as they delivered surpassing our expectations.
Working with DotStark has been the best decision for our firm. Their years of experience and expertise facilitated a smooth development process and successful collaboration. Dedication and commitment shown by their team ease the process of delivering top-quality results. Highly recommended by us.
We highly recommend DotStark if you are looking to acquire a high-performance solution from an experienced team. This firm has been our trusted partner for all kinds of digital solutions. Their professionalism and dedication to delivering premium-quality solutions are matchless. You must consider it as a go-to firm for any of your future digital projects.
Need An Expert Consultation? Drop us some details here!
Get our guidence by following these 3 simple steps-
Create a Proposal
Requirement Discussion
Initiate the Project
Get a free consultation of
30 minutes with us
Neha Sharma
Business Analyst
+91 7792846419 Neha@dotstark.com
Share your project details with us, and we will provide you with a detailed proposal shortly.
1st Floor, Opp. Metro Pillar No. 97, New Sanganer Road, Jaipur - 302019 Rajasthan, India.
Contact: +91 9680599916
support@dotstark.com
3101 N. Central Ave, STE 183#3541, Phoenix, Arizona
Contact: +1 (602) 403-9958
26 Finch Crescent, London ON N6E 2E5, Canada
Contact: +1 (647) 862-2190
Plaza 33, No.1, Jalan Kemajuan, Seksyen 13, 46200, Petaling Jaya, Selangor, Malaysia
Contact: +60 17-656 4127
This website uses cookies to enhance your user experience. To find out more about the cookies we use, see our Privacy Policy.