I know many people have been in trouble trying to do what it looks a simple exercise, expose a web application to the outside world.
I have to admit we will need few requirements to do this, and they are not easy to get:
- A DNS address: A URL will be pointing your server, in this case we are going to use a random one: http://svm15031.vps.tagadab.com
- An Installation of Sharepoint 2010 Enterprise or Foundation.
- II7
- Windows Server 2008
- a web application already created.
Let’s go to follow a simple step by step scenario so we know what we are doing.
Step 1
Go to Start->Microsoft SharePoint 2010 Products->SharePoint 2010 Central Administration
Step 2
Go to Central Administration->Application Management->Manage Web applications.
Step 3
Click on web applications and select your “80” website, and on the top left click extend. In this way we are going to extend our site to port 81, so the users are comming from the outside world will use this port. Click on “Extend” and fill the following fields:
- Port: 81
- Host Header: svm15031.vps.tagadab.com
- Zone: Select Internet
Step 4
To check the bindings go to Server Manager->Roles->Web Server (IIS)->Internet Information Server.
Click on the site we are dealing, in this case will be called . On the right side click on bindings and be sure you receive something similar.
Step 5
We are going to change the authentication of the extended site now. Go to Central Administration->Application Management->Manage Web applications select the “80” Web application and click on Authentication Providers. You will receive this dialog, click on Internet.
Step 6
On IIS Authentication Settings un tick Integrated Windows authentication and tick Basic authentication (password is sent in clear text).
Step 7
Everything is done now…but we have to be sure that our application can be seen in port 81 from the outside world, so let’s go to create a rule in the firewall to do that. Go to Server Manager->Configuration->Windows Firewall with…->Inbound Rules-> Right click –> New Rule. Select Port and click Next. On specific local ports type 81 and click on Next –>Allow connection –> Next –> Domain, Public and private tick it! –>Next –>Type teh name of the rule and finish. Do the same with Outbound Rules.
Step 8
In my web application I created a site collection with a site called “hello”, this is how I will call it from Internet:
http://svm15031.vps.tagadab.com:81/sites/hello/SitePages/Home.aspx . It will prompt for user and password!
Enjoy!