ArcGIS for Server (hereafter known as Server) installation is a challenging task; use a parameter that does not fit your requirements, hardware, or operating system, and you will end up with a buggy launch, unexpected errors, and an unstable setup. This will eventually force you to waste precious time and resources reinstalling and reconfiguring the product. If you are an ArcGIS user, you will know the pain of having that one small problem which can only be fixed by completely reinstalling the product. Therefore, having the right configuration will help you save a lot of time later and result in a much healthier setup.
In this chapter, we will define the Server site, which holds all configurations, including web servers, GIS servers, logfiles, and data stores. Then, we will thoroughly explain the different installation tracks that you can select for ArcGIS for Server.
There are three different installation tracks that we will offer in this book. The Testing Installation Track offers the typical installation with minimum configuration for those of you who wanted to test the technology. The Production Installation Track has the comprehensive and best practices configurations. And finally, the Virtualized Environment Installation Track shows how to configure Server specifically as a virtualized environment.
If you are a student who wants to explore the ArcGIS technology or an employee who wants to introduce this product to his/her firm, or just have an older version of Server that you wish to upgrade, this is a good starting track for you. You can also select this track if any of the following criteria holds true for you:
You have a workstation running Windows 8 or 7 and you want to test this product
Performance doesn't matter for you at this stage
You are not behind a proxy server
You do not want to add multiple servers to your Server site
You are not concerned about load balancing, a process of balancing the incoming requests across a spectrum of machines to ensure fair load distribution on each one of them
You do not want to publish your services publicly online; rather, you want to use it on your local area network
You have a very small user base, for whom you will probably write an HTML5 site to consume the services from your tablet or phone over Wi-Fi
If you already know the product capabilities or have performed a Testing Installation Track and you are ready to take your Server installation to the next level, go for Production Installation Track. If you have a powerful server linked to an Active Directory Domain Controller, which contains the users and roles for Windows, performance is a key element. You might add other GIS servers to your Server site later as your user base increases. This track will then help you harness the full power of Server.
For those who have never worked with virtualization before, virtualization is the process of breaking down a physical machine into multiple virtual machines that share the host's resources. You can choose to work with Virtualization Track if one of the following statements holds true for you:
You do not have access to powerful physical machines, but your company provides you with powerful blade servers with a virtualization setup
You are planning to add a couple or more virtual machines to your Server site along with some physical ones to boost your site
You want to create multiple Server sites for testing purposes
You want to install different versions of Server to check the compatibility with your database and ultimately select the correct version to install on your production environment
You want to set up a preproduction environment where you want to simulate the production environment on virtual machines using the Production Installation Track
Although this option is good for testing, it is not recommended for a production environment. This chapter will discuss these three installation tracks in detail and will help you select the track that fits your needs for a successful installation of ArcGIS for Server.
When you finish installing Server, which you will be doing in the coming pages, you will have a placeholder for your services; this placeholder is called the site (hereafter known as Server site). It is where all the configurations are saved. A Server site has its own configurations, services, GIS servers, web servers, and even security parameters that can be managed independently. It is where services will be published and where applications will connect to consume those services.
A Server site consists of two main components: the Web server, which accepts the requests, and the GIS server, which processes them.
A Web server hosts many websites. Each website listens on a unique port on the Web server address using the HTTP protocol. For instance, if your Web server IP address is 10.0.0.6, the default website will initially listen on port 80
, which is the default HTTP port. Consequently, you can access the website from a browser address bar by typing http://10.0.0.6:80
, and since 80 is the default port for HTTP, you can safely remove it from the URL and it will appear as http://10.0.0.6
.
Note
HTTP
The Hypertext Transfer Protocol is a web protocol that deals with standards for rendering web pages on a web browser.
Port
A port is a virtual access entrance on a networked host machine that has a unique number on which connections can be established in order to exchange information between the host and remote machine.
Therefore, as long as the Web server 10.0.0.6 is accessible from a given network, you can access the website with any browser from any machine on that network. This is the main power of the Web server: install it in one place and access it from multiple locations using one address. We will explain how to set up a Web server in the Production Track.
A Web server is an essential part of an ArcGIS for Server installation. It receives client requests, translates them, forwards them to the GIS servers for processing, and then returns the results to the client. In a Web server, you can manage what clients should and should not access using customized security parameters, thus having more control over your content. In this book, we will be working with the Windows Web server Internet Information Services (IIS).
Note
IIS
Internet Information Services is a software that, when installed, turns the machine into a Web server that can listen to requests on ports and return appropriate responses, usually on port 80
.
Starting with ArcGIS 10.1, Esri installs a hidden Web server along with each GIS server and creates a website listening on port 6080
. We will discuss how to link this hidden Web server to a dedicated Web server on a different port in the Production Track.
The GIS server does all the background work to serve a request. It handles tasks such as spatial operations, querying data, analysis, calculating results, and executing geoprocessing tasks such as buffering geometries. The GIS server then returns the processed result to the Web server, which feeds the information to the client who requested it. The GIS server will connect to the Geodatabase. If you are using an Enterprise geodatabase, you have to make sure you have the client Database Management System (DBMS) installed and configured correctly in each GIS server.
The GIS server is also where all the services are running; thus, it will be the one which requires the most resources.
A Server site can be managed by the primary administration account, which you will specify in the installation stage. Using the ArcGIS for Server Manager, which is a website that is installed with the Server and allows you to configure the Server site, you will be able to manage the following items in the Server site:
Services
Machines
Output directories
Configuration stores
Clusters
Data stores
Extensions
Logfiles
The preceding components are covered in the following sections.
A service is a functionality that exposes certain data to be consumed by remote connections by a request. The Services tab in ArcGIS for Server Manager allows you to manage existing services and add new ones, control what resources should be allocated to what services, monitor service affinity, and recycle those services which drain your resources. We have a dedicated chapter on how to author and publish map services.
The Machines option will allow you to manage GIS servers, add more GIS servers to a Server site, take down some servers for maintenance, and take the load off servers with low resources. The GIS servers are the backbone of your Server site; you need to monitor them regularly.
The output of your GIS server operations goes to output directories. It is important to make sure all your GIS servers have read/write access to these directories. You will learn how to do this later in the Master GIS server installation section under the Software installation section.
Your GIS servers work according to a blueprint that you have provided them with. Similar to the output directories, this set of instructions should be accessible at all times by your GIS servers.
Clustering in ArcGIS for Server is the process of grouping different machines together so that they can be treated as one unit. You can group your GIS servers into clusters to better manage your services. For instance, you may create a cluster and add your GIS servers with high resources (processor and memory) and name it Power cluster. Then create another cluster and add machines with lower specs and resources to it. You can then assign a high-affinity geoprocessing service to this Power cluster and your resourceful GIS servers will execute requests made to that service. This way, the other services can work comfortably on the default cluster. We will discuss more about clusters in Chapter 6, Clustering and Load Balancing.
GIS servers will occasionally require establishing connections to geodatabases. It is recommended that you register these databases in the data store, which we will be doing in Chapter 2, Authoring Web Services, so that your servers can connect to it. Otherwise, the data will have to be copied locally on each GIS server, which might introduce inconsistencies and performance penalties.
Just like ArcGIS for Desktop, ArcGIS for Server allows developers to customize server functionality and extend its capabilities. This option will allow you to register an extension to Server.
The Logfiles tab allows you to see how your GIS servers are doing, analyze the output logfiles on each server, and see what errors emerge so that you can fix them. You may measure the performance of a server by checking the response time between a request and the result. Chapter 8, Server Logs, is a dedicated chapter to learn all there is to know about logfiles.
The advantage of Testing Installation Track is that it is compact and efficient. If you don't know where to start, this is probably a good starting point. ArcGIS for Server can run on any machine as long as the hardware and operating system are supported. That is why this track does not necessarily require a powerful machine; your Windows workstation or laptop will suffice. We will discuss the minimum ArcGIS for Server requirements in the next topic.
This section will guide you through the installation of Server on your PC or laptop with minimum configuration. Your machine will play two roles—the Web server and the GIS server—so it will receive client requests, process them, and return the result. If you are looking to break down the two roles across multiple servers, you should look at the Production Installation Track section, where you will be introduced to advanced installation configurations.
This track will get you up and running to test the product, publish services, and develop applications. The Testing Installation Track is sufficient to complete almost all the exercises in this book.
Any software tends to have certain minimum system requirements to function properly. This is due to Moor's law, which states that computing power doubles every 18 months, and as this power increases, software demands more system resources.
ArcGIS for Server supports various operating systems; some are recommended for production environments, while others can be used for testing and are classified as follows.
Windows Server 2008 R2 Standard, Enterprise, and Datacenter (64-bit EM64T) SP1
Windows Server 2008 Standard, Enterprise, and Datacenter (64-bit EM64T) SP2
Windows Server 2003 Standard, Enterprise, and Datacenter (64-bit EM64T) SP2
Red Hat Enterprise Linux Server 5, update 7 + libX11 patch
SUSE Linux Enterprise Server 11 SP1
Tip
Best practice
Using Windows 7 or 8 to run Server in your production environment is not recommended because they are not designed to support high network access as Windows Server.
Although ArcGIS for Desktop is not mandatory for the installation of Server, you will need it when authoring and publishing services.
For this installation, I used an Intel Core i7-2600 CPU Quad Core processor at 3.40 GHz and a 6 GB RAM PC running Windows 7 Professional 64-bit Service Pack 1. Make sure you have your ArcGIS for Server media disc ready and your license file in place. You can request a trial media disc from your local Esri distributer or download a trial from this link: http://www.esri.com/software/arcgis/trial. In this book, we will be installing ArcGIS for Server Version 10.2. Uninstall any ArcGIS products prior to 10.2; otherwise, you will run into complications.
Note
Some components in ArcGIS for Server require Microsoft .NET framework. It is recommended that you install Version 3.5 or higher before you start.
First, log in to your machine using a Windows account with administrative privileges. Run the ESRI.exe
file in your media installation disc and select the ArcGIS for Server option. If this is a fresh installation, you will be prompted to install one component (GIS Server). As explained earlier, installing this will turn your machine into a GIS server, and this GIS server will be bundled with a built-in Web server. We will discuss how to install a Web server on a dedicated machine in the Production Installation Track section.
Also make sure that the subfeature .NET Extension Support is selected for installation, and then click on Next as shown in the following screenshot.
Note
If you do not have .NET framework installed, you will not see the .NET Extension Support subfeature.
.NET Extension Support is necessary if you are planning to develop .NET applications on top of ArcGIS for Server.

