The text in this chapter, as well as the rest of the book, assumes that you have a PC running Windows Vista or Windows 7 and have user permissions sufficient enough to allow for administrative actions. If this is not the case, or if you are installing to a different environment (such as to a shared-hosting account) skip this section for now and refer to Chapter 14, which has troubleshooting tips. One important item to note is that Umbraco is best installed as a website root rather than as a virtual directory under a web root, so plan on running Umbraco from a web root. All current versions of Internet Information Server (IIS) support multiple web roots so running from a web root is not an issue unless you are using IIS5 on Windows XP. See Chapter 14 if this is the case.
The best way to begin your Umbraco installation is by using the Microsoft Web Platform Installer (a free installation tool developed and supported by Microsoft). Some advantages to using the Microsoft Web Platform Installer (shown in Figure 1-1) are that the tool can:
You can find the Microsoft Web Platform Installer at www.microsoft.com/web/ along with the latest versions of Umbraco and other web applications as well as any required dependencies. In addition, the Microsoft Web Platform Installer is available as an IIS extension at www.iis.net/extensions/WebPI/ and is integrated into web hosting control panels such as cPanel and DotNetPanel. Using a web host's control panel to install Umbraco in a shared hosting environment can greatly simplify the installation process.
Use the following steps to install Umbraco with the Web Platform Installer:
The list of installation files that the Web Platform Installer presents may only include the Umbraco Content Management System (CMS) component if you already have the required dependencies, such as SQL Server and the .NET Framework, installed.
The author recommends leaving the Umbraco CMS Application Name blank, as shown in Figure 1-4.
If this is your first time installing Umbraco, the author recommends selecting the Simple Starter Kit as shown in Figure 1-10. You can find more detailed information about the Starter Kits in the “Utilizing Umbraco Starter Kits” section later in this chapter.
You're all done and Umbraco is ready for use, complete with a fully functional web site and beautiful skin! As you can see, when you compare the process to a manual installation as discussed in the next section, using the Web Platform Installer greatly simplifies the setup and configuration of the website and database requirements for Umbraco.
A limitation of using the Microsoft Web Platform Installer to install Umbraco is that only Microsoft SQL databases are supported. If you want to install Umbraco using a MySQL database, you must configure the database prior to running the installation from the Microsoft Web Platform Installer. You then provide the database connection information during the Umbraco Installation Wizard database configuration step rather than during the Web Platform Installer configuration step.
Although using the Microsoft Web Platform Installer to install Umbraco is strongly advised, cases may exist where a manual installation is desired. In such a case, you must manually complete the steps to create the IIS website, create the database, and set required permissions. The following are the steps to complete a manual installation of Umbraco: If you find yourself stuck on one of these steps, try installing Umbraco using the Quick Start steps first and then return to this section later.
You now have everything you need to successfully run, build, and extend Umbraco. Obviously not all Umbraco installations will fit into the preceding step-by-step instructions. The remainder of this chapter covers additional considerations for other installation scenarios and environments.
A NOTE ON SECURITY
One item that some readers will no doubt notice is that the permissions settings in the preceding manual installation are less than optimal from a security perspective. For a production or public-facing website, you will likely make some additional, more finely grained adjustments to a site's home folder and files. The website http://our.umbraco.org/wiki/ is a good starting point on what settings to adjust.
One of the great strengths of Umbraco is its simple architecture, which enables it to adapt to a variety of installation and usage scenarios. Certainly the earlier quick start is a simple scenario intended for use on a single machine—most likely a web builder's desktop or laptop—but you can use this same procedure to install Umbraco on a netbook running Windows 7 or a web server running Windows 2008. This procedure is also appropriate for installing an evaluation instance, for an install used to “test” a feature or to reproduce a defect, as well as for a fresh start when building websites with Umbraco.
For web developers, especially those working with .NET user controls integrated with Umbraco, the ability to debug code while running Umbraco is important. You can easily do this debugging by installing Umbraco onto the same physical machine that has Visual Studio installed. This can be on a local development laptop, a virtual machine, or a remote development machine accessed via remote desktop. You can also debug .NET code in a running Umbraco instance on domain-joined machines with the appropriate debugging tools installed and configured, but that is beyond the scope of this book. For this scenario, check out the advanced developer sections of the Umbraco wiki (http://our.umbraco.org/wiki).
When installing to a production environment, you must take some additional considerations into account, and not the least of these are the security and access settings for the Umbraco site and related files (see the earlier A Note on Security sidebar in the “Installing Umbraco Manually” section). In addition you will likely create a backup routine for your Umbraco instance. Including both your Umbraco database and your Umbraco files in your backup is important to have a complete snapshot. The author recommends reviewing the current backup documentation on the Umbraco wiki (http://our.umbraco.org/wiki).
Of course, other scenarios exist in which you might install Umbraco, such as load balancing, cloud installation (Amazon EC2 or Microsoft Windows Azure), distributed publishing, and others. These scenarios are supported but are outside the scope of this book. For more information on them refer to the Umbraco wiki, the Umbraco forum, and Umbraco.tv for more information.