{"id":14925,"date":"2025-05-21T18:18:29","date_gmt":"2025-05-21T12:48:29","guid":{"rendered":"https:\/\/www.skynats.com\/?p=14925"},"modified":"2025-05-22T14:42:58","modified_gmt":"2025-05-22T09:12:58","slug":"how-to-install-umbraco-cms-on-ubuntu","status":"publish","type":"post","link":"https:\/\/www.skynats.com\/blog\/how-to-install-umbraco-cms-on-ubuntu\/","title":{"rendered":"How to Install Umbraco CMS on Ubuntu\u00a0"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Umbraco is a popular, open-source content management system (CMS) built on Microsoft&#8217;s .NET platform. Known for its flexibility and extensibility, Umbraco is a go-to solution for building dynamic websites. In this guide, we&#8217;ll show you how to install Umbraco CMS on Ubuntu 22.04 or 24.04, using .NET 9 SDK and Microsoft SQL Server for the database.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Whether you&#8217;re developing locally or preparing for a production deployment, this tutorial will walk you through all the steps needed to get Umbraco up and running on your <a href=\"https:\/\/www.skynats.com\/linux-server-management\/\">Linux server<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-small-font-size\" id=\"h-install-net-sdk\"><strong>Install .NET SDK<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To run Umbraco CMS, you need to have the .NET SDK installed. We\u2019ll use the official installation script provided by Microsoft.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-small-font-size\" id=\"h-install-wget-and-download-the-net-installation-script\"><strong>Install wget and download the .NET installation script<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">First, let&#8217;s install the required wget utility and download the installation script:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir -p $HOME\/dotnet &amp;&amp; tar zxf dotnet-sdk-9.0.300-linux-x64.tar.gz -C $HOME\/dotnet\nexport DOTNET_ROOT=$HOME\/dotnet\nexport PATH=$PATH:$HOME\/dotnet<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading has-small-font-size\" id=\"h-add-the-net-sdk-to-your-system-s-path\"><strong>Add the .NET SDK to your system&#8217;s PATH<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">To use the dotnet command globally, add it to your system\u2019s PATH:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo 'export DOTNET_ROOT=$HOME\/.dotnet' &gt;&gt; ~\/.bashrc\necho 'export PATH=$PATH:$HOME\/.dotnet' &gt;&gt; ~\/.bashrc\nsource ~\/.bashrc<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading has-small-font-size\" id=\"h-verify-installation\"><strong>Verify Installation<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Check if the installation was successful by verifying the .NET version:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dotnet --version<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The output should show a version like 9.0.300.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-small-font-size\" id=\"h-install-microsoft-sql-server-on-ubuntu\"><strong>Install Microsoft SQL Server on Ubuntu<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Umbraco CMS requires a database, and <a href=\"https:\/\/www.microsoft.com\/en-in\/sql-server\" target=\"_blank\" rel=\"noopener\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-secondary-color\">Microsoft SQL<\/mark><\/a> Server is its default choice. Here\u2019s how to install it on your Ubuntu system.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-small-font-size\" id=\"h-add-microsoft-sql-server-gpg-key-and-repository\"><strong>Add Microsoft SQL Server GPG key and repository<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>curl https:\/\/packages.microsoft.com\/keys\/microsoft.asc | sudo tee \/etc\/apt\/trusted.gpg.d\/microsoft.asc\nsudo add-apt-repository \"$(wget -qO- https:\/\/packages.microsoft.com\/config\/ubuntu\/22.04\/mssql-server-2022.list)\"<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading has-small-font-size\" id=\"h-install-sql-server\"><strong>Install SQL Server<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Now, update your package lists and install Microsoft SQL Server:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get update\nsudo apt-get install -y mssql-server<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading has-small-font-size\" id=\"h-configure-sql-server\"><strong>Configure SQL Server<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Run the setup command to configure SQL Server. You will be prompted to choose the edition and set an SA (admin) password:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo \/opt\/mssql\/bin\/mssql-conf setup<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading has-small-font-size\" id=\"h-check-sql-server-status\"><strong>Check SQL Server status<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ensure the SQL Server service is running correctly:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl status mssql-server --no-pager<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If the service is running, you should see output indicating that SQL Server is active.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><em>Install SQL Server Command-Line Tools<\/em><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading has-small-font-size\" id=\"h-add-microsoft-tools-repository\"><strong>Add Microsoft tools repository<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">We\u2019ll install the SQL Server command-line tools, which are useful for managing databases.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl https:\/\/packages.microsoft.com\/config\/ubuntu\/22.04\/prod.list | sudo tee \/etc\/apt\/sources.list.d\/msprod.list<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading has-small-font-size\" id=\"h-install-tools\"><strong>Install tools<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt-get install -y mssql-tools unixodbc-dev<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading has-small-font-size\" id=\"h-add-tools-to-your-system-path\"><strong>Add tools to your system PATH<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">To use the sqlcmd and other tools from anywhere, add the tools to your system&#8217;s PATH:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo 'export PATH=\"$PATH:\/opt\/mssql-tools\/bin\"' &gt;&gt; ~\/.bashrc\nsource ~\/.bashrc<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Create a SQL Database for Umbraco<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now that SQL Server is installed, we need to create a database for Umbraco to use.<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-small-font-size\" id=\"h-log-in-to-sql-server\"><strong>Log in to SQL Server<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Use sqlcmd to log in as the SA user:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sqlcmd -S localhost -U SA -P 'YourPassword'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Replace YourPassword with the password you set during the SQL Server setup.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-small-font-size\" id=\"h-create-the-umbraco-database\"><strong>Create the Umbraco database<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To create the database, run the following SQL command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE DATABASE UmbracoDB;\nGO\nQUIT<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You can replace UmbracoDB with the name of your choice.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Install Umbraco Templates and Create a New Project<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now that the environment is set up, we can create a new Umbraco project.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-small-font-size\" id=\"h-install-umbraco-cli-templates\"><strong>Install Umbraco CLI templates<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use the dotnet CLI to install Umbraco templates:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dotnet new install Umbraco.Templates<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading has-small-font-size\" id=\"h-create-a-new-umbraco-project\"><strong>Create a new Umbraco project<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Create a new Umbraco CMS project in a directory of your choice:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dotnet new umbraco --name MyCMS\ncd MyCMS<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Replace MyCMS with the desired project name.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Run Umbraco CMS<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s run the Umbraco CMS application.<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-small-font-size\" id=\"h-build-and-run-your-project\"><strong>Build and run your project<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>dotnet run<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The Umbraco site should now be live at<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>http:\/\/ip_address:5000<\/em>&nbsp; after changing applicationUrl to ip address of the server in&nbsp; .\/MyCMS\/Properties\/launchSettings.json<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-small-font-size\" id=\"h-set-up-database-connection\"><strong>Set Up Database Connection<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">During the first-time setup of Umbraco, you\u2019ll be prompted for a connection string to the database. Use the following connection string format:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">pgsql<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Server=localhost;Database=UmbracoDB;User Id=SA;Password=YourPassword;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Replace YourPassword with the password you created during SQL Server setup.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"517\" sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/www.skynats.com\/blog\/wp-content\/uploads\/2025\/05\/blog-1024x517.png\" alt=\"Install Umbraco CMS on Ubuntu\u00a0\" class=\"wp-image-14938\" srcset=\"https:\/\/www.skynats.com\/blog\/wp-content\/uploads\/2025\/05\/blog-1024x517.png 1024w, https:\/\/www.skynats.com\/blog\/wp-content\/uploads\/2025\/05\/blog-300x151.png 300w, https:\/\/www.skynats.com\/blog\/wp-content\/uploads\/2025\/05\/blog-768x388.png 768w, https:\/\/www.skynats.com\/blog\/wp-content\/uploads\/2025\/05\/blog-1536x776.png 1536w, https:\/\/www.skynats.com\/blog\/wp-content\/uploads\/2025\/05\/blog-1200x606.png 1200w, https:\/\/www.skynats.com\/blog\/wp-content\/uploads\/2025\/05\/blog.png 1913w\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You\u2019ve successfully installed Umbraco CMS on Ubuntu 22, configured .NET 9, and set up Microsoft SQL Server as the database backend.&nbsp; Your <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-primary-color\">Umbraco<\/mark> CMS is now running, and you can start building and managing content right away.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Need help on How to Install Umbraco CMS on Ubuntu&nbsp;? Contact our team today for reliable support and seamless setup!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Umbraco is a popular, open-source content management system (CMS) built on Microsoft&#8217;s .NET platform. Known for its flexibility and extensibility, Umbraco is a go-to solution for building dynamic websites. In this guide, we&#8217;ll show you how to install Umbraco CMS on Ubuntu 22.04 or 24.04, using .NET 9 SDK and Microsoft SQL Server for the [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[1036],"class_list":["post-14925","post","type-post","status-publish","format-standard","hentry","category-blog","tag-umbraco-cms-on-ubuntu"],"_links":{"self":[{"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/posts\/14925","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/comments?post=14925"}],"version-history":[{"count":3,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/posts\/14925\/revisions"}],"predecessor-version":[{"id":14939,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/posts\/14925\/revisions\/14939"}],"wp:attachment":[{"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/media?parent=14925"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/categories?post=14925"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/tags?post=14925"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}