The hosted services on your server require a Windows account to run. This account doesn't have to be an administrator on the local machine; any account that is a member of user's group will suffice. We will later assign the proper privileges to this account in order to access the resources on the GIS server. You may use an existing local user on your machine or create a new one. To make things simple, you can let the installation create a new user.
In the ArcGIS Server Account field, type gisServer
. In the Password and Confirm Password fields, enter a new password for a new account, and then click on Next as shown in the following screenshot:

You can optionally export this configuration, which includes the ArcGIS for Server Windows account information in case you will be installing multiple GIS servers or planning to reinstall your product in the future. Select Export configuration file and select where you want to save it. Name it local.gisServer.xml
so that you know that the account name is gisServer
and it is on your local machine rather than a Windows domain.

Now that all files are copied, authorization is required to fully complete your GIS server setup. Follow the steps to authorize the product if you have the license file (it is usually a copy protection file with the extension .ecp
).
Note
You can access the authorization wizard from the Start menu if you choose to cancel it in during the installation.
You are now ready to start configuring ArcGIS for Server. The installation has created a new Windows account named gisServer
on the machine as shown in the following screenshot:

If you take a look at Task Manager, a Windows tool that allows you to monitor the performance of your machine, you will see that this account is running five processes. These processes will increase as you start publishing services. You can access Task Manager by pressing the Ctrl + Alt + Del keys.

