Just installed new xojo and testing an a webapp. I have had this problem before and was unresolved. I was hoping new version might have fixed this.
I have a webapp running successfully on centos VPS. It will only run in the owner’s cgi-bin account. Any other user account I get failures in the server app executing - permission denied. This is not filesystem permissions and the error can be traced to the line of perl script (326):
my @args = ("$app_path","--port=$port");
system(@args) == 0 or return 0;
Does anyone know any other permissions that need to be set and how I could go about setting these. For example, is the a permission required for a user account to be able to start a server process that opens up a port?
Any help appreciated as it is very limiting having webapps only run from the one user account.
Permission problems like this can’t be solved by Xojo as they are specific to the servers that your apps run on.
App, Libs (and contents), .cgi all need to be readable, writable and executable.
.cfg needs to be at readable and writable.
Which users need this access depends on your server.
I manage some websites on one Virtual Private Server. Each Website is shared IP hosted and I can assign individual users as admins for each site.
Now, when I copy a webapp into the cgi-bin of such a site, as ROOT, then the application cannot be started, because then root is assigned as owner.
But when one logs in with the user account and copies the files, then all files receive automatically the correct permissions and owner.
Then the only one file which I have to manually assign higher permissions is config.cfg
(note: 777 is not necessary; As Greg mentioned: readable and writable is sufficient).
On OSX I’m using Transmit to copy files to the webserver and to set permissions.
Greg and Oliver,
Really appreciate your help. I checked all permissions and even bulked changed them all - I even tried changing to my owner account. I will have to contact my VPS hosting to see if there is a shell, perl, or system permission preventing this cgi from running.
You might want to check the server error logs to see what errors it’s showing (if any).
The small list of things to check:
32 bit libraries (on Linux)
File Permissions on all files including the parent folder
Group/Owner settings on all files including the parent folder
The other thing that I do is log any unhandled exceptions in the app/session objects. Sometimes it’s your code and it’s quitting immediately.
Problem resolved !!!
All thanks to Albert at Netlogisitics (Level 2 support at my VPS hosting provider). Sometimes is takes a separate pair of eyes to see the obvious. I was ignoring the requirement to keep the AppId unique per server. This is in the build settings and is separate to the linux name.
I will be forwarding this as a bug as the server should be able to tell you that there is already an instance running on the server.
This was clearly a case of having a multiple problems causing the same result and many repeated walks around the roundabout. Having no error messages does not help. Mind you, I do love solving these sorts of problems - quite rewarding (sometimes).
Thanks all for your contributions.
PS. I have created a new case in feedback. Please add to your favorites if you agree with the request. <https://xojo.com/issue/27195>
Actually, it can tell. We use a mutex to prevent the second instance from running.