I am new in programming with Xojo and I am originally from VB.NET.
I would like to install my first little WebApp on my web server. After I was able to solve a number of problems with my hoster I stand before following problem and hope you can help:
I have downloaded the files via FTP (ASCII) on my web server. When calling, the app is basically assumed but then it breaks off and the following error message appears:
[quote]Gateway Time-out
The gateway did not receive a timely response from the upstream server or application.
Apache Server at www.c-doit.de Port 80[/quote]
My hoster says the following about this:
[quote]The script is terminated after a timeout.
The log appears to the error:
“Script timed out before returning headers: collectboard.cgi”[/quote]
So the script just breaks down - what can I do? The WebApp itself is not rocket science, some button labels and rectangles, barely code.
What were the problems? Is this a private VPS or shared hosting?
It sounds like this is a Linux based server, correct? 32 or 64 bit? Did you compile the wep app as a Linux app (versus an OS X app)?
Did you upload the hidden .htaccess file, and is Apache configured to honor the .htaccess file? Alternatively, is Apache configured to allow cgi execution in the subfolder?
I have set up a absolutly new Webserver (Apache2) with all cgi permissions and other. Now I have the case, that the page is loading, and loading, and loading…
I do not allow to abort after time out, so the page is loading untill it’s ready.
With all due respect, if you’ve never successfully deployed a Xojo web app, how do you know it’s not the server? Just because the server can successfully host a normal web page, or even a non-Xojo web app, it doesn’t necessarily mean that it can host a Xojo app. Now, you may be correct that it’s not the server, but without a lot more details (like what I asked for), we can’t just take your word. Successfully deploying a Xojo web app can be very complicated. That’s one of the driving reasons that Xojo is rolling out their own hosting service - they know that deploying web apps is complicated and that many developers will struggle with it. I struggled for a couple of weeks before getting my first one working.
To isolate the problem, try creating a new web project that has nothing but a weblabel on a page. That is guaranteed to work on any properly configured server with a proper deployment. If that doesn’t work, then we know the problem is either the configuration of the server components, or the deployment method. Then we can work from there.
Yes Jay, you are right. I am a newby. I thought if I follow all the instructions I get (from xojo and from here, it is going to work.
I also thought, that it’s not so tricky as it is.
So here some answers, I hope you’ll help me.
I’ve got both. One shared at c-doit.de and a private server (also at a hosting-service, but I can do all basic things by my self).
First error was due on missing permissions (755). Second was, that I compiled the with a wrong port (right is 80, first I had 8080).
An the third Error is the time-out, where I am hanging yet.
Yop, Ubuntu 10.04 with an Apache 2 on 32 bit.
Yop!
Yes to all. there is one .htaccess file in the directory. Apache should be configured to honor (on other pages it works correctly).
I asked my hoster, an he say “yes”. On my “own” server I changed the cgi permissions manually.
I don’t think that port 80 is the one you should use. It’s used by apache.
Set the port to something higher and try again. The port is used for communication between the CGI script and your app if I’m not mistaken so if your app uses port 80 it will crash right into apache.
[quote=36327:@Lars Lehmann]Hi Albin,
my hoster say:
Is this true? Which Port do you user?
Edit:
I asked my hoster, how other Ports are available: only port 443 for SSL. Other ports, the Webserver do not listen.[/quote]
That true, Apache should run on port 80 but your web app should not. The port used by your web app does not need to be open in the firewall as it’s only used for local communication on the server itself between the cgi script(run by apache) and the app. If your FW complains that would be strange.
I believe the web app port is not used by app. built for CGI, only for stand-alone builds.
Not sure if you mentioned if you have set this earlier, but deployment type under build settings should be CGI.
Yea that might need some improvement
“specify a port when accessing” means that in a CGI build you don’t need to specify the port in the url like example.com:8080 like you would in a stand alone build