Now that the software is up and running, we will create our Server site to hold the configurations. Remember when we said that there is a built-in Web server with this installation? You are about to connect to it.
Note
Working with ArcGIS for Server is more convenient using the Google Chrome browser. Chrome loads the sites on the local area network much faster and uses less memory. You can download Google Chrome at http://www.google.com/chrome.
Start Chrome, type http://localhost:6080/arcgis/manager
in the address bar, and press Enter.
Note
You may use your machine IP instead of localhost
as follows:
http://192.168.1.6:6080/arcgis/manager
You can find out your IP by running IPConfig
in the command prompt.
This is your Server site Manager; it is a website installed by the software and hosted on the built-in Web server running on port 6080
. It is recommended that you bookmark this page because you will be visiting it frequently. If this is the first time you visit this page after a fresh installation, you will be prompted with the following message:
This machine does not currently participate in an ArcGIS Server site. You can either create a new site or join an existing site.

Since we do not have an existing Server site, we will go ahead and create a new one. Click on Create New Site.
Note
This is an option that you can't undo. If you created a new site and you want to delete or change it to point to an existing one, you have to completely uninstall the software or use the admin API, which will be introduced in Chapter 7, Securing ArcGIS for Server.
A Server site requires an administrator to manage the site configuration. The Primary Site Administrator is created by the Server site configuration for you to use. Whenever you open ArcGIS for Server Manager, you have to enter these credentials to log in. This is not a Windows account like the one we configured before.
Note
The Primary Site Administrator is an account managed internally by the Server site; it is not related to the operating system.
Type the name of the administrator account in the Username field; you may use any name, but I recommend using siteadmin
. Then type in a new password in the Password and the Confirm Password fields, and then click on Next as shown in the following screenshot:

