Friday, July 31, 2009

TFS 2008 : Permissions for Creating Team Projects

I recently finished my Team Foundation build and am quite pleased with it. With Team Foundation Server being new to me, I ran into a few issues with permissions.

The Team Foundation server I built will be managing my team's code as well as two other teams once everyone has moved over.

That being said, I need to give out permissions for the managers of each group so they can create team projects for their teams.





Let's get started

Permissions for this are somewhat complicated in that they have to be given in three different locations for the user(s) to be able to create Team Projects and all of the other services associated with one.




We'll start off with the TFS permissions.

By default, the service account has permissions to perform these actions so you should be logged in as that account.

Head to your Team Explorer in Visual Studio and connect to your Team Foundation Server. Right-click your server name, go to Team Foundation Server Settings, and select Group Membership. From within here you should see a group titled Team Foundation Administrators. Double-click this group and add your user/group to it and you're done with the TFS part.


*NOTE* To keep the Administrators group from becoming cluttered with usernames and group names, I created a TFS group for Administrators ( for instance) and simply added that group to Team Foundation Administrators.




Next up we'll tackle SQL Reporting Services permissions.

For this one you want to go to your SQL Reporting Services page (mine was http://servername/Reports ).

Once there, click the Properties tab. Click New Role Assignment on the page that loads. From here, enter the active directory username or group name you want to have permissions to create team projects in TFS and assign them at least the Content Manager role. Once you're done, click OK and you're done with the permissions for SQL Reporting Services.




Finally, Windows SharePoint Services permissions.

Head to your central administration site (Start -> Administrative Tools -> SharePoint 3.0 Central Administration). Once there, click the Operations tab at the top left. On that page, select Update farm administrators's group (it's under the Security Configuration group). From here, click New to add a new user (the button also has a drop down function so if you get that, click Add User). On the AddUser: Central Administration page, type in the username or groupname and add them to the Farm Administrators [Full Control] group.



There you have it. You should now be good to add as many Team Projects as you desire.


A closing thought: I would recommend that the majority of this be done through active directory groups. It makes usermanagement much easier. If someone quits or it let go, all you have to do is remove their account from the group in active directory and it takes care of everything in Sharepoint, TFS, and SQL Reporting services instead of having to manually go in and remove the person from every location.


On a side note, I'm going to get some lunch...

Thursday, July 30, 2009

Upgrading TFS 2008 Workgroup to TFS 2008 Standard

About a month ago I was assigned the task of learning how to build and maintain a team foundation server. To avoid the costs of purchasing licenses for a software we were only testing for a production environment, we decided to use our MSDNAA copy for our test. Incidentally, the version MSDNAA distributes to schools is the workgroup edition.
After the build was completed, I decided that Microsoft's Visual Studio Team Foundation Server would do everything (and more) that we needed. Due to legal restrictions, I couldn't/shouldn't use the MSDNAA license for a production environment. Additionally, the workgroup license for TFS only supports five users, hardly enough for my team's purposes.
Naturally I wanted to avoid have to reinstall Team Foundation Server since simply inserting the new license key would be the easiest thing to do, if the software supported it. I searched around the web for a bit and found a Microsoft article on upgrading from workgroup to standard, but it was for TFS 2005. None-the-less, it was worth a shot. Coicidentally, it was not too far off. Here's how I upgraded my copy and a problem I ran into in the process.


This method DIDN'T work (Microsoft's suggestion)

If you go into your Programs and Features (if you're using Server 2003 go to Add or Remove Programs) on your server that TFS is isntalled on, double click the uninstaller for Microsoft Visual Studio 2008 Team Foundation Server - ENU(assuming your copy is English). On the window that comes up you should see an option at the bottom to upgrade to Team Foundation Server. Check that radio button and enter the new license key you have and click Next. You should see a window that says upgrade was successful.

The problem I had with this method was that when I checked the radio button, the license key text boxes remained greyed out. When I clicked Next, hoping to see a place to input the new license key, I was met with a screen that said my upgrade was successful, though it wasn't.


This method DID work

Insert/mount your Team Foundation Server disk/image and run the installer. It should give you options to repair, uninstall, or upgrade. In my case, the upgrade option automatically showed the license key for my disk. I selected that option, clicked Next, and my edition was upgraded to TFS standard.

Tada!

Tuesday, July 28, 2009

Installing Visual Studio 2008 Service Pack 1

Recently, I realized that a few of our developement servers were running Visual Studio 2008 with the beta of SP1. One would assume that the installation of a service pack wouldn't be too difficult but since they already had the beta of service pack 1 installed, the installation of SP1 became a bit more complicated.

If you download the service pack installation file from Microsoft and run it, you get an error saying that you need to run the Service Pack Preparation Tool before being able to install. Head to the Microsoft website and download the removal tool.
In my case, I ran the SP prep tool and received yet another error. It said that it need some files on the installation disk for Visual Studio 2008 Shell (integrated mode) - ENU. The ticket here is that we don't have a disk for that and to my knowledge, there isn't one. Microsoft has a download for it but it's an executable that doesn't extract an iso. I searched around for a solution to the problem and found a site that said to simply uninstall VS 2008 Shell (listed in Programs and Features as Microsoft Visual Studio 2008 Shell...). I performed said action and the prep tool ran fine with no errors.
After running the prep tool, I stimply ran the installer for the service pack with yet again no errors.
The install did, however, take about two hours (ugh).

There you have it.

Monday, July 27, 2009

Server Administration : Firewalls

Hello again all,

The majority of the servers that I manage have to communicate with many other servers I manage for various reasons. Inevitably, I have many firewall blocking issues. Despite my age, I still have trouble remembering all of those commonly used ports and what they are for. That being said, this post will list all of the Windows default firewall ports used for the various software sources. Yes these are all readily available at other sites. This is simply a central collection.
I will update this post when I have more blocks come up.
Post comments if you would like to have a particular port added to the list.



FTP

21

HTTP

80

HTTPS

443

POP3

110

SMTP

25

SQL Server Management Studio (remote connect)

1433

Terminal Services

3389

VMWare Server Administration

8222

VMWare Server Administration (Secure)

8333



Let me know in the comments section if there are any ports you would like added to this list.

Wednesday, July 15, 2009

Installing Team Foundation Server 2008

The installation of TFS 2008 can be a daunting task if the right documentation is not used. This post will cover the installation of Team Foundation Server 2008 and all of its prerequisites.

To preface, this post will document a single server installation of Team Foundation Server 2008 on a Windows Server 2008 server using SQL 2008 on the backend.

Here’s the quick rundown of what will be done.
1.) Install IIS 7.0
2.) Install SQL Server 2008
3.) Install SharePoint
4.) Install Team Foundation Server 2008

*NOTE* Before the install of Team Foundation Server you must have service pack one integrated into your install media. Microsoft has outlined how to integrate SP1 into your install media here.

To save text space on each installation process, I will be simply saying where to go to install the specified software rather than doing a step-by-step tutorial.
Lets get started


Installation of IIS 7.0

Here’s a good one. To install this one, head to the Server Manager window. From there, go to install the IIS 7.0 Role (it is called Web Server (IIS) in the wizard). When you select it to be installed, you will be prompted to install two more features additionally, assuming this is a clean install. Accept the install of the two additional features and continue.
The role services that need to be installed are:
1.) HTTP Redirection
2.) ASP.NET (Add required role services as well)
3.) IIS 6 Management Compatibility
Click through the windows until IIS 7.0 is installed. Though it is not required, I always do a restart after the installation of a new role or service, just to be safe.


Installation of SQL Server 2008

Yet another exciting step (like every step in this process) is the installation of SQL Server 2008. Insert the DVD (or mount the iso) and run the setup.exe on the disk. Select the New SQL Server stand-alone installation or add features to an existing installation option under the Installation page.
Enter your license key on the window that comes up and proceed through the various prompting windows until you get to the Feature Selection screen.
The features that need to be installed are:
1.) Database Engine Services
2.) Full-Text search
3.) Analysis Services
4.) Reporting Services
5.) Management Tools – Basic
For the Instance Configuration, the Named instance field can be anything. I personally use the default instance and Instance ID for simplicity.
For Server Configuration I used the NT AUTHORITY\NETWORK SERVICE “account” for all of the services. Also make sure that SQL Server Agent starts up automatically and not manually. The other three should be automatic startup by default.
On the Database Engine page the Microsoft documentation suggests Windows Authentication. I believe that that method for authentication has it’s purposes but for my purposes, I use Mixed Mode authentication. Don’t forget to add the user(s) you want to have sysadmin access to your SQL instance. If you forget this step, you won’t be able to get into your instance unless you find a way to enable the SQL SA account without having to authenticate.
Add the users you want to have access to the analysis services on the Analysis Services Configuration page and continue.
For the Reporting Services Configuration page, select to Install, but do not configure the report server. The Team Foundation Installer will do this for you later.
For the last few pages, just click through them (make sure to check if you want Microsoft to receive usage reports from your instance). Review your install to make sure everything is as it should be and install SQL server.

Popcorn anyone?


Installation of SharePoint Products and Technologies

Before the installation of SharePoint, we need to do a prerequisite install. Head to the Server Manager and add the .NET Framework 3.0 feature. On my server instance, this was actually already installed so I didn’t need to install it. Simply make sure that you have it installed or you will run into problems later on.
Now, for the installation of SharePoint Products and Technologies.
Head to the appropriate link to download download Windows SharePoint Services 3.0 with Service Pack 2.
x86
http://www.microsoft.com/downloads/details.aspx?familyid=EF93E453-75F1-45DF-8C6F-4565E8549C2A&displaylang=en
*NOTE* The link to the x64 version of this is not listed because there is not a 64 bit version of TFS 2008.

*NOTE* If you choose to go with an alternative installation package, it must at least have service pack 1 already integrated.

Run the SharePoint.exe file to get started with the installation.
After accepting the license agreement, we find ourselves at a fork in the road. Select Advanced to do a customized install. The server type should be Web Front End. On the Feedback tab decide whether or not to share usage reports with Microsoft. Click Install Now.
After the installation has completed, Make sure the Run the SharePoint Products and Technologies Configuration Wizard now is checked and click Close.
In the Configuration Wizard, Select No, I want to create a new server farm and click Next.
For Database server type the name your database is hosted on. In the case of a single-server install of TFS, this will be the hostname of the server that you are installing SharePoint on.
*NOTE* If you chose a name for your SQL instance other than the default instance name, type <ServerName>\<InstanceName>
Choose the name of the SharePoint database or leave it default (I used default).
Input the username and password for the service account (can be the TFSService account) and click Next.
On the next page, be sure to remember the port you choose for your Central Administration web application. It can be recovered relatively easily but it’s just best to remember now. Select NTLM and click Next.
Review your settings and finalize the install.
Finally, we need to run a few command line commands.
Open a command prompt as admin and navigate to C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\bin\.
First, run
stsadm.exe -o extendvs -exclusivelyusentlm -url http://<ThisServersName>:80 -ownerlogin Domain\Username1 -owneremail "admin@localhost" -sitetemplate sts -description "Default Web Site"
Domain\Username1 should be the account you want to have admin privileges on the port 80 SharePoint web application. I used mixed authentication so I gave this the service account for TFS and SQL.
Next, run
stsadm.exe -o siteowner -url http://<ThisServersName>:80 -secondarylogin Domain\Username2
In this case, Domain\Username2 represents the user you want to be your secondary administrator for your SharePoint port 80 web application.


Installation of Team Foundation Server 2008

*NOTE* Once again, Before the install of Team Foundation Server you must have service pack one integrated into your install media. Microsoft has outlined how to integrate SP1 into your install media here

Welcome to the final step in this installation process (TFS 2008 configuration will be in a different post). I won’t slow us down with any detailed intros. With that, let’s get started.
Insert your installation medium (once again, I used an iso mounted through Hyper-V). Start up the installation, agree to the TOS (if you actually do) and head on to the next screen. After clicking Next a few times, you’ll find yourself at the Team Foundation Database Server page. As I mentioned earlier in the post, I’m doing a single server install this time which means my TFS database is hosted on a local instance of SQL. The installer should fill out the local server name for you. Since we’re doing a single server install, click Next. Sit back and relax for a few minutes while the installer runs a System Health Check.
Once the health check is complete, click Next to head to the Team Foundation Server Service Account screen. Once there, specify the account you want TFS to run as. In my case I chose a domain account for access reasons. Click Next.
On the Reporting Services Data Source Account screen, input the information for the account you want TFS to run reports as. In my case, I elected to go with Use Team Foundation Server service account since my SQL reporting runs as that user. Click Next.
The installer should automatically fill in the information for you on the Windows SharePoint Services screen. In my case though, the Central Administration URL was incorrect for some reason (the port was one number off) so make sure that everything is right before continuing. Click Next.
Here we are at the Specify Alert Settings page. If you wish TFS to notify you (or anyone else) of various build events (this is configurable), check the Enable Team Foundation Alerts checkbox and fill in the information for SMTP server and From e-mail address fields. Click Next.
On the Ready to Install page, review your settings. If everything is correct, click Install.


There you have it…a fresh install of Team Foundation Server 2008.