Need help, first time + custom application

#1

I hope this isn’t too much for a question, but it’s one big chunk I have been given and I have no experience in these technologies.

Okay, so what’s that all about you will likely ask. I’ve been a Linux/LAMP developer for a very long time now and I just had a zip file thrown at me that I need to get the contents of up and running and after unzipping the files I find the following technologies:

  • MS SQL backup files (.bak), and
  • ColdFusion files (.cfm).

After finding the download link to ColdFusion broken I got the feeling with a little looking around that Lucee is taking over ColdFusion albeit probably unofficially.

So I started to install everything on my Linux computer and then found out the SQL server was MS and so scraped that and started to install everything on my Windows computer.

Of course there’s deadlines and I am dealing with all technologies I have never used before so I’m hoping I can describe where I am up to and some kind developers will walk me through the rest of the setup that I’m not figuring out easily.

Here’s where I am up to so far:

What I think I have left to do but perhaps someone with experience might tell me I have quite a lot left to do is:

  • Get some help on the two items left on the instructions I have been following (URL above)
  • Add credentials to the application so it can connect to the DB.
  • …and with a little luck that will be enough to get this archived website running.

I’m probably going to need help with exact file paths so here’s the file paths I have - I’ve put everything on my D: drive because I had nothing on it anyway:

D:\apache-tomcat-8.5.39
D:\Lucee
D:\cpop\cpop… (the application to run under lucee, more file structure detail below)

So starting with what “I know I don’t know” which I’m sure will lead to someone telling me what “I don’t know I don’t know” (I couldn’t resist)…

FIRST QUESTIONS - FROM THE INSTRUCTIONS:

In the instructions at: https://docs.lucee.org/guides/installing-lucee/windows/installing-and-configuring-lucee-jar-file-on-windows.html
I’m not sure what path to put for:

<init-param>
    <param-name>lucee-web-directory</param-name>
    <param-value>{web-root-directory}/WEB-INF/lucee/</param-value>
    <description>Lucee Web Directory (for Website-specific configurations, settings, and libraries)</description>
</init-param>

and can someone confirm that this line:

“C:\Program Files\Tomcat\bin\tomcat8.exe” //US//Tomcat8 ++JvmOptions="-javaagent:C:\Program Files\Lucee\lucee-inst.jar"

is something I type on the command line, not something to put in the D:\Tomcat…\conf\web.xml file.

Also, I presume that:

<init-param>
   <param-name>lucee-server-directory</param-name>
   <param-value>D:\Lucee</param-value>
   <description>Lucee Server configuration directory (for Server-wide configurations, settings, and libraries)</description>
</init-param>

is correct for my setup and that the rest of what they show I can just leave “as is”.

SECOND QUESTION:

The application itself doesn’t have that …/WEB-INF/ folder that I keep reading about (but perhaps that doesn’t apply to lucee, only tomcat?) and I have no idea where the ROOT directory is for the application although I would presume d:\cpop\cpop\POPCenterV2 but then I’m not sure what d:\cpop\cpop\hig & d:\cpop\ColdFusion… are.

It looks like new users can’t upload files so I’ll paste what I can of the directory tree below - two levels deep to start.

3RD & LAST QUESTION:

How do I find where to connect the application to the DB and how do I do that?