Next, we will set up the directories of the site that the GIS server will be using. We will use the default settings here since we are using Testing Installation Track. In the Root Server Directory field, make sure the path is C:\arcgisserver\directories
, and in the Configuration Store field, that the path is C:\arcgisserver\config-store
. Click on Next as shown in the following screenshot:

These directories will constantly be accessed by the GIS server Windows account, in our case, gisServer. That is why this user should have read/write access to the folder C:\arcgisserver\
and all its subfolders.
You are ready to create the Server site. A summary of your configuration will be displayed; click on Finish. When this is complete, you have successfully installed ArcGIS for Server.
Your organization might want a high availability robust setup that can serve many users. This means you might need more than one GIS server on your Server site. You may want a dedicated Web server that you can configure so that you can publish your services on the public World Wide Web more securely. This requires applying security measures, network load balancing (NLB), or failover clusters. The Production Installation Track equips you with necessary knowledge, tools, and best practices to ensure a stable production setup. You can also use this track for your preproduction testing environment, where you can simulate your setup in a virtualized environment and then replicate the installation on the actual production environment. If you are planning to use virtual machines, you can read through the Virtualized Environment Installation Track section to learn how to set up a virtual machine for Server.
Note
Active Directory Domain Controller (ADDC)
ADDC is required to perform this installation.
NLB
NLB is the ability to balance network traffic between two or more nodes by using a virtual address.
Failover cluster
Also known as a high available cluster, a failover cluster is a group of servers arranged together to provide minimum downtime. If a server is down, another server from the cluster takes over.
Unlike Testing Installation Track, you need at least three servers for the Production Installation Track. The following is the configuration I will be using in this track:
Machine Name |
Operating System |
Description |
---|---|---|
|
Windows Server 2008 R2 SP1 x64 |
Web Server and Configuration Store |
|
Windows Server 2008 R2 SP1 x64 |
First GIS server |
|
Windows Server 2008 R2 SP1 x64 |
Second GIS server |
You may create virtual machines to mimic the three servers; refer to the Virtualized Environment Installation Track section to learn how to create the virtual machines.
We will require one Web server and two GIS servers running any of the following operating systems:
Windows Server 2012 Standard and Datacenter (64-bit EM64T)
Windows Server 2008 R2 Standard, Enterprise, and Datacenter (64-bit EM64T) SP1
Windows Server 2008 Standard, Enterprise, and Datacenter (64-bit EM64T) SP2
Windows Server 2003 Standard, Enterprise, and Datacenter (64-bit EM64T) SP2
Esri no longer supports Windows Server 2003. Even if you manage to get it to work, I strongly recommend upgrading to Windows 2008 or later.
ArcGIS for Server requires a 64-bit instruction-set CPU in order to run. Your Server can run effectively on a quad-core 64-bit processor with minimum 8 GB of RAM. Although, as services and users increase, the 8 GB will be drained quickly. A 16 GB RAM GIS server can serve up to 100 users if you were planning to have five services on one GIS server. You can replace that GIS server with two 8 GB RAM as well. I have developed a rule of thumb to determine how much memory you require for each GIS server.

