Cognos Installation and IIS Setup issues - cognos-10

I installed cognos 10.1 and done IIS Setup for windows 7, However while trying to access cognos connection with help of url
the Cognos Connection home page is not coming properly and attached the home page screen shot as well, In Home page its showing " Skip to main content"!
Thanks
Sathya

Satya,
Please try hitting your dispatcher url, if the page comes up you will be assured that cognos is setup fine and the problem is with Gateway/IIS
to configure IIS please check below steps
Configuring IIS 7.0 and Cognos 10.1
This is a 6 step process:
Check CGI or ISAPI is enabled in IIS
Create the Cognos 8 virtual directories
Edit ISAPI or CGI Extensions
Add module mapping
Edit Module mapping
Allow CGI application to use execute
1 Check CGI or ISAPI is enabled in IIS
can be checked from - Go to Start > Administrative Tools>Server Manager
Create the Cognos 8 virtual directories
In the left Connections pane, expand the server node, expand Sites, right-click on Default Website, and click Add Virtual Directory
Enter "c84" for the Alias and enter the path to the c8\webcontent directory in the Physical Path (default C:\Program Files\cognos\c8\webcontent). Click OK.
Right click on the newly-created cognos8 Virtual Directory and click Add Virtual Directory
Enter "cgi-bin" for the Alias and enter the path to the c8/cgi-bin directory in Physical Path (default C:\Program Files\cognos\c8\cgi-bin). Click OK.
Edit ISAPI or CGI Extensions
In the left Connections pane, select the server node, then double-click ISAPI and CGI Restrictions in the right pane.
In the Actions pane click Add, enter the path to either cognosisapi.dll or cognos.cgi depending on which you will use (default C:\Program Files\cognos\c8\cgi-bin\cognosisapi.dll or C:\Program Files\cognos\c8\cgi-bin\cogno.cgi), check the "Allow extension path to execute" box, then click OK.
(you may need to surround the path in double quotes if it contains any spaces)
Or
Click ‘edit feature settings’ on right-hand side and ‘Allow unspecified CGI Modules’
Add Module Mapping
Within IIS expand the virtual directory and click on the cgi-bin virtual directory, Double click Handler Mapping within the main pane.
Within the actions pane click Add Module Mapping.
Enter either *.cgi or *.dll in the Request Path depending on which one it is you require. Within the Module Path choose either CGIModule or ISAPIModule. In the name section give it a realistic name i.e. ISAPI-cognos
If you are using ISAPI Module you will need to click the ellipsis next to the Executable section within here navigate to cognosisapi.dll
Click Request Restrictions
N.b. if you are using a CGI Module you do not need to select anything in the executable section
Under the Mapping tab Select Invoke handler only if request is mapped to: File
Under the verbs tab ensure All verbs is Selected
Under the Access Tab, Select Execute
Depending on the method used in section 3 a message may appear select Yes
Your new module mapping should be added to the Module Mapping List
Edit Module Mapping
In order for Cognos Administration to function properly, the directive added to the IIS configuration file in previous step has to be edited manually. Depending on how IIS is set up, this will have been written either to
/c84/cgi-bin/web.config. Open up using Wordpad Check those files for the following entry:
For CGI it will originally look like:
Add allowPathInfo="true" at the end of the statement so it looks like:
For ISAPI it will originally look like:
Add allowPathInfo=”true” at the end of the statement so it looks like
n.b. you may need to ensure that you have access permissions on the folder to enable you to save to this file
Allowing CGI application to use execute
Select cgi-bin virtual directory within IIS, Select Handler Mappings and click Edit Feature Permissions.
Select OK and Click OK

Related

CFdirectory tag doesnot display files in a directory even if the files appear in the source folder

I am trying to read a spreadsheet from a shared location folder. using
<cfparam name="xlfilepath" type="string" default="\\file02\OP\!FILE STRUCTURES and FORMS\Agreements\Tracker.xls" />
<cfspreadsheet action="read" src="#xlfilepath#" excludeHeaderRow="true" query="MsaDataSheet1" sheet="1" />
"OP" is the shared folder.
I got "java.io.FileNotFoundException:".Then I try to display the directory listing using cfdirectory tag.
<cfdirectory action="list" directory="\\file02\OP\" recurse="false" name="myList">
<cfdump var="#myList#"><cfabort>
I see that there is no list displayed although there are subdirectories and folders and files in the OP directory.
Does the folder needs any specific permissions to be read by any application or any other mapping required?
Here I will explain by using cf16. The ColdFusion runs in Windows as a service and if we look into all the services of the machine we will find as follow:
Here, you can notice that for ColdFusion service the LogOnAs value is "LocalSyatem". It means ColdFusion service is started as "LocalSystem" login and this login doesn't have enough permission to do any operation on network. So, in order to make the required file operation in the Shared Directory we will have to change the LogOnAs value for ColdFusion service.
Please follow the below step to enable it,
Right Click on the ColdFusion Service then click on "properties".
Click on "Log On" tab. Then you will see a screen like this
Select "This account" radio button .Then click on "Browse" button
and select the user by which you want to start the service. You
should choose the user who have sufficient permission to create file
on the shared directory and also have required permission in local.
But we have to restart the ColdFusion Service for the changes to effect.
Let me know if this work to you or not. Or correct me if I'm wrong understood.

