Installing Sql Server 2005 Reporting Services on Vista

Update: (2009-06-26) – Added the Windows x64 server issue.

Update: (2009-10-26) – Added quick note about running IE as administrator in all cases and noted that the notes work with Windows 7

Update: (2009-11-10) – Link to MSDN article on Configuring Report Server for Local Admin on Vista and added another step to the Trusted Sites instructions. Also added a note that I installed Reporting Services to run as Local System.

Update: (2009-11-11) – Added a link and some information from a post on a forum which talked about using Management Studio to assign permissions to the report server (Even though I wasn’t able to connect to the Report Server using Management Studio to try it out… 😦 Groan, Complain!

The introduction of Windows Vista to the world caused some compatibility issues with a variety of software. One of those is an actual Microsoft product.

Sql Server 2005 Reporting Services has been an absolute pain to get running. I’ve nearly spent the whole day trying to get it working so that I can get to the Report Manager and manage the reports.

In this article I’m installing Sql Server 2005 With Advanced Services With SP3 on a Vista Business Box. and will also try and describe some of the errors that you may get and how to fix them.

Prerequisites:

Please note the following:

  • You have to install Sql Server 2005 on a Vista Business, Vista Enterprise or Vista Ultimate box. You can use Vista Basic or Vista Premium.
  • You cannot install Sql Server 2005 Enterprise Edition on Vista Machines.

You need to ensure that several features are installed in Windows as follows:

  1. Go to the Control Panel.
  2. Double click "Programs and Features"
  3. Click "Turn Windows features on or off"
  4. Click "Continue" on the UAC dialog

You now need to select the correct features which are listed below:

Under Internet Information Services | Web Management Tools| IIS 6 Management Compatibility select:

  • IIS 6 WMI Compatibility
  • IIS Metabase and IIS 6 configuration compatibility

Under Internet Information Services | World Wide Web Services | Application Development Features select:

  • ASP.NET
  • ISAPI Extensions
  • ISAPI Filters

Under  Internet Information Services | World Wide Web Services | Common Http Features Select:

  • Default Document
  • Directory Browsing
  • HTTP Errors
  • HTTP Redirection
  • Static Content

Under  Internet Information Services | World Wide Web Services | Security Select:

  • Windows Authentication

Installation

Follow the Microsoft instructions to install Sql Server 2005 (Some of the above information is also included in the instructions provided by Microsoft)

When you get to the Report Server Installation Options dialog select Install the default configuration so that you dont have to configure things manually.

Note: In my setup of Reporting Services I have it running as Local System. You might want to select this for Reporting Services unless you know better 🙂

Post Installation Changes

Ensuring Read, Script and Execute for ReportServer

  1. Open IIS Manager. Open a command prompt and type "inetmgr"
  2. Drill down to the website and click on the "ReportServer" virtual directory (remember that if you have a named instance it will be called "ReportServer$namedinstance"
  3. Under the server components category at the bottom, double click "Handler Mappings"
  4. In the "Actions" sidebar click "Edit Feature Permissions…"
  5. Ensure that "Read", "Script" and "Execute" are all checked!
  6. You might want to restart the application pool or website after this

Turn off SSL Requirement

This is only really for development purposes. In a production environment you might setup SSL. I don’t want it!

  1. On the start menu select All Programs | Micosoft Sql Server 2005 | Configuration Tools | Reporting Services Configuration
  2. Enter the machine name and instance name and connect
  3. Click on the "Report Server Virtual Directory" Item to the left and ensure that the "Require Secure Socket Layer (SSL) connections" is unchecked (unless you want it, which in out case we don’t.)

Set IE Trusted Sites to Include http://localhost (and http://machinename)

This one is actually in the Microsoft instructions for installing Sql Server 2005. Here it is for convenience, as it’s a small thing, but can cause frustration 🙂

  1. Open IE
  2. Select Internet Options on the Tools menu
  3. Click the Security tab.
  4. Click Trusted Sites.
  5. Click the Sites button
  6. Add http://localhost and http://machinename to the list of trusted sites.
  7. Clear the “Require server certification (https:) for all sites in this zone” if not using https.
  8. Click Close and OK

For some reason IE will only show the top section of the home folder without all of the required functionality that you need. This fixes that problem.

For fuller instructions on the above as well as configuring the site security settings, see here.

Errors

This section details some of the errors that I’ve had at variouse times and attempts to give some guidance on how to fix them!

I can see the home page but can’t do anything

See the "Set IE Trusted Sites to Include http://localhost (and http:/machinename)" section above.

It is important that you run IE as administrator also. Once you can see the root folder and the buttons to add folders you can go to the Properties tab and give the appropriate accounts permission to access the folder and any sub folders.

IF you can see the home page but no content (where you have already applied the other fixes) then you can also give yourself permissions using Sql Server Management Studio: at least in some cases. I can’t do that, but someone else I know was able to get around this issue using the method below.

(Below, for convenience, is from this entry on social.msdn.microsoft.com)

The solution that worked for me was:

  1. Run Sql Server Management Studio as Administrator (right click "Run as Administrator")

  2. Connect to a Reporting Services server using Windows Authentication.

  3. Right click Home, Select Properties, Select Permissions.

  4. Click Add Group or User, Type your Username, Click Ok.

  5. Check the box for Content Manager, Click Ok.

Now you can access Reporting Services via Sql Server Management Console without running as administrator.

You should also have permissions to browse Report Manager (http://localhost/Reports).  If not, but you do see the Information Bar complaining then add http://localhost/ to Explorer’s Trusted Sites Zone.

Access is denied: You do not have permission to view this directory or page using the credentials you supplied…

Access is denied.

Server Error in ‘/Reports$JJJ’ Application.


Access is denied.

Description: An error occurred while accessing the resources required to serve this request. You might not have permission to view the requested resources.

Error message 401.3: You do not have permission to view this directory or page using the credentials you supplied (access denied due to Access Control Lists). Ask the Web server’s administrator to give you access to ‘c:\Program Files\Microsoft SQL Server\MSSQL.16\Reporting Services\ReportManager\Pages\Folder.aspx’.


Version Information: Microsoft .NET Framework Version:2.0.50727.4016; ASP.NET Version:2.0.50727.4016

This is an ASP.NET Error. It means that the account I used (which was my normal domain user account) was being impersonated by the web application, but that account doesn’t have rights to the given folder.

Solution:

Give your account "FULL" rights to the folder. It seems not to work with anything less!

Reporting Services Error: The request failed with HTTP status 403: Forbidden

With this error you get an IIS error. Please ensure that you have done what is specified in the the Post Installation Changes section above

IE Error with dialog box asking for credentials

You get the following error after entering your credentials into a dialog box (3 times)

HTTP Error 401.3 – Unauthorized

You do not have permission to view this directory or page because of the access control list (ACL) configuration or encryption settings for this resource on the Web server.

The box asking for credentials must be on that can access  the report manager application folder which for the example I’m currently doing is "c:\Program Files\Microsoft SQL Server\MSSQL.16\Reporting Services\ReportManager\". If the account doens’t have the permissions it will ask another two times and then give you the above error.

You need to got to the directory and add the account you entered so that they have permissions to the directory specified on the error page. If you run as administrator you will probably not get this error, if you use another account you may get it. If you want to add that user then either give them rights to the directory or add them in a group that does have full rights to the given directory.

When you have given the permissions you will get to the home page of the report manager. You have to run as administrator account and then setup the home folder permissions as well as configure site wide security so that the account has system administrator rights.

Error: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.

This has been caused by the ReportServer virtual directory/application not having Read, Script and Execute features set.

  1. Open IIS Manager. Open a command prompt and type "inetmgr"
  2. Drill down to the website and click on the "ReportServer" virtual directory (remember that if you have a named instance it will be called "ReportServer$namedinstance"
  3. Under the server components category at the bottom, double click "Handler Mappings"
  4. In the "Actions" sidebar click "Edit Feature Permissions…"
  5. Ensure that "Read", "Script" and "Execute" are all checked!
  6. You might want to restart the application pool or website after this

Check the Reports virtual directory/application also.

Windows Server 2003 R2 x64 issue

If you still get the home page of the Report Manager with no content on Windows Server 2003 R2 x64. You can solve it by adding the http://localhost to the Local Intranet Trusted List as shown here

Windows 7 Error – An Unexpected error occured on a recieve – Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.

The underlying connection was closed: An unexpected error occurred on a receive.
Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
An existing connection was forcibly closed by the remote host

Have not been able to resolve this at the current moment.

Advertisements

ASP.NET MVC – pages validateRequest=false doesn’t work?

In ASP.NET MVC you get the following error after entering some script of HTML like content into a textbox:

A potentially dangerous Request.Form value was detected from the client

The runtime throws an error if you try and enter script or HTML like content in the form.

I wanted to turn this off so that I could go through an example video which required that the form would allow the submission of the content. I changed the web.config file… then i checked the other web.config file in the Views | Shared folder, and the pages element’s validateRequest attribute was already set to false. Neither of these settings work.

Turning off validation can be done by applying the ValidateInput attribute to the top of the Action Method with false as the boolean parameter as shown below:

[ValidateInput(false)]
public ActionResult AddEntry(string feedback) {
    :
}

That will prevent the runtime form validating your form input for the given action…Of course you have to apply this to every Action Method that you create.

Not too hard… It is up to you to know what you are doing after this of course!

:o)

MediaWiki – Setup Upload and Download of Files

This is going to be a short post on how to setup MediaWiki so that you can upload and download files. I’ve only allowed a few file extensions at the moment in the following, but you can add you own if you wish.

At the end of the LocalSettings.php file in the MediaWiki folder (folder containing your MediaWiki app files!) add the following to the END of the file.

$wgFileExtensions =  array('pdf', 'png','jpg','jpeg');
$wgEnableUploads = true;

The first line specifies what file extensions MediaWiki should allow the users to upload.

The second line specifies that uploads should actually be enabled. (Note: This setting is set to false earlier in the file. Thus we put both lines at the end of the file!)

Sql Server 2005 Service Accounts – What Account for What Service?

I’m installing Sql Server 2005 and have come to the Service Account part of the wizard. This dialog essentially tells you the services that are going to be installed and gives you options like what services you want started when the installation finishes and what service/domain account you want to run each of the services under.

Not only is the dialog a little bit confusing the first few times you see it, but it is also difficult for someone with teach just coming through to figure out what the best option is if you want to give the services the least priviliges.

What do I want to do?

I want to figure out how best to securely setup an SQL server. I want to figure out what would be best for the situation where you are hosting a box publicly.

I’ve checked the “Customize for each service account” option and also selected the “Use the built-in System account” radio button for each of the services. The reason I checked the “Customize for each service account” was due to the fact that the same account will be assigned to all services otherwise, and this, I’ve read, is not the secures option as the account you assign might be to priviliged for some of the services.  I also selected the “Use the built-in System account” because I don’t want this experiment to connect to a domain controller, but want it to stand-alone.

So… Which account do I use for which service???

If you read here you can read this under the “Using the Network Service Account” heading:

Microsoft recommends that you do not use the Network Service account for the SQL Server or SQL Server Agent services. Local User or Domain User accounts are more appropriate for these SQL services.

Oh great… well, unless I’m mistaken, that is exactly what the “SQL Server” service is set to by default… Later on in the same page there is a hint maybe that this is needed for xp_sendmail, but I’ve no knowledge of that.

So… Should I use the Built-in Accounts at all?

So I have to choose which account

http://www.yaldex.com/sql_server_tutorial_3/ch02lev1sec2.html

We recommend that you do not use any of the built-in accounts for the SQL Server services because they may be too powerful and prone to security threats. Instead, use a local user or a domain user account with the lowest possible privileges. For more information and best practices, see “Security Considerations for a SQL Server Installation” in Books Online.

Well they think I shouldn’t!

If that is true (and it probably is) then:

  • How do i create my own service account?
  • How do I assign them to the services via this dialog? Or do I have to change them later?

No information yet. So the best option seems to just leave service to service account mapping that the dialog has by default… Till I can figure out a better way… At which time I’ll update this!

Installing SugarCRM

This is a quick set of notes on how to install SugarCRM Community Edition on a Windows 2003 Server.

I’ve already installed Apache 2.2, MySql 5.1, and PHP 5 and therefore I’m ready to install SugarCRM.

  1. Download SugarCRM from here
  2. Extract the files in the zip file into the appropriate directory. In my case that is “C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\SugarCRM”. The SugarCRM directory was created by me obviously.
  3. Open a browser and navigate to the SugarCRM instance. In the examples for installing MediaWiki i had Apache configured to look on port 8080 so the path in my case would be http://localhost:8080/SugarCRM” and you should see the SugarCRM screen.
  4. Do the checks and click “Next”
  5. Check the “I accept” checkbox if not checked and click “Next”
  6. SugarCRM will then check for any issues. In the install i had i needed to do two things
    1. Edit the php.ini file and set the “session.save_path” setting to sesison.save_path = “C:\Windows\Temp”. This is so that SugarCRM can store session data.
    2. Edit the php.ini file and uncomment out the  “extension=php_mbstring.dll” line by removing the semicolon at the start of the line. This enabled the Multi Byte extension which is a required extension for SugarCRM.
  7. I then clicked “Next”
  8. Select “Typical Install” and click “Next”
  9. MySql should be select in a single radio button… (Unless you’ve got others installed… In this example I’m using MySql) Select the one you want, and click “Next”
  10. A database name and the web server host name should already be set. Unless you need to change some thing just leave it as is! Enter the database administrator username and password. I’m just running SugarCRM as the root user at the moment as this is a test. If you need to then create a user and specify the details and click “Next”
  11. The next page will ask you to enter details for the administrator password for SugarCRM. Enter you username and password and click “Next”
  12. On the next page you will be able to specify the localization settions. Set and click “Next”
  13. On the last screen you will see a confirmation screen telling you what you have set. There are also some things that you might want to configure like the maximum uploadable filesize for example. in php.ini there is a setting called upload_max_filesize which you can set to 6M as SugarCRM suggests.
  14. Click “Install” when you are happy…. and wait for it to… well, install!!!
  15. Hopefully you are still happy after the install has finished
  16. Click “Next” when done
  17. On the registration screen you can register if you like. Click “Next”
  18. You will be taken to the login screen. Enter you admin username(admin) and password and press “Login”
  19. Y?ou will be asked to enter you time zone. Enter it and your off!

That’s about it

FlySpray for Bug Tracking

Another staff member at work found DocuWiki and then found out that they use FlySpray as their bug tracking software.

The demo looks interesting…

MediaWiki Installation on Windows Server 2003 (WAMP) – Part 4 – MediaWiki

Articles in the Series

The next step is installing MediaWiki.

  1. Download the latest version of MediaWiki
  2. Create a new folder in “C:\Program Files\Apache Software Foundation\Apache2.2\htdocs” folder called “MediaWiki”
  3. Extract the MediaWiki files and copy all of the files into the newly created folder. (don’t copy the folder copy the contents!
  4. Create a new database for MediaWiki in MySQL. I called it “MediaWiki”.
    1. Open a commandline by either
      1. Pressing the ‘Windows key’ and the ‘r’ key together and type “cmd” and hit “ok”.
      2. Clicking the start menu and clicking the “Run…” option to the left of the menu and then typing “cmd” and clicking “OK”
    2. Navigate to the “C:\Program Files\MySQL\MySQL Server 5.1\bin” directory (this may depend on the version you are using. We want to MySql bin directory). You can do this by typing cd “C:\Program Files\MySQL\MySQL Server 5.1\bin” ensuring the quotes are around the path as there are spaces! You may be able to just type mysql if it is in the PATH variable, but here I’m assuming that it is not.
    3. Type “mysql -u root -p passwordhere” where passwordhere is the root users password. The mysql commandline tool will come up.
    4. Type “CREATE DATABASE MediaWiki;” and press enter. (Note the ; at the end…. it is important!!!). Please replace MediaWiki with whatever yo want to call the database
    5. Type “quit;” and press enter. You can then close the commandline.
  5. Open a browser and type http://localhost:8080/MediaWiki/index.php and you should be taken to a page that gives you a link to the setup page… The link says “set up the wiki”
  6. If “Environment checked. You can install MediaWiki” is at the bottom of the “Checking environment…” section then fill in the details and click “Install MediaWiki!”
  7. In the “Database config” section set the database name to whatever the database name is, which in this case is “MediaWiki”. Set the username and password to the account that you want MediaWiki to create in MySql. Check the “Superuser account” checkbox and type the root user password in. This will be used to create the database and a user account that MediaWiki will use to connect to the database.
  8. Click the “Install MediaWiki!” button
  9. When the installation is successful go to the “C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\MediaWiki\config” directory (that is the config directory in the MediaWiki files that are stored in the Apache htdocs folder) and copy the “LocalSettings.php” file to the top level MediaWiki directory (I.E. The parent folder of the one the file is in, or “C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\MediaWiki”)
  10. Either click the “this link” link on the installation page or type http://localhost:8080/MediaWiki/index.php and your will should be up

Done! (Hope it is for you also!)