Here, the variables represent the following values:
Variable |
Description |
---|---|
R |
RAM in Gigabytes |
S |
Maximum number of services anticipated |
U |
Maximum number of users expected (non-concurrent) |
G |
Number of GIS servers on the site |
As we can see from the previous table, R is the minimum amount of memory in a single GIS server to make an optimal setup, S is the number of web services you are planning to have, U is the maximum number of users you expect, and G is the number of GIS servers that will split the load. If you would like to learn more, you can read through Appendix A, Selecting the Right Hardware, where I explain this formula thoroughly; there are also some tips on which hardware is best for your production environment.
To install Server, we will first start with configuring Active Directory. Then we will install the first GIS server and then configure the Server site. After that, we will install the second GIS server and join the existing Server site, and we will finish by installing and configuring the dedicated web-server using the Web Adaptor.
Note
Web Adaptor
A Web Adaptor is a bridge that integrates your dedicated Web server with the built-in Web server of ArcGIS for Server. It allows packets to be forwarded between the two web servers.
Active Directory controls the security and policies of all Windows users, and it is very effective for ArcGIS for Server. Using Active Directory, create YOURDOMAIN\arcgis.server
on your domain—I will be using the GIS
domain. To add the user to active directory, open Active Directory Users and Computers by navigating to Start | Control Panel | Administrative Tools | Active Directory Users and Computers. After that, perform the following steps:
In the console tree, right-click on the folder to which you want to add a user account.
Navigate to Active Directory Users and Computers | domain node | folder.
Click on New, and then click on User.
In the First name field, type the user's first name.
In the Initials field, type the user's initials.
In the Last name field, type the user's last name.
Modify the Full name field to add initials or reverse order of first and last names.
In User logon name, type the user's logon name, click on the UPN suffix in the drop-down list, and then click on Next.
In the Password and Confirm password fields, type the user's password. You will use this password for GIS server installation later.
Now, we need to add GIS\arcgis.server
to the administrators group on the three servers WEB SERVER01
, GIS-SERVER01
, and GIS-SERVER02
.
Log in to the server with an administrator user.
From the Start menu, click on Run and type
compmgmt.msc
to run Computer Management.Go to Local Users and Groups.
Click on Groups.
Double-click on Administrators.
Click on Add and then type in your domain user
GIS\arcgis.server
.
Perform these steps on all three of your servers.
There are two installation steps. Master server installation is where we will create our Server site. The secondary installation is to join the rest of the servers to this master installation site.
Log in to the master GIS server GIS-SERVER01
with the user ID GIS\arcgis.server
; this is a very important step for your site to be added to Active Directory.
Note
If you used another local user profile to perform the installation, you will end up with an inconsistent setup.
Run the ESRI.exe
file and select the ArcGIS for Server setup. If this is a new installation, you will be prompted to install one component (GIS Server) as explained in the Testing Installation Track section. Installing this component will turn your server into a GIS server. This server is bundled with a built-in Web server running on port 6080
; make sure that the subfeature .NET Extension Support is selected for installation and then click on Next.
The hosted services on your server require a Windows account so that they can run silently on your GIS server. We will use our domain user GIS\arcgis.server
. In the ArcGIS Server Account field, type GIS\arcgis.server
, and in the Password and Confirm Password fields, enter the user's password, then click on Next.
Note
You have already created the user GIS\arcgis.server
in Active Directory. Therefore, you should specify the password you used while creating the user.
Since we are going to set up another GIS server in exactly the same way, we will export this configuration, which includes the ArcGIS for Server Windows account information. Select Export configuration file and choose where you want to save it. Give it a name that corresponds with YOURDOMAIN.arcgis.server.xml
, just so you know that this configuration file is associated with the Windows domain user arcgis.server
. I named mine GIS.arcgis.server.xml
.
Now that all files are copied, authorization is required to fully complete your GIS server setup. Follow the steps to authorize the product if you have the license file. You are now ready to start configuring ArcGIS for Server.
This account is running five processes. These processes will increase as you start authoring services.
Now that the software is up and running, we will create our Server site to hold the configurations. Since we still haven't installed our Web server, we will temporarily connect to the built-in Web server to set up our Server site. Open Chrome and type this in this address: http://GIS-SERVER01:6080/arcgis/manager
.
Tip
Best practice
Using the IP address increases network performance by slightly more than 10 percent because it saves your network the trouble of resolving the machine name to the IP address. However, for demonstration purposes in this book, I will be using the machine name instead.
This is ArcGIS for Server Manager, a website hosted on the built-in Web server running on port 6080
used to manage the Server site. It is recommended that you bookmark this page because you will be visiting it frequently. If this is the first time you visit this page after a fresh installation, you will be prompted with a message:
This machine does not currently participate in an ArcGIS Server site. You can either create a new site or join an existing site.
Since we do not have an existing Server site anywhere in our network, we will create a new one. Click on Create New Site.
Any Server site needs to have an administrator, the Primary Site Administrator, who has the privileges to manage the site configuration, and whose credentials must be entered to log in to the site. This is not a Windows account like the one we configured earlier. Type siteadmin
as the name of the administrator account in the Username field. Then type a new password in the Password and the Confirm password fields, and then click on Next. This will create the Primary Site Administrator with the specified credentials.
The directories and the configuration store of the site are a crucial part in the ArcGIS for Server setup. As explained earlier, those directories are accessed by the GIS servers, so they have to be available at all times. The best way to ensure that is to have Network Attached Storage (NAS) set up on your network and create all your directories on. If you don't have a NAS server, you can use any other server for storage. In this case, we will use the Web server as it is a highly available server and it is less likely to go down, unlike the GIS servers.
Note
NAS
NAS is a data storage computer that provides file-level access to a network by a group of nodes.
One of the problems I faced with a client was that the load balancing between GIS servers was not working. The reason was that they were using one of the GIS servers as the configuration store. When they took that particular server out of the network for maintenance, the other GIS servers didn't take over because the configuration store and all the directories are no longer accessible by the other GIS servers.
Tip
Best practice
Do not use any of your GIS servers as a configuration store since they are highly likely to go down, thus bringing all of your architecture down as well. You will also not be able to take down that server from your site for maintenance.
In this exercise, we will use the Web server as our configuration store. Log in to your Web server WEB SERVER01
using the GIS\arcgis.server
Windows account. Go to the C drive and create a folder named arcgisserver
. Share this folder and give it read/write to the GIS\arcgis.server
domain user.
Go back to the installation, In the Root Server Directory field, type the path \\WEB SERVER01\arcgisserver\directories
, and in the Configuration Store field, type \\WEB SERVER01\arcgisserver\config-store
. Click on Next.
Note
Since the user GIS\arcgis.server
has read/write access to the folder \\WEB SERVER01\arcgisserver\directories
, the GIS server will be able to access it as well.
Now, you are ready to create the master Server site. A summary of your configuration will be displayed; click on Finish. This takes a few minutes to get done.
Now that the master Server site is created, it is ready to be joined by other GIS servers. It is important to understand that the master site is not located on GIS-SERVER01
; rather, it is located in the configuration store which in turn is located in the arcgiserver
directory on the WEB SERVER01
machine.
Note
The Server site is mistaken to be located on the master GIS server; in fact, it is saved in the configuration store.
Log in to the secondary GIS-SERVER02
machine using the GIS\arcgis.server
Windows account and follow the same steps you performed in the master installation. Install GIS server and make sure .NET Extension is selected. This will install the GIS server component along with the Web server running on port 6080
.
When you reach the Specify ArcGIS for Server Account form, copy the configuration file GIS.arcgis.server.xml
we created previously into this machine, and select it so you don't need to re-enter the GIS\arcgis.server
account. Continue the installation and authorize your server; click on Next to start configuring the site.
Remember, we do not need to create another Server site since we have an existing one. All we need to do is to configure the built-in Web server of GIS-SERVER02
to point to our existing master site. Open Chrome, type http://GIS-SERVER02:6080/arcgis/manager
in the address bar and press Enter.
This is your Server site Manager; you will be prompted with this message: This machine does not currently participate in an ArcGIS Server site. You can either create a new site or join an existing site. We do have an existing site, so click on Join an Existing Site.
In the Specify Site URL form, enter the master site address http://GIS-SERVER01:6080
in the ArcGIS Server Site URL field; in the Username field, enter siteadmin
, the primary administrator name, and in the Password field, enter the password for siteadmin; then click on Next.

