Deployment - Getting Discouraged

The “high price” part is debatable. In fact, if you factor in your precious time wasted fighting abstruse Linux configurations, Xojo Cloud is a steal.

Before ServerWarp and Xojo Cloud, developers had to contend with Linux in all it’s glory and horror. I know, I was there. When 1701 came along, it felt like a divine light descending upon us poor developers. I never looked back. Even the motions that ServerWarp required to be, were nothing as compared to the dark ages of trial and error.

Xojo Cloud is truly a turn key ready environment which requires very little knowledge of the underlying mumbo jumbo. For anyone who started with Desktop and wants a no headaches platform, it is superb.

My job is not to be sysadmin. It is to create applications that run right away. I refuse to deal with countless dependencies and cryptic error messages.

1 Like

Isn’t there a way to get something on Julia’s company server to point to her Xojo CGI app running on ServerWarp or Xojo Cloud? This way the app works as though it’s running on her company server, without the headache of making sure her company server is always up to date with stuff that a Xojo CGI app needs.

For me, I can’t imagine running such an app on my own server. I would always use a Xojo-aware managed server like ServerWarp or Xojo Cloud. Too much to monitor, otherwise.

We run standalone Web apps in Docker containers on AWS. It works great but can be a LOT of work to set up - I mean heaps - compared with Xojo Cloud. But you can get liniar scalability and can plug into AWS entire ecosystem. A Xojo Cloud in the AWS world is like what they call “serverless computing” and it costs more in cash because you don’t deal with any servers. That saves heaps in labour costs for smaller workloads, assuming the dev even has the expertise to run server infrastructures to start with. With AWS its billed by usage and does not support Xojo directly but with Xojo’s a fix cost with native support. Ultimately the choice for a managed service like Xojo Cloud boils down to whether or not one sees systems engineering/admin as part of your competative advatage / core business activity which in the end is often a question of scale. But as for CGI-anything, personally speaking I don’t like the architecture because there’s too much going on beyond one’s control just as Juia’s trials attest - that’s not Xojo’s fault of course.

I’m very happy with Phillip Zedalis and ServerWarp. There’s a cgi-bin folder where I put my compiled .cgi app, and it just works. The only problem I’ve had is that the version of MySQL that they use is different from my previous web host, and I’ve had to make some changes accordingly. Contact Phillip and see what he can offer.

I’ve written various CGI apps (although never in Xojo) and deployment on a Linux server has always been as simple as dropping the executable in the cgi-bin folder. Job done. And that’s been the same no matter the host - 4UH, 1and1 or Lighttpd on my own Ubuntu server.

The only time I’ve ever had a hiccup was I once compiled a CGI as 32bit in error so it wouldn’t run on the server which I guess only had 64bit libraries.

Any possibility that could be your problem?

FWIW, I’ve never had an issue getting Xojo Web stand alone running on Windows. CGI can require some Apache configuration for performance, but nothing like the nightmare that is Linux VPS configuration over a command line.

It looks like the cheapest Windows VPS solutions are about twice the cost of the cheapest Linux solutions? But you also have GUI remote access and easy management when something goes wrong or when there are upgrades. It seems worth it, and that’s coming from someone who really doesn’t like Microsoft.

The Linux community would be doing the world a favor to settle on a few distros and common configuration options managed via a GUI.

[quote=423876:@Daniel Taylor]FWIW, I’ve never had an issue getting Xojo Web stand alone running on Windows. CGI can require some Apache configuration for performance, but nothing like the nightmare that is Linux VPS configuration over a command line.

It looks like the cheapest Windows VPS solutions are about twice the cost of the cheapest Linux solutions? But you also have GUI remote access and easy management when something goes wrong or when there are upgrades. It seems worth it, and that’s coming from someone who really doesn’t like Microsoft.

The Linux community would be doing the world a favor to settle on a few distros and common configuration options managed via a GUI.[/quote]

Once we overcome the “Linux-is-complicated” mental block of the typical Windows user (as I had and was), then you quickly google on how to setup Webmin or Virtualmin on your linux vps. No witchcraft at all, and from that webinterface you manage everything necessary. No need to overload your server with a GUI.

Just make sure you don’t forget to do regular security/system updates. That’s the number one failing of novice VPSs that I see today. People set them up and think they’re good to go forever, but servers are more like cars in that they need constant maintenance to keep running smoothly. Just for the record, WebMin and VirtualMin still require you to know some of the underlying concepts about how servers work. Been there, done that, got the t-shirt.

FWIW, that’s part of what you get with a managed service like Xojo Cloud. Regular system updates as well as critical security updates are all done for you. System config is also done for you, like the libunwind dependency which was pre-installed on XC before 2018r1 shipped.

I realize that when you are starting out that XC can seem expensive, but go ahead and spend some time managing your own server or VPS when you should be doing other things like writing code or running your business and I think you’ll find that it really isn’t that expensive at all. Unfortunately the time when people usually figure this out is when something really bad (like a server breach) happens because it can take weeks to recover from those things and paying for help when you’re in trouble is hardly ever inexpensive.

Is there anything wrong with solving the libunwind dependency problem this way:

https://forum.xojo.com/52152-web-app-and-2018r4

Sounds to me like that will work on a GoDaddy server, where the user lacks control over that on the server end. The developer simply makes sure those libraries get copied to the Libs folder at compile time.

[quote=423985:@Ralph Alvy]Is there anything wrong with solving the libunwind dependency problem this way:

https://forum.xojo.com/52152-web-app-and-2018r4

Sounds to me like that will work on a GoDaddy server, where the user lacks control over that on the server end. The developer simply makes sure those libraries get copied to the Libs folder at compile time.[/quote]
The only issues I see are that you’ll have to:

  • Find a library that matches and is compatible with the distro
  • Find a version which is compatible with the OS version
  • Most importantly, making sure that you keep that library up to date. A system update could suddenly make your app stop working if any of the libunwind dependencies change.

This is sorta like intentionally creating the Windows dll-hell phenomenon.

[quote=423811:@Greg O’Lone]We are not trying to hide anything. The reality is just that there are too many configuration options to document them all. I did a quick scan back through the thread and most of your specs simply as that they are hosting with GoDaddy. I should have asked earlier in the conversation because GoDaddy not only offers several different flavors of Linux, but Windows hosting as well.

FWIW, The issue you are running into is documented on the System Requirements page in the Linux section.[/quote]
The fun continues. Here’s the latest from the hosting people:

“The server is running glibc 2.12, not 2.14. You will need to have a cgi script that supports glibc 2.12.”

Where do the Xojo docs enumerate the libraries and versions thereof that are needed to support a Xojo CGI app? I find it hard to believe that “there are too many options” for the smart people at Xojo not to be able to list them all. Surely you know exactly what libraries are required. Surely you know exactly how permissions need to be set. It would so nice if I could email the hosting people with a complete list and say “Here is what I need” instead of “Try it now and see what error you get”.

[quote=423815:@]Have you asked the client for a list of installed libraries, os version etc to replicate the setup?
Have you tried all this in a linux VM yet, locally so you can actually see if your code works on the target platform?
Have you tried building a binary and asking them to ldd or objdump the file to see if dependencies are missing?[/quote]
I don’t think that’s how the process should work. I should be able to tell the hosting service “Here is a list of what my app needs, please configure the server accordingly.” Xojo’s position is akin to being sold a box of unlabeled cake ingredients for $299 and told “There are too many ways to combine them for us to tell you how to make the cake. You can ask the manufacturer of your oven for advice, but really, why trouble yourself when we will send a Xojo chef to bake it for you for another $400.”

Looking at http://developer.xojo.com/system-requirements are you compiling it as 64bit ? If you are, and you dont mind, try it as 32bit as that apparently needs a lower version of glib which might work on the host.

I think Greg already mentioned http://developer.xojo.com/system-requirements thats how I found out about it.

However

Much like Apple making their own hardware, they don’t want the hassle of working things out for every bit of hardware out there. Likewise, Xojo don’t want the hassle of working out every permutation of linux which is why the onus is on the developer/host.

Would you ask Ford why you car skids on ice when its using summer tyres?

If my hosting service is expected to supply me with “a list of all installed libraries, OS versions, etc.”, why can’t the Xojo Cloud people just create and publish a similar dump of their installed libraries, OS versions, etc?

Because that would compromise their security. One of the vectors is knowing whats installed on a target so you can find out easily if there are exploitable vulnerabilities.

So it looks like a dead-end, even with personal high-level support from my client’s hosting provider:

“Unfortunately, glibc cannot be updated, as that is a core library for the operating system. It would require a new server with a different OS.”

What are they running?

centOS 6