Directory Tree
tree -L 3 > tree.txt
.
├── ColdFusion
│   ├── frameworks
│   │   ├── coldspring
│   │   ├── fusebox5
│   │   ├── ModelGlue
│   │   └── transfer
│   └── popCenter.car
├── cpop
│   ├── hig
│   │   ├── _col.cfm
│   │   ├── _col2.cfm
│   │   ├── 04.cfm
│   │   ├── application.cfm
│   │   ├── aspnet_client
│   │   ├── Copy of p22.cfm
│   │   ├── default.cfm
│   │   ├── default.htm
│   │   ├── default-closed.cfm
│   │   ├── images
│   │   ├── includes
│   │   ├── informedConsent.cfm
│   │   ├── intro.cfm
│   │   ├── key
│   │   ├── p01.cfm
│   │   ├── p01a.cfm
│   │   ├── p01i.cfm
│   │   ├── p02.cfm
│   │   ├── p02a.cfm
│   │   ├── p02b.cfm
│   │   ├── p02i.cfm
│   │   ├── p03.cfm
│   │   ├── p03i.cfm
│   │   ├── p04.cfm
│   │   ├── p04i.cfm
│   │   ├── p05.cfm
│   │   ├── p05a.cfm
│   │   ├── p05b.cfm
│   │   ├── p05c.cfm
│   │   ├── p05d.cfm
│   │   ├── p05e.cfm
│   │   ├── p05f.cfm
│   │   ├── p05-float.cfm
│   │   ├── p05g.cfm
│   │   ├── p05i.cfm
│   │   ├── p05-table.cfm
│   │   ├── p06.cfm
│   │   ├── p06a.cfm
│   │   ├── p06b.cfm
│   │   ├── p06c.cfm
│   │   ├── p06d.cfm
│   │   ├── p06e.cfm
│   │   ├── p06f.cfm
│   │   ├── p06i.cfm
│   │   ├── p07.cfm
│   │   ├── p07i.cfm
│   │   ├── p08.cfm
│   │   ├── p08i.cfm
│   │   ├── p09.cfm
│   │   ├── p09i.cfm
│   │   ├── p10.cfm
│   │   ├── p10i.cfm
│   │   ├── p11.cfm
│   │   ├── p12.cfm
│   │   ├── p13.cfm
│   │   ├── p14.cfm
│   │   ├── p15.cfm
│   │   ├── p16.cfm
│   │   ├── p17.cfm
│   │   ├── p18.cfm
│   │   ├── p19.cfm
│   │   ├── p20.cfm
│   │   ├── p22.cfm
│   │   ├── p23.cfm
│   │   ├── p24.cfm
│   │   ├── p25.cfm
│   │   ├── p25b.cfm
│   │   ├── p26.cfm
│   │   ├── p27.cfm
│   │   ├── rpts
│   │   ├── styles
│   │   ├── survey.css
│   │   ├── test.cfm
│   │   ├── V2
│   │   ├── V3
│   │   └── web.config
│   └── POPCenterV2
│       ├── 25techniques
│       ├── about.cfm
│       ├── App_Data
│       ├── apple-touch-icon.png
│       ├── application.cfc
│       ├── aspnet_client
│       ├── award_application
│       ├── Backup
│       ├── bios.cfm
│       ├── conference
│       ├── contact.cfm
│       ├── contact-new.cfm
│       ├── contacts
│       ├── css
│       ├── custom_tags
│       ├── error
│       ├── favicon.ico
│       ├── ga
│       ├── glossary.cfm
│       ├── goldstein_info.cfm
│       ├── guides.cfm
│       ├── images
│       ├── images_raw_files
│       ├── index.cfm
│       ├── index-2014.cfm
│       ├── js
│       ├── learning
│       ├── library
│       ├── new.cfm
│       ├── newsletters.cfm
│       ├── privacy.cfm
│       ├── problem.cfm
│       ├── problem-kindle.cfm
│       ├── problems
│       ├── references.cfm
│       ├── response.cfm
│       ├── response-kindle.cfm
│       ├── responses
│       ├── robots.txt
│       ├── rss
│       ├── search.cfm
│       ├── sqlbackupjobcheck.asp
│       ├── template.cfm
│       ├── test.html
│       ├── test2.html
│       ├── tool.cfm
│       ├── tool-kindle.cfm
│       ├── tools
│       ├── translatedisclaimer.cfm
│       ├── udfs
│       ├── version.cfm
│       ├── web.config
│       ├── web.config.worse
│       ├── web.config-bs
│       └── xml
1 Like

#2

Do you need this setup for internet/intranet access? Or is this just for you to get running for now?

It seems to use Fusebox and Coldspring which are pretty old. Since you are new to ColdFusion, I would try to stick with regular ColdFusion for better backwards compatibility.

You could also run CommandBox to get up and running quickly.

If you want Lucee, I would use the installer. It handles everything. Once Lucee or ColdFusion is running it will create the WEB-INF directory.

0 Likes

#3

Hi, first be welcome!!!