After you complete this successfully, you will have one site with two GIS servers ready to crunch services. You can manage this site by accessing any of the GIS server built-in web servers using any one of the following URLs:
http://GIS-SERVER01:6080/arcgis/manager
http://GIS-SERVER02:6080/arcgis/manager
What if you want to join a third machine? Which URL should you use, GIS-SERVER01 or GIS-SERVER02? The answer is that any will work, because both are joined to the same site.
Now that you have finished your GIS server installation, you need to reinforce some access-management policies and control who can access what. To do that, the built-in web servers on your GIS servers are not enough; you need a dedicated Web server. It is not recommended that you install the Web server on the same machine as the GIS servers. GIS servers have high affinity, they consume a large portion of memory and CPU, and they are highly likely to go down. GIS servers are subject to regular maintenance, which means they have to be restarted from time to time, especially to install software updates or patches. If the machine hosting both the GIS server and Web server goes down for any of those reasons, your entire architecture will collapse. The rest of the GIS servers will be rendered useless since your users can no longer access the Web server that directs the traffic. While it is on a dedicated server, in-case one GIS server fails, it will re-route user traffic to the next available GIS server.
Tip
Best practice
Never install your Web server on a machine running as a GIS server, always use a dedicated machine as your Web server.
Even on a dedicated machine, a Web server might still go down. To prevent this, you may install an NLB node with two web servers instead of one.
You have your own Web server software (IIS), and ArcGIS for Server has its own 6080 Web server; we need a way to make these two understand and forward information to each other. For that, we will install a Web Adaptor. You can install as many Web Adaptors as you want, thus creating different websites to be managed independently.
You can now log in to WEB SERVER01
using the GIS\arcgis.server
Windows account. From your ArcGIS for Server media disk, run ESRI.EXE
and select ArcGIS Web Adaptor (IIS). If you do not have IIS installed on your machine, the software will do it for you. This is valid when you have ArcGIS for Server 10.1 SP1 or higher; otherwise, you have to install IIS manually. In the Select Features options, make sure Cross-Domain Policy Files is unchecked.
Note
Cross domain
Cross-domain policy is the behavior by which a web application running on machine "A" requests information from another machine "B". This can introduce various security vulnerabilities. Esri doesn't mention this, but enabling cross-domain policy files opens a security flaw on your server; if you do not have a good reason to enable it, keep it disabled.
Esri recommends enabling cross-domain policy because Silverlight and Flex viewers need it in order to function. Since we will use neither in our exercises, you will not need this option as shown in the following screenshot:

