Milestone #2 (Microsoft IIS)

Now we turn up the heat a little. It’s getting interesting! Don’t get frustrated, but I know it’s easier said than done. Microsoft is frustrating by design. When developing with Microsoft tools it’s as if you get paid for your patience, not for actual development work….:)

In the virtual machine you created in the earlier milestone #1, which was either a Windows 10 Pro Enterprise or Windows Server 2016 operating system, install Microsoft Internet Information Service, see https://www.iis.net/

You install it from the Server Manager or add/remove Windows features in Windows 10 Pro. You may need the CD (ISO) or an internet connection, I’m not sure.

Stage #1: Set up a website in IIS that runs on port 80. Create a file index.html with some basic text in it. Use anonymous login, so you can open the website without a user name and password. Open the inbound firewall port 80 so that the website can be opened by a browser on your ‘real’ computer or from another VM. Hint: always use the advanced firewall screen, it’s the best way to confuse yourself but that way you only need one screen to work with.

Stage #2: Set up the FTP server in IIS. Open ports 21 and a range of PASV ports, for example ports 10000-20000. Use the command “netstat -a -n” to make sure whatever port numbers you choose are not being listened to already.

Once the FTP server is running, make sure it works properly using FileZilla on the same machine. Log on and browse with FTP. Copy some files with FileZilla from and to the FTP server account. Your log in will be the same administrator login you use when logging into your VM.

Hint: due to special Microsoft design reasons, you may have to restart the FTP service in the Windows Service Manager when making drastic changes, example, changing ports.

Stage #3: Connect via FileZilla from your ‘real’ computer (the VM host) and connect to the VM’s FTP server. It should work the same way as before but has to be able to get through the firewalls. You will typically only need to adjust the VM’s firewall inbound rules. Add rules there to allow inbound TCP port 21 and the range you defined, example 10000-20000.

As in the previous exercise, write it all up preferably with a few screenshots.