VS2012 not showing images uploaded by controller

I created a page for uploading images,it works good,but when I want to show that uploaded image in a view I can't.
My images are stored in Images/products/{product name}/
In view I wrote
#Foreach(var item in product.images){
<img src="~/images/products/{productname}/#item.name" />
}
//my name spell are correct
In debug src has correct value but doesn't show image,
But when I give an URL from content folder it shows that image,
Even in solution explorer. VS doesn't show uploaded images and created folders by controller codes,
you might need to add permission to Images/products{productName} folder.
Open IIS Manager
Click on the web site or application that serves the images
Click the "Basic Settings link on the right - take note of the App
Pool name and cancel that dialog.
Click on Application Pools in the server tree on left In the list of
app pools - note the identity for the app pool with the name you
noted in step 3
Now in Windows Explorer, you can right click the image folders,
choose properties, and click the click the security tab. Find the
user associated with the identity used by the app pool. If it's not
there then there's no permissions If it's there, click on it and
look in the permissions pane to make sure "Read" is checked (or write/modify or even full control if you need).
you will need to repeat the step if you add sub folder manually on the Images folder
It's a best practice to save image on Content file since it by default already have read access. or another way is you could save your file on App_Data or hosting the file on cloud (with time limit to show for better security).

Telerik rad async file upload control is working well locally but not in server

I am using RadAsyncUpload control from Telerik to upload a file on the server. It is working well locally (on localhost) but not in the server. What did I miss?
(When I select a file to upload the dot becomes red instead of green)
I had the same behavior and it was a folder permissions issue.
Another symptom in this case, Chrome DevTools console was showing the following error when I attempt to upload a file:
HTTP Error code is 500
There is a temp folder where RadAsyncUpload saves files temporarily. If you don't define the TemporaryFolder property on the RadAsyncUpload control, the default will be in your App_Data\RadUploadTemp folder. If IIS_USERS don't have write permissions to this folder, the upload can't save a file here. It will work on your localhost because you have write permissions to that folder. Here's how to give the permissions necessary.
Right click on the App_Data\RadUploadTemp folder on server and
select proprties
Select Security tab
Click "Edit..." button
Under "Group or user names:", select IIS_USERS
Under "Permissions for IIS_USERS", check Write in the Allow
column.
Note: This was IIS 7 on Windows 2008 R2 Server.
The dot could become red either when the allowed file extension validation failed or when the file size exceeds the allowed one.
You can attach to the OnClientValidationFailed and OnClientFileUploadFailed events and check what the exact error is and fix it.
The Troubleshooting article offers additional information about the different errors and how to solve them.

Restrict browsing an XML file using web.config

I have an application where I have an XML file which holds the connection string.
When hit the URL with the exact file name it opens the file in the browser that is natural.
Now I need to restrict this file browsing and I can not change that code to do any redirect or anything else.
What I have tried is using denyurlsequences in the security tag in the web.config but it restricts the application too to access the file and that makes the application stop working.
I am using .NET Framework 2.0
The ".xml" file extension is not supported by ASP.NET pipeline that is why you cannot add it to web.config and restrict it. What you can do is to copy the xml file in the "App_Data" folder of your application.
The purpose of this folder is to hide it files from browsers/users and also is build for this type of data.
To create "App_Data" folder if it already does not exist :
Right click on your project -> Add ASP.NET Folder -> App_Data
Or just add a folder and call it App_Data
I know its old question but this answer may be helpful for others.
I did below configurations on IIS 8.5 ( make sure Request Filtering is installed on IIS.)
Open IIS and click on your application virtual directory.
In features View, Click on Request Filtering and then go to Hidden Segments tab - this tab will contain list of hidden files or folders. (like web.config, APP_data folder etc...)
Add file or folder you want to hide from the browsing by click on add hidden segment and mention file/folder name you want to hide and test it.
In our application we have a master xml file stored in an application folder, to deny browsing this xml file I had added the folder name in hidden segments and it worked.

How to get URL of file on a different drive from the ASP.NET application?

I have a server with a C: drive and a D: drive. My ASP.NET application is on D: drive as follows:
D:\inetpub\vhosts\mywebsite.com
I want my application to read and download files located on C:\sessionVideos\
My problem is how do I create an URL pointing to the "C:\sessionVideos\" folder?
Thanks,
James
Assuming that you have direct access to the server, you would use the IIS Manager and right-click the site within which you want to create the URL, select 'New', and then click 'Virtual Directory'.
In the Virtual Directory Creation Wizard, click Next. In the Alias box, type a name for the url (ie: MyWebSite/Videos) and then click Next. In the Path box, type or browse to the 'C:\sessionVideos\' directory, and then click Next. Note that you can select an existing folder or create a new one to contain the content for the virtual directory. Select the check boxes for the access permissions that you want to assign to your users. Click Next and then click Finish.
Now the url http://MyWebSite/Videos will access 'C:\sessionVideos\'
Depends what you're looking to do exactly - you could create a virtual directory underneath your site that maps to the directory hence the folder will seamlessly slot in as if it was located in your application/sites directory.

Resources