Click on Next to view the next form, where you will configure the virtual directory for your Web Adaptor.
Tip
Best practice
Enabling Cross Domain Policy Files on the Web server allows attackers to inject harmful code using Cross Side Scripting (XSS) on websites hosted on the Web server, which might allow them to send and receive sensitive information from a remote server.
The Web Adapter will create a new virtual directory on your Web server, and all your services will go under this directory. In the New Virtual Directory form, type wa
—short for Web Adaptor—in the Name of the ArcGIS Web Adaptor field, and then click on Next.

Now that the Web Adaptor is installed, we need to join it to the Server site. Launch Chrome and type this address in the address bar: http://WEB SERVER01:6080/wa/webadaptor
.
Starting with 10.2, the Web Adaptor is used to configure
Portal for ArcGIS, another product Esri is currently focusing on along with ArcGIS for Server. This is why you will be prompted to select which product you want to configure; select ArcGIS for Server and click on Next. You will be prompted to join the web adaptor to the Server site. Here, we need to specify a URL that will point to our master Server site. In our case, both http://GIS-SERVER01:6080
and http://GIS-SERVER02:6080
point to the same site; therefore, using any of them will work. In the GIS Server URL field, type http://GIS-SERVER01:6080
; in the Administrator Username field, type siteadmin
, which is the site primary administrator; and in the Administrator Password field, type the password. Click on Configure.
Make sure the Enable administrative access to your site through the Web Adaptor checkbox is unchecked. It is recommended that you disable end users to have access to the site manager and change site configurations. We will separately create another adaptor especially for administrators.

