Creating Virtual Directory on IIS for Coldfusion Lucee - iis

I am trying to Move my Website on a local directory from Adobe Coldfusion to Lucee.
I was able to Install Lucee with the Windows Installer.
IIS is working fine.
When i Create a Virtual Directory from IIS to Map a Physical Path (C:/Website) outside the inetpub root folder (FOR IIS) or outside the Tomcat/webapps/ROOT folder (for Lucee), IIS doesn't load that physical folder. Instead it loads the inetpub root folder and i can't access files from the Physical Path Directory.
I am using //localhost/{The Alias} to call the Website but saying file not not found.
Obviously because it's calling from Inetpub file Directory, not the Physical path.
Are there any special configurations i need to make?
I have searched online and no post could help.
Note that i am using different computers.
Kindly Assist.

mod_cfml (the adapter that is used with Lucee/IIS along with the BonCode Connector) does not currently support virtual directories. You will need to configure those manually in the Tomcat context config, like so:
<Host name="lucee.org" appBase="/home/lucee/public_html">
<Context path="/vdir/" docBase="/home/other_user/public_html/some_other_directory/" />
<Alias>www.lucee.org</Alias>
</Host>

Related

IIS Map Network Drive to Virtual Directory

I'm working on setting up a Drupal 8 Site on IIS. On Linux, we commonly have a network share that all Load Balanced Nodes can access, and then a symlink to connect the directory /sites/default/files to that share. I need the same for IIS.
Things that didn't work:
1) Virtual Directory in IIS: We authenticated with a user on the AD, and we were able to load all files (i.e. the images on the site appear). However for some reason, Drupal couldn't see it and also created a folder "files" in the same directory, through the front end and IMCE I can only write to that folder and not the Virtual Directory. If someone knows a resolution here that would be helpful.
2) Regular Shortcut: Same problem as above. Drupal doesn't see the shortcut since it's actually named files.lnk when created through the file browser. It creates another folder ./files and refers to that instead of the shortcut.
3) Hard Links: I tried running this command `cmd /c mklink /J D:\inetpub\wwwroot\\web\sites\default\files "\\Public Files\files" and it simply stated "Local Volumes are required to complete this operation"
4) Soft Links: Changing up the switch on the previous command to cmd /c mklink /d D:\inetpub\wwwroot\<site_dir>\web\sites\default\files "\\<share>\Public Files\files" works, but I'm only getting HTTP 401 errors in Chrome, even though I've allowed the Local Group IIS_IUSRS to have full control, plus opening it up to almost every user.

CF 11. 'ColdFusion is not defined' error using ColdFusion.Ajax.submitForm

Just re-installed everything on new laptop after old one crashed. Upgraded from CF9 to CF11 in the process. Running IIS on Windows 10. Local site is working fine, except when it comes to submitting a form with ajax.
ColdFusion.Ajax.submitForm('registerForm', '/register_action.cfm', callback,errorHandler);
I have <cfajaximport> at the top.
I have an IIS virtual CFIDE directory
pointing to C:\ColdFusion2016\cfusion\wwwroot\CFIDE
Mapping in CFAdmin is correct
There was not issue with CF9. But I notice CF11 has its scripts directory OUTSIDE the CFIDE directory on the same level (directory named "cf_scripts"), whereas CF9 has the scripts INSIDE the CFIDE directory.
Before I stuff things up, has anyone any pointers in the right direction?
SOLUTION
For the benefit of others, I did the following:
CFAdministrator Default ScriptSrc directory: /CF_SCRIPTS
IIS Virtual Directory: CF_SCRIPTS pointing to C:\ColdFusion2016\cfusion\wwwroot\cf_scripts\scripts\
Create a virtual directory in IIS that points to that scripts folder.
In the ColdFusion administrator, under the Server > Settings tab, make sure the Default ScriptSrc Directory name matches the IIS virtual directory name you created.

Symlink created with mklink not working with IIS7.5 -- Windows 7

So while in my IIS root directory (c:\inetpub\wwwroot) I've created a symlink to a network drive using:
mdlink /D truthuniversal "U:\Truth Universal Full Site\public"
The symlink was created just fine, and if I issue the cd truthuniversal command, while in the IIS root dir, I do indeed end up in the "U:\Truth Universal Full Site\public" directory area.
My problem is that when I type:
http://localhost/truthuniversal
in my browser's address bar IIS does not serve the index page which resides in the public directory. Instead, I get the following error:
Server Error in Application "DEFAULT WEB SITE"
Internet Information Services 7.5
Error Summary
HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
Please advise.
-TU
You need to create a virtual directory mapping to that directory in IIS in order for it to serve up the page. In IIS, right click on "Default Website", then click "Add Virtual Directory". Also, doing this, there is no reason why you even need the symlink. Just map it to the target to begin with.
I agree that virtual directory in IIS may be what you want, but if you want to minimize IIS maintenance, consider this:
Instead of directory symbolic link: mklink /D
try directory junction: mklink /J
This worked for me and the web apps are able to write to the same directory.
mklink /J App_Data d:\shared\App_Data
worked for me on Windows Server 2008 R2.

Tomcat Configure To Serve Static Files is not working

I have linux machine, on which I have deployed my project. I have some static content which I have placed at /var/grt_dynamic_images on physical harddisk on linux. I am using it as /EchlonSurvey/images/dynamic/images. It is working fine on windows but not on linux.
Here is the server.xml file snapshot, where I am doing this configuration.
<Context docBase="/var/grt_dynamic_images" path="/EchelonSurvey/images/dynamic_images" />
<Context docBase="/var/grt_dynamic_images/category_images" path="/EchelonSurvey/images/dynamic_images/cat_images" />
<Context docBase="/var/grt_dynamic_images/profile_images" path="/EchelonSurvey/images/dynamic_images/prof_images" />
In webpage, I get 404 error. The path is same but the image are not coming from docBase. I have checked, there are all image which I need.
http://.../EchelonSurvey/images/dynamic_images/cat_images/277152_9449%20sml.png
image not available
one suggestion. if you have a ROOT webapp, you can create a symbolic link within it and point to the folder you want to serve. so something like
/tomcat/webapps/ROOT: ln -s /var/grt_dynamic_images /EchelonSurvey/images/dynamic_images
when i do this, it 'works' but only if i am specifying an actual resource on the url, like a .png file. i still get 404's if i just stop the url at a folder level. i'm sure there's some Tomcat setting for displaying a folder listing but haven't looked into it.

IIS7.5 Application is using web.config in the root directory instead of its own!

Note: I did not setup a virtual directory its a Application!
Here is the structure
Hard drive folders:
-IISRoot
-Webpage
Test.aspx
web.config
-WebService
-Bin
Service.svc
web.config
IIS is setup the following way:
-WebSite (Mapping against ISSRoot\Webpage)
-Service ((Application) mapping against IISRoot\WebService)
Now when i try to run the Service.svc i get a error that a httpHandler was not found ("Could not load type 'Jympa.Nu.FileRequestHandler'")...
Now if i look in the web.config in the root there is a line adding this but the web.config in the webservice is not..
So why is IIS using the wrong web.config?
Edit:
If i remove the web.config in the
Webpage folder the service works but
the webpage stops to work..
I found a solution i changed the pipeline mode on the application pool to Integrated.

Resources