ID:268885
 
As you can see here, my server returns an Internal Server Error when it attempts to execute my DMCGI application.

I don't know why.

world/executor is set to "/home/jozefboer/byond/bin/DreamDaemon -CGI -trusted -logself" and I *am* returning a page. [usr<<browse("Hello world!")]
The test.dmb file has been chmodded to 777 (don't say 777 is wrong, 777 allows *anybody* access to it).
The only result I could come up with is because the /home directory cannot be accessed by anyone. What I mean by that is that it can't be read ("dir /home" won't work).

So... what's wrong?
755 is a safer CHMOD.

First, make sure you have Dantom.CGI included in your project.

If so, run the command
"./test.dmb" in your shell and see if it gives you any errors. (Make sure you "cd" to the directory "test.dmb" is in)

Also, you need Apache configured to read .dmb as a CGI-Script. If you don't have root access to your system DMCGI isn't possible, only hosting/compiling stuff is possible with non-superuser accounts in Linux.
In response to Nadrew
In my control panel I've changed cgi-script to say .cgi .pl .dmb
In response to Nadrew
Nadrew wrote:
755 is a safer CHMOD.

On top of that, some webservers REFUSE to execute improperly chmodded CGI (.dmb in this case) files. If groups or anybody has write access to the dmb or the folder the dmb is in, or possibly even the folder that contains the folder that the dmb is in, and so on, you could get an error like that.
In response to Nadrew
Okay. I've got root access, and I'm on a FreeBSD server at the moment.
Now it sits there and gives me an ugly 500 - Internal Server Error message.

Why? I mean, the location of the DreamDaemon application is /usr/local/byond/bin/DreamDaemon, and this is all I have:

#include <dantom/cgi/CGI.dme>
CGI
Topic(href,href_list[])
usr<<browse("Hello world!")


The "./index.dmb" command returns:

Expires: 5
Content-type: text/html

Hello world!
In response to Phoenix Man
How is index.dmb chmodded? How is the folder that it's in chmodded? Is the freebsd server set up to treat dmb files as cgi properly?
In response to Jon88
index.dmb : 777
cgi-bin : 777

Apache IS configured to run it.
./index.dmb works and gives me the correct data.
BYOND is installed server-wide at /usr/local/byond
The OS is FreeBSD.

The BYOND software works. Now I need to find out why,

1. DMCGI doesn't work and returns 500 - Internal Server Error.
2. My site seems to be "switching" from place to place. [Old location to new location and vice versa. Yes, I moved]
In response to Phoenix Man
Phoenix Man wrote:
index.dmb : 777
cgi-bin : 777

Apache IS configured to run it.
./index.dmb works and gives me the correct data.
BYOND is installed server-wide at /usr/local/byond
The OS is FreeBSD.

The BYOND software works. Now I need to find out why,

1. DMCGI doesn't work and returns 500 - Internal Server Error.
2. My site seems to be "switching" from place to place. [Old location to new location and vice versa. Yes, I moved]

Ow. 777. Change them both to 755. Apache might be configured to be secure in regards to cgi programs. Anyone being able to write to executable code, or the directory the code is in, is a bad thing.
In response to Jon88
Done. It doesn't seem to work.
In response to Phoenix Man
DreamDaemon /home/jozefboer.nl/byond/CC.dmb 2000 -trusted -logself
/usr/libexec/ld-elf.so.1: Shared object "libbyond.so" not found
cd /usr/local/byond/bin
cp libbyond.so /usr/lib
cp: /usr/lib/libbyond.so: Read-only file system


?
In response to Phoenix Man
Okay now. DMCGI doesn't work...again.

Now it executes everything fine and dandy.....except for DMCGI.

Why won't it run DMCGI?!
In response to Phoenix Man
You know, there's this nifty feature called the EDIT button.

[edit]
In response to Airjoe
I supposed I could've used that, but I'm desperate.
Aww c'mon! It won't work! For no reason!
In response to Phoenix Man
Ah! I've found out PHP doesn't work too.
This makes it that no applications whatsoever are ever executed.

I'd like to know how this has been caused, why it has been caused, etc.... hhmmm.
Phoenix Man wrote:
As you can see here, my server returns an Internal Server Error when it attempts to execute my DMCGI application.

I don't know why.

world/executor is set to "/home/jozefboer/byond/bin/DreamDaemon -CGI -trusted -logself" and I *am* returning a page. [usr<<browse("Hello world!")]
The test.dmb file has been chmodded to 777 (don't say 777 is wrong, 777 allows *anybody* access to it).
The only result I could come up with is because the /home directory cannot be accessed by anyone. What I mean by that is that it can't be read ("dir /home" won't work).

So... what's wrong?

<del>Fixed.</del> Not fixed.

All CGI applications seem to run, except for DMCGI!

It gives me an Internal Server Error.
I'm using Dantom.CGI and BYOND is in /usr/local/byond.
I've set world/executor to "/usr/local/bin/DreamDaemon -CGI -trusted -logself" instead of "/usr/local/byond/bin/DreamDaemon -CGI -trusted -logself" but that didn't seem to have any effect.
In response to Phoenix Man
You have to make sure you have "Option ExecCGI" somewhere in your httpd.conf file, search it for "Option" and you'll find the current set, just add "ExecCGI" to it, or change it to "Option All".
In response to Nadrew
No ExecCGI configuration is needed.

Why not?! Simple: my .cgi and .pl applications work. It's the .dmb applications that don't. I can't seem to figure out why it won't work.
And yes: AddHandler cgi-script .cgi .pl .dmb

:|