Once you click on Configure, and you will get the following message:
The following GIS Servers are registered to your Web Adaptor
GIS-SERVER01
GIS-SERVER02
Your end users can now access the GIS servers through the Web server with the URL http://WEB SERVER01/wa/rest/services
. They do not need to worry about port 6080
, and they need not know your GIS servers. Note that when you try to access the manager with the URL http://WEB SERVER01/wa/manager
, you will get this error message:
Administrator access is disabled.
Please contact your system administrator to enable it.
You can optionally configure a dedicated web adaptor with administrative access.
Follow the same steps as in the Configuring the end user Web Adaptor section and give the adaptor the name waadmin
. In the last step, just enable the administrator for this site. Try to access the manager via http://WEB SERVER01/waadmin/manager
.
You just completed a full-fledged robust installation of ArcGIS for Server.
You may want to try ArcGIS for Server but may not have a free machine or may have a Mac OS X machine, which the product does not support yet. Perhaps you do not want to install Server on a production environment until you simulate the entire setup. If either of this is the case, you can use the virtualization track installation. This track will walk you through setting up and cloning virtual machines. We will be using the open source Oracle Virtual Box to set up three Windows Server 2008 R2 virtual machines. Then, you can follow the same installation tips we discussed in the Production Installation Track section.
Go to http://www.virtualbox.org and download the version that matches your operating system. Since I'm using Mac OS, I downloaded Virtual Box for Mac. After the download, install the software using the typical settings.
To add a new virtual machine, you need to specify certain configurations, such as the memory and hard drive size. Open Oracle Virtual Box and click on the New button. Click on the Hide Description button. In the Name field, type GIS-SERVER01
; this is the virtual machine name and not the computer name, so you have to go later and change the computer name as well. In the Type drop-down list, select Microsoft Windows, and in the Version drop-down list, select Windows 2008 (64 bit). In the Memory size box, select the size of the virtual machine RAM. I will go with the default 512 MB: that will be enough for a virtual machine, but you may increase it if you have enough memory. In the Hard drive box select Create a virtual hard drive now and then click on Create.

The Create a virtual hard drive now option is where you specify the hard drive information. In the file location box leave it to GIS-SERVER01. Type 80 GB
in the File size box, which should be enough for a typical GIS server; select the VDI (Virtual Box Disk Image) type and set the storage to Dynamically allocated, which will allocate the physical hard drive size. Click on Create to create the drive.

Now, we have an empty virtual machine with no operating system. What is left to install is the operating system. If you have a Windows 2008 R2 media disk you can insert it in the DVD drive and run the virtual machine installation normally. If you do not have a media disc and you have an ISO image instead, you can create a virtual CD on your virtual machine. From the Oracle Virtual Box settings, click on Storage, and then right-click on the Controller IDE option and select Add CD/DVD Device. Select Choose from file and select your ISO image. You can now continue installing Windows normally.
After the Windows installation is completed, make sure to change the computer name to GIS-SERVER01
.
Now that you have configured your virtual machine successfully, do not install any ArcGIS products yet; keep it as a raw Windows installation so that we can clone it into two machines. Now we will clone GIS-SERVER01
into two other machines (GIS-SERVER02
and WEB SERVER01
).
We did most of the work on one machine, where we configured the memory and hard disc size and Windows installation. Instead of repeating these steps, we can simply clone our existing machine into multiple identical machines.
To clone a virtual machine, it should be turned off. Shut down your virtual machine if it is running, and then right-click on the virtual machine icon and select Clone. In the Clone Virtual Machine window, perform the following steps:
Click on the Hide Description button.
Type the name of the new machine—
GIS-SERVER02
.Check the Reinitialize the MAC addresses of all network cards checkbox.
Select Full Clone so that we can get an exact copy of
GIS-SERVER01
with a new hard drive, and in the Snapshots box, select Everything.Click on Clone.
You can perform the same steps to create the WEB SERVER01
virtual machine. Now you can install ArcGIS for Server as done in the Production Installation Track setup procedures using the virtual machines.
In this chapter, you used some of the best practices for installing a robust setup for ArcGIS for Server. There were three tracks. The Testing Installation Track features a simple and typical installation with minimum configuration for testing the technology, The Production Installation Track has comprehensive explanations of all the options in Server—we covered the best practices for the configurations that should and shouldn't be used depending on your requirements. Finally, in the last track you learnt how to set up and configure Server specifically for virtualized environments.
In the next chapter, we will learn how to author and publish web services for ArcGIS for Server.