The instructions you’ve read are instructions on how to install lucee from scratch. That can be pretty challanging, especially if your new to this technology. My advice: It is MUCH easier to run/try lucee using command box ( https://www.ortussolutions.com/products/commandbox ), or the express version. By doing this, you’ll have Lucee running extremly quick, with very little configuration.

The final configuration you’ll need depends very much on what you really want to do. It will also depend on the application code given to you. And more important: a web application going live into production has very different needs than setting up a development environment for learning/testing and playing around with your application files. For what you want, I would try a quick development environment to learn and “try and error” first.

Your application folder (that you received in your ZIPfile) won’t have the WEB-INF folder, unless you already run your application with lucee before. Cause: This folder is created by lucee when your application runs on lucee for the first time. It contains all the files and java classes created by Lucee with reference to your application files
(.cfm/.cfc files). See it somehow as a folder with “compiled lucee files” in order to make your web application runnable with lucee. By default lucee will create the WEB-INF folder inside your applications folder, unless you configure Lucee to do it differently.

My advice is, run lucee with command box or the express version first, just to understand a little how Lucee works. Play with it!!! Then you will also be able to connect to the server administration by opening lucees site administration url with your browser. In that admistrator site you’ll be able to create connections for your MS-SQL database. But also you’ll be able to configure a lot more. And: Why not simply copy your cfm/cfc files into lucees webroot folder, just to see what happens?

0 Likes

#4

No. I just need to show what the website looks like for now, I can do that from my laptop and screen sharing so no need to be publicly on the internet.

0 Likes

#5

Okay, I certainly want to do things the quick and easy way for now so I’ll use command box.

Thanks to both of you for that tip!

It seems to use Fusebox and Coldspring which are pretty old. Since you are new to ColdFusion, I would try to stick with regular ColdFusion for better backwards compatibility.

I can’t even get ColdFusion so hopefully command box will do the trick. If in the end it works and is pretty close but not a perfect reproduction, that would be acceptable as well so if some old technology doesn’t work but it doesn’t mess up the page so much, that would probably be acceptable.

0 Likes

#6

That certainly couldn’t be easier, go to the directory and type “server start”.

So I went to the directory D:\cpop\cpop\POPCenterV2\ and started the server and got:

http://127.0.0.1:49877/error/.

Does anyone have any idea of what I should do next? Perhaps now it’s time to setup the DB credentials? Anyone know how I should go about finding where/how to do that?

0 Likes

#7

Commandbox will by default to use Lucee. You can pass it the cfengine=… command on start to change to Adobe ColdFusion engines if needed.

0 Likes

#8

I tried several versions of CF and finally the 2018 version would run.

Once it ran I came across the same message:

http://127.0.0.1:49877/error/
Forbidden

Does anyone know the most likely reason for this message? My guess is that I need to figure out how to connect the DB which I’m hoping someone can give a clue about but I’ll start looking into it now.

0 Likes

#9

You need to load the Admin interface. If you are running in Windows, Commandbox will pop up an icon in the tray. You can right click and select the Admin page. You then need to setup a MS SQL datasource to your DB server. The name of the dataource is probably in the code. Look for a cfquery tag or in the application.cfc or application.cfm file.

0 Likes

#10

Awesome, thanks, I’ll try that.

I found some more out since my last post, there’s a file at D:\ColdFusion\popCenter.car that some sort of an archive I’ve not seen before and I was able to expand and in that file I found the DB strings. Also the file expanded showed that this site was written with ColdFusion 10.

0 Likes

#11

Glad you are making progress. Never heard about that .car files.

Quote; " The Assets.car seems to be a proprietary Apple’s archive that first appeared in iOS 7. A few utilities are able to extract its contents using the private class CUICatalog of the CoreUI framework"

See: https://stackoverflow.com/questions/22630418/analysing-assets-car-file-in-ios

0 Likes

#12

CAR files are ColdFusion Archives, a feature of Adobe ColdFusion;
https://helpx.adobe.com/coldfusion/configuring-administering/deploying-coldfusion-applications.html

Typically it’s an archive of your server settings plus the application itself, so it can contain useful settings but isn’t really viable for importing directly into Lucee. An intermediate like CFConfig might help for some server settings if you are able to import the CAR into an ACF server first, or you can manually pick out the parts that are needed.

1 Like

#13

Yeah, that file has a huge number of settings but I was able to glean the DB logins out of it.

Now I have a connection issue. On the command line I can log into a DB with:

sqlcmd -S GLUON -d 60steps -U 60steps -P cpop
(pls ignore the very simple password, it’s just while I get this all going)

However when I put these details into the CF administrator (http://127.0.0.1:49877/CFIDE/administrator/index.cfm?target=/CFIDE/administrator/datasources/index.cfm) I get a connection error:

Connection verification failed for data source: 60steps
java.sql.SQLNonTransientConnectionException: [Macromedia][SQLServer JDBC Driver]Error establishing socket to host and port: GLUON:1433. Reason: Connection refused: connect
The root cause was that: java.sql.SQLNonTransientConnectionException: [Macromedia][SQLServer JDBC Driver]Error establishing socket to host and port: GLUON:1433. Reason: Connection refused: connect

I disabled my firewall so I know that’s not an issue.

Does anyone know what might be the cause?

Here’s the settings I used:

0 Likes

#14

Could you please check your username & password. I think that was wrong with you. You’ve to enter the username & password that was the given to the sql server like

image

Or make sure the status of SQL server from the services whether it’s in running stage or not

0 Likes

#15

When i stop the SQL server from the services, Then i got same error as like as you,

Connection verification failed for data source: forumtest
java.sql.SQLNonTransientConnectionException: [Macromedia][SQLServer JDBC Driver]Error establishing socket to host and port: localhost:1433. Reason: Connection refused: connect
The root cause was that: java.sql.SQLNonTransientConnectionException: [Macromedia][SQLServer JDBC Driver]Error establishing socket to host and port: localhost:1433. Reason: Connection refused: connect
0 Likes

#16

Sql only listens on 1433 if you tell it to. If you’re running sql express it wont even listen on a tcp port unless you tell it to.

Sqlcmd is likely looking up the instance, using sql browser to resolve the dynamic port and connecting that way.

https://support.microsoft.com/en-us/help/823938/how-to-configure-sql-server-to-listen-on-a-specific-port

1 Like

#17

So I fixed that (found how to enable tcp connections) …starting to get a little understanding of MS SQL and then I added the DB connections to http://127.0.0.1:49877/CFIDE/administrator/index.cfm.

These connections have the same details (password, name etc.) as the original software so hopefully that helps some.

I’m guessing there’s one more step to make the software know how to connect since I’m still getting that http://127.0.0.1:49877/error/ which while the DB is certainly an issue until it’s connected there’s always a chance it’s something else as well. But… one thing at time I guess so can some give me a hint as to what the last step might be to make the software know about these connections added to the container?

0 Likes

#18

So the Datasource verifies OK now in the Administrator?
What SQL Server version are you using?
You put the correct port number in Administrator?

Is there any error message output?

0 Likes

#19

Correct, there is no error anymore and the connection verify says “OK”.

Given that I have only installed the latest of technologies for this a couple of weeks ago you can for the most part assume I’m using latest stable software of all the components. The MSSQL install file is SQLServer2017-SSEI-Eval.exe.

If you look at the Directory Tree of the original post you will see there was a file /ColdFusion/popCenter.car.

I suspect that the person who archived this website just archived anything to do with ColdFusion under /ColdFusion and that anything under this directory is just sitting there and not being referenced by the app. so the popCenter.car is probably not being used to get settings, the /ColdFusion/frameworks dir. is probably not being seen and so on.

Also, when I unzipped the popCenter.car file it became clear that this was running on CF 10. My commandbox seems to only start with lucee or the latest CF, earlier versions of CF fail to start.

Given this I am wondering if this is more of chore than I want to take on not being a seasoned CF person, and for that matter, mostly a Linux guy these days.

I could go back to the people who want this and give them extracted DBs for another direction rather than try and get this site running.

I mention this so you have some context when I ask, do you think I should keep trying to get this site running or do you think there’s going to be a whole bunch more steps that may not even pan out?

I personally would like to get to the point that I know the DB is being queried by the app just to see if it works with that much but if that’s just a small milestone in a bigger picture then perhaps it’s time to change tact.

0 Likes

#20

Kabutotx already asked an important point: Did you look/check for any error logs caused inside your application? Does the error show any output, e.g. more detailed informations?

0 Likes