Friday, January 30, 2009

The Ultimate MOSS 2007 Deployment Guide

If you need help in planning and managing each stage of a Microsoft Office SharePoint Server 2007 deployment, Microsoft TechNet has made available a white paper that contains a sample deployment plan and several checklists that guide you through planning the following aspects:

- Information architecture
- Development and configuration policies
- Ongoing operations
- Infrastructure

Download: Office SharePoint Server 2007 Deployment Guide and Checklists (White Paper)

Friday, January 23, 2009

SharePoint End User Training

So I finally got around to installing and configuring the SharePoint Training Kit solution for the end users in my organization, and let me tell you -- they LOVE IT! If you manage a SharePoint farm with lots of users, I highly recommend deploying this solution. The built-in training modules use videos, interactive tutorials, and articles that provide step-by-step instructions on how to use some of the common features of SharePoint.

Thursday, January 15, 2009

Properly deploy software updates to a MOSS 2007 farm: Part 2

UPGRADE PHASE

1. Backup the farm again. Refer to Step 4 of my previous “PRE-UPGRADE” post.

2. On each server in the farm, rename the Upgrade.log file located in Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS. The Upgrade.log file holds a cumulative history of update activity for that given server. Renaming the existing Upgrade.log file allows a new, clean version of the file to be created during the upgrade process. This makes troubleshooting easier if the upgrade process fails.

3. Disable antivirus software.

4. Stop the WWW service on all front-end web servers in the farm.

5. If your content databases are larger than 25 GB, you should prepare to move them, and then detach them. This will minimize the downtime required to upgrade. See below for instructions.

To prepare to move the content databases, run the following command line:

stsadm -o preparetomove -contentdb YourSQLServerName:YourDatabaseName -site http://YourSiteURL

To detach the content databases, run the following command line:

stsadm -o deletecontentdb -url http://YourSiteURL -databaseserver YourSQLServerName -databasename YourDatabaseName

6. Determine the server upgrade sequence. Microsoft recommends that you first upgrade the server that is hosting the Central Administration Web Site (application server or front-end web), then the application servers, and finally the front-end web servers.

7. Logged in as the Setup account, run the appropriate installation packages on each server according to the upgrade sequence above in Step 6 and the update installation sequence in Step 2 of my previous “PRE-UPGRADE” post. Be sure to cancel the SharePoint Configuration Wizard each time it appears after running an update package on each server. You have now installed the necessary binaries on each server.

8. On the first server in which you ran the updates, complete the upgrade process by running psconfig –cmd upgrade –inplace b2b at a command prompt. After the operation completes, verify the upgrade was successful by viewing the Upgrade.log file.

9. Complete the upgrade process on all other servers in the farm by running psconfig –cmd upgrade –inplace b2b on all other servers in the farm. Be sure to follow the same sequential order as described in Step 6. Verify each server was successfully upgraded by viewing their respective Upgrade.log file.

10. If you detached any content databases as described in Step 5, re-attach each database one-by-one. Each database will be automatically upgraded when it is attached. To attach a content database, run the following command line:

stsadm -o addcontentdb -url http://YourSiteURL -databasename YourDatabaseName -databaseserver YourDatabaseServerName

11. If needed, install language pack updates for both WSS and MOSS.

12. Enable antivirus software.

13. Start the WWW service on all front-end web servers.

14. On the Central Administration Web Site, check the version number for each server (Operations tab, Servers in Farm). They should all be the same updated version.

15. Perform a backup of the farm. As mentioned in Step 4 of my “PRE-UPGRADE” post, the previous backups are no longer valid. You need a backup of the upgraded environment.

16. Perform a full crawl of all MOSS content.

Remember to view the Upgrade.log files if you experience issues during the upgrade process.

Wednesday, January 14, 2009

Properly deploy software updates to a MOSS 2007 farm: Part 1

With the recent release of the December Cumulative Update, many of you may be confused on how to properly deploy software updates to a MOSS 2007 farm. I have put together a complete step-by-step overview of the deployment process. Because it contains two separate phases (PRE-UPGRADE PHASE and UPGRADE PHASE), I have decided to convey the necessary information in two separate blog posts. This first post will discuss each step of the pre-upgrade phase.

PRE-UPGRADE PHASE

1. Ensure each Windows Server 2003 server in the MOSS farm is up-to-date with the latest operating system service pack and other critical updates. Use Windows Update if needed.

2. Determine and download the updates you need to install and the sequence by which you will install each update. For an updated list of the major updates available for MOSS 2007, refer to the Deploy software updates for Office SharePoint Server 2007 guide located at http://technet.microsoft.com/en-us/library/cc263467. To view what updates you currently have installed on your MOSS farm, simply open Add or Remove Programs and check the Show updates option. In regards to an update installation sequence, Microsoft recommends installing updates in the following sequence:

a. Windows SharePoint Services 3.0 Service Pack 1 (KB 936988)
b. The 2007 Microsoft Office Servers Service Pack 1 (KB 936984)
c. The Windows SharePoint Services 3.0 December Cumulative Update (KB 960010)
d. The Microsoft Office Servers December Cumulative Update (KB 960011)

NOTE: Microsoft has announced that beginning with the December Cumulative Update all subsequent Cumulative Updates will also contain a package that includes the latest version of every hotfix patch available to date. Therefore, when building a new MOSS server, you can simply apply the latest service pack, the latest WSS Cumulative Update package, and finally the latest MOSS Cumulative Update package and be completely up-to-date.

3. Ensure the system drive on each server in the farm has enough disk space to accommodate the new updates. At minimum, there should be at least 1 GB available on the system drive of each server, but I recommend a system drive of 6 GB or greater per server. This is especially true for 64-bit systems as they generally need larger partitions.

4. Backup the farm and verify restore capabilities. THIS IS A VERY IMPORTANT STEP. Why? Because if something goes wrong during the upgrade process, you will need the capability of restoring the farm back to its pre-upgrade status. Here’s another tidbit -- once you upgrade an existing farm, you cannot restore the farm to its previous state. In other words, you cannot restore an older version of a farm to a newer version. For example, if you apply Service Pack 1 (SP1) to a MOSS farm, backups of the pre-SP1 farm are no longer valid for restore. So how do you restore to a previous version of the farm? You would have to build a new MOSS farm to the same update level as your backup, and then restore the farm from your backup to the newly built farm. I know, it sucks, but we must deal with it.

NOTE: If you are using the “out-of-the-box” backup capabilities in MOSS 2007, such as the farm backup feature available in the Operations tab of the Central Administration Web Site, be sure to also manually backup the following:

a. Any configuration changes or custom solution files in the Inetpub or Office 12 hive (Program Files\Common Files\Microsoft Shared\Web server extensions\12).
b. Any customizations made to the Web.config file.
c. Alternate access mappings.
d. Internet Information Services (IIS) settings, including host headers, dedicated IP addresses, and Secure Sockets Layer (SSL) certificates.
e. Any other out-of-the-box files you have customized.

5. Document the content databases by running stsadm –o enumcontentdbs –url http://yourwebappURL at a command prompt. If you need to reconnect them later, you will have the necessary information readily available.

6. Check the size of the content databases. Best practice recommends a maximum size of 100 GB for each content database. If you have content databases that exceed 100 GB, I recommend adding more content databases and load balancing the site collections as needed.

7. Ensure there are no orphans in the farm. To detect orphaned items, use the following command line: stsadm –o databaserepair –url http://yoursiteURL –databasename YourDatabaseName. To delete orphaned items, use the following command line: stsadm –o databaserepair –url http://yoursiteURL –databasename YourDatabaseName –deletecorruption.

8. Check the logical and physical integrity of all objects in the MOSS databases by performing a DBCC CHECKDB on each database. For more information on how to use this procedure, see the following link: http://msdn.microsoft.com/en-us/library/ms176064.aspx.

9. Defragment the content, search, and profile databases as needed. Refer to the following link for an SQL script that measures the level of fragmentation for each database, and then performs either an offline defragmentation or online defragmentation if it is required. http://support.microsoft.com/kb/943345

10. Check the status of Timer Jobs. If you upgraded from a previous version of SharePoint, either in-place or gradual, there could be some upgrade jobs still in progress. If so, the software update installation might fail. Verify that none of the upgrade processes are running.

My next post will cover the upgrade phase. Stay tuned…

Monday, January 12, 2009

Now Available: Adobe PDF iFilter 9 for 64-bit platforms

I just recently discovered that Adobe has introduced a PDF iFilter 9 for 64-bit SharePoint farms. I have not installed and tested it yet, but I certainly will before I shell out the money for Foxit's licensed version. Please post comments if you have any experience with this new iFilter.

http://www.adobe.com/support/downloads/detail.jsp?ftpID=4025

Friday, January 9, 2009

Moving My Sites to a separate content database and web application

So, you have performed an in-place or gradual upgrade to MOSS 2007 and your My Sites exist on the same content database and web application as your main portal. See below for the steps to move your My Sites to a separate content database and web application.

These same steps also apply to those who simply have a need to move My Sites to a separate content database and web application.

NOTE: Service Pack 1 for MOSS 2007 must be installed before performing the following steps.

1. Create a new web application using either the Central Administration GUI or the STSADM command line tool. I recommend using the same easily identifiable name for the IIS Website and Application Pool, such as SharePoint - MySites. The associated content database will be removed in Step 4 below, so you can give it a name of WSS_Content_MySites.

2. Define managed paths for the web application created in Step 1. You only need two new paths -- an Explicit inclusion for mysite and a Wildcard inclusion for personal.

3. Create a new site collection on the web application created in Step 1. Give it an appropriate title, such as My Site Host. Be sure to use the /mysite path and choose the My Site Host template located under the Enterprise tab. After the site collection is created, click to visit the new My Site Host and click the button marked Set as My Site Host.

4. Remove the content database that was created for the web application created in Step 1. To do this, while in the Central Administration GUI, go to Application Management and click Content databases. Click the web application dropdown to select the web application created in Step 1. Click on the database that is listed (WSS_Content_MySites), place a check in the box next to Remove content database, and click OK.

5. Add a new content database to the main portal web application. In Application Management, click Content databases. Click the web application dropdown to select the main portal web application, then click Add a content database. This new database will be your My Sites database, so give it a more descriptive Database Name, such as MySites_Content. Click OK to add the new database.

6. At a command prompt, enumerate out all My Sites to an XML file by running the following command:

stsadm -o enumsites -url http://yourmainportal/personal > C:\MySites.xml

Wait for the command to finish, and do not close the command prompt.

Open the MySites.xml file with notepad and remove any site that is not a personal site, including the /mysite entry. Do not worry about the "Sites count" as the STSADM tool only sees the url paths. Save and close the MySites.xml file.

7. At the same command prompt, move the personal sites located in the MySites.xml file to the new Content Database by running the following command:

stsadm -o mergecontentdbs -url http://yourmainportal -sourcedatabasename mainportaldatabasename -destinationdatabasename databasefromStep5 -filename C:\MySites.xml -operation 3

Wait for the command to finish, and do not close the command prompt.

8. At the same command prompt, restart IIS by running the following command:

iis restart

Wait for the command to finish, and do not close the command prompt.

9. At the same command prompt, prepare to move the content database created in Step 5 by running the following command:

stsadm -o preparetomove -ContentDB DatabaseServer:DatabaseFromStep5

Wait for the command to finish, and do not close the command prompt.

10. Remove the content database created in Step 5 from the main portal web application by following the same sequence in Step 4.

11. At the same command prompt, add the content database created in Step 5 to the new My Site web application created in Step 1 by running the following command:

stsadm -o addcontentdb -url newmysiteurl -databasename databasefromStep5

Wait for the command to finish and close the command prompt (finally).

12. Confirm that the content database created in Step 5 is now associated with the new My Site web application created in Step 1.