How to install and test Windows Server 2019 IIS
With the release of Windows Server 2019, Microsoft added several updates and enhancements to the operating system's various server roles, including Internet Information Services.
Organizations use Internet Information Services (IIS) to host websites and applications on the web. IIS runs on about 12% of the internet's web servers, or about 1.5 million servers. Many Windows shops use IIS for different reasons, from running content management systems to web hosting.
In Windows Server 2019 IIS, Microsoft updated its web server to version 10.0.17763, which the company also calls IIS 10.0 version 1809, to introduce several new features. Microsoft added new binding flags so administrators can control both Online Certificate Status Protocol stapling and HTTP/2 on each binding. The company introduced an API that uses gzip compression for use with streaming data. Lastly, Microsoft added a new user interface in the IIS Manager to control the HTTPS Strict Transport Security feature that the company had released in IIS 10.0, version 1709.
The following transcript for the video tutorial by contributor Brien Posey explains how to install Windows Server 2019 IIS and configure the bindings for a website.
In this video, I want to show you how to install Internet Information Services, or IIS, and prepare it for use.
I'm logged into a domain-joined Windows Server 2019 machine and I've got the Server Manager open. To install IIS, click on Manage and choose the Add Roles and Features option. This launches the Add Roles and Features wizard. Click Next on the welcome screen and choose role-based or feature-based installation for the installation type and click Next.
Make sure that My Server is selected and click Next. I'm prompted to choose the roles that I want to deploy. We have an option for web server IIS. That's the option I'm going to select. When I do that, I'm prompted to install some dependency features, so I'm going to click on Add Features and I'll click Next.
I'm taken to the features screen. All the dependency features that I need are already being installed, so I don't need to select anything else. I'll click Next, Next again, Next again on the Role Services -- although if you do need to install any additional role services to service the IIS role, this is where you would do it. You can always enable these features later on, so I'll go ahead and click Next.
I'm taken to the Confirmation screen and I can review my configuration selections. Everything looks good here, so I'll click install and IIS is being installed.
Testing Windows Server 2019 IIS
The next thing that I want to do is test IIS to make sure that it's functional. I'm going to go ahead and close this out and then go to local server. I'm going to go to IE Enhanced Security Configuration. I'm temporarily going to turn this off just so that I can test IIS. I'll click OK and I'll close Server Manager.
The next thing that I want to do is find this machine's IP address, so I'm going to right-click on the Start button and go to Run and type CMD to open a command prompt window, and then from there, I'm going to type ipconfig.
Here I have the server's IP address, so now I can open up an Internet Explorer window and enter this IP address and Internet Information Services should respond. I've entered the IP address, then I press enter and I'm taken to the Internet Information Services screen. IIS is working at this point.
I'll go ahead and close this out. If this were a real-world deployment, one of the next things that you would probably want to do is begin uploading some of the content that you're going to use on your website so that you can begin testing it on this server.
I'll go ahead and open up file explorer and I'll go to this PC, driver and inetpub folder and the wwwroot subfolder. This is where you would copy all of your files for your website. You can configure IIS to use a different folder, but this is the one used by default for IIS content. You can see the files right here that make up the page that you saw a moment ago.
How to work with the Windows Server 2019 IIS bindings
Let's take a look at a couple of the configuration options for IIS. I'm going to go ahead and open up Server Manager and what I'm going to do now is click on Tools, and then I'm going to choose the Internet Information Services (IIS) Manager. The main thing that I wanted to show you within the IIS Manager is the bindings section. The bindings allow traffic to be directed to a specific website, so you can see that, right now, we're looking at the start page and, right here, is a listing for my IIS server.
I'm going to go ahead and expand this out and I'm going to expand the site's container and, here, you can see the default website. This is the site that I've shown you just a moment ago, and then if we look over here on the Actions menu, you can see that we have a link for Bindings. When I open up the Bindings option, you can see by default we're binding all HTTP traffic to port 80 on all IP addresses for the server.
We can edit [the site bindings] if I select [the site] and click on it. You can see that we can select a specific IP address. If the server had multiple IP addresses associated with it, we could link a different IP address to each site. We could also change the port that's associated with a particular website. For example, if I wanted to bind this particular website to port 8080, I could do that by changing the port number. Generally, you want HTTP traffic to flow on port 80. The other thing that you can do here is to assign a hostname to the site, for example www.contoso.com or something to that effect.
The other thing that I want to show you in here is how to associate HTTPS traffic with a site. Typically, you're going to have to have a certificate to make that happen, but assuming that that's already in place, you click on Add and then you would change the type to HTTPS and then you can choose an IP address; you can enter a hostname; and then you would select your SSL certificate for the site.
You'll notice that the port number is set to 443, which is the default port that's normally used for HTTPS traffic. So, that's how you install IIS and how you configure the bindings for a website.