Does Mono XSP Server Work? - mono

I'm trying for a week to make my XSP server work with simple static content: html-pages, js-files, gifs, jpegs etc... No ASP.NET. And this server always randomly crashes while navigating this pages with browser.
My Environment is: Mono 2.6.1, Windows Vista. I also tried to build XSP on linux (with Novell's make-files) but same result.
So, could XSP be used anyhow? Is there anybody who made XSP work fine without crashes? If yes, please tell me how. If no, is there another open-source ASP.NET http-server?

Try xsp2 not xsp, as it is newer. Also Tomi is right and you should be using mod-mono for production, however, that is not going to work on Windows right now (at least the last thing I read was that mod_mono was not yet working with Apache on Windows). XSP2 definately works on Linux, and although I haven't tried it on Windows, but if there are problems with it you should probably file a bug report with the Mono team. Xsp definately does not work with some of the code I have written, so I think it is only used for Net 1.1 era asp, not asp2.0.

You can use for example Apache with mod_mono or Nginx on Linux. I wouldn't recommend using XSP for production use since it's used mostly as development web server in conjuction with MonoDevelop.

Related

Run ColdFusion 9.02 on Apache 2.4 x64

I've inherited an application server which I need to maintain/upgrade.
It's currently running Windows Server 2008R2, ColdFusion 9.02 32-bit and Apache 2.4 32-bit.
Because I want to upgrade/debug/alter the CF source code, I want to use FusionReactor to help me, especially the (line)debugging part.
Unfortunately, FusionReactor only runs (well, the debugging part) on 64bit java. Because the CF application is quite old, it's not ready to run on a newer CF version yet (and I want to port it to Lucee eventually). So, that leaves me the option of CF 9.02 64bit. Problem there is, that it won't run out of the box on Apache 2.4 (only 2.2).
CF 9.02 32bit is currently running on Apache 2.4 because I compiled/patched an Apache 2.2 module (mod_jrun22.so) so it works on Apache 2.4 (with the help of this https://g0blin.co.uk/mod_jrun-on-apache-2-4-ubuntu-14-04-coldfusion-9/ )
Unfortunately, I'm unable to do the same for Apache 2.4 64bit, because there seems to be no apxs 64bit available.
I could downgrade Apache 2.4 -> 2.2, but that's only my last resort.
Now my question. Is somebody able to recompile this module for 64bit, or give me some guidelines to do so? Is apxs available for 64bit? If not, Is there a simple way to compile (custom) modules for Apache 2.4 64bit?
Thanks!
http://www.gpickin.com/index.cfm/blog/multi-cfml-engine-install-extracting-the-coldfusion-9-connector-for-apache
Run it by ./apache_connectors.sh
If you get a GCC not found error, you might have to install some development tools,
to allow you to build the connector.
yum groupinstall 'Development Tools'
You might reach out to Gavin, the author of that article to see if he has any further notes. It's been forever and a day since I had to deal w/ 32-bit CF. I know I managed to get CF 8 to run on 64-bit, which was never officially supported IIRC, but I don't have any of those notes anymore.
You might look to using CommandBox to run your server instead of Apache. It might make your conversion to Lucee easier too. The only reason to convert the engine depends on how much new code is being written for this application. You can get away with CF 9 without the effort of upgrading or converting.

setting up monodevelop in xfce

I use this solution to have a VNC desktop session with a remote Ubuntu PC https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-16-04
I want to setup monodevelop on this machine. I followed the instructions and am able to run monodevelop and write code, however when I attempt to run it I get "Could not connect to the debugger". I tried various solutions suggesting changing environment variables to force monodevelop to use xterm and it did not work, however I'm not positive I did it correctly as the solution was meant for gnome and the modifications to the command for XFCE were not clear to me. At this point I'd be willing to get paid support, but I'm not even sure where I could find any for my use case. Does anyone have experience getting monodevelop to work on XFCE? If not what is the best environment for getting it going (ideally a way where I could remote in too). I'm very accustomed to the RDP workflow where I can actually troubleshoot on a development server and be very close to the real world environment to get things running, then check-in and deploy. I think there are a lot of platform differences with monodevelop so I really really really want to develop on Ubuntu (remotely).

Issue when trying to run passenger on Apache

I am getting this issue when running
httpd -t
httpd: Syntax error on line 545 of /private/etc/apache2/httpd.conf: Syntax error on line 1 of /private/etc/apache2/other/passenger.conf: Cannot load /Users/sbaidon/.rvm/gems/ruby-2.2.5/gems/passenger-5.3.5/b
uildout/apache2/mod_passenger.so into server: dlopen(/Users/sbaidon/.rvm/gems/ruby-2.2.5/gems/passenger-5.3.5/buildout/apache2/mod_passenger.so, 10): no suitable image found. Did find:\n\t/Users/sbaidon/.rv
m/gems/ruby-2.2.5/gems/passenger-5.3.5/buildout/apache2/mod_passenger.so: code signature in (/Users/sbaidon/.rvm/gems/ruby-2.2.5/gems/passenger-5.3.5/buildout/apache2/mod_passenger.so) not valid for use in p
rocess using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.\n\t/Users/sbaidon/.rvm/gems/ruby-2.2.5/gems/passenger-5.3.5/buildout/apache2/mod_passen
ger.so: stat() failed with errno=22
Passenger installation is just fine.
I ran into this too: the issue is that the built-in httpd that comes with macOS Mojave has Library Validation turned on, which means any modules it loads must be properly signed. Unfortunately, mod_passenger.so is not signed, so loading fails. Actually, a lot of people are having this problem with loading Apache modules on macOS Mojave (especially during the beta), some example references:
https://github.com/GrahamDumpleton/mod_wsgi/issues/357
https://github.com/phpredis/phpredis/issues/1406
I believe it's possible to set up a plist somewhere to give an entitlement to httpd to disable library validation (com.apple.security.cs.disable-library-validation) as described at https://developer.apple.com/documentation/security/com_apple_security_cs_disable-library-validation. For instance, here's a recent WebKit patch where they add it to allow plugin loading: https://bugs.webkit.org/show_bug.cgi?id=183252. Similarly, here's the Mozilla people talking about how they need to enable this (and other) properties: https://bugzilla.mozilla.org/show_bug.cgi?format=default&id=1470597.
Unfortunately, I don't do macOS development (I just do development on macOS) and I have absolutely no idea how to apply it to the built-in Apache, I'm sorry.
At this point I'm kind of sick of every major macOS update nerfing all my httpd settings and generally being a pain (it's infrequent but it's still annoying), so I'm doing what I should have done years ago: stop using the built-in httpd that comes with OS/X and just use Homebrew httpd.
Here's some instructions I found regarding setting up Homebrew httpd (and disabling the built-in macOS httpd), it's pretty straightforward and you don't have to follow all of the directions about multiple PHP versions etc: https://getgrav.org/blog/macos-mojave-apache-multiple-php-versions
If someone can figure out how to disable Library Validation in the built-in httpd, or if there is some way to provide signing on mod_passenger.so (seems unlikely since both the Homebrew and gem passenger need to be buildable from source), you don't need to junk the built-in httpd. But I personally think the best solution is to move away from it entirely and use the Homebrew version instead.
For anyone having this issue or any issue with library validation in macOS Mojave, I found an incredibly easy fix to disable it. https://github.com/mologie/macos-disable-library-validation
This is fixed in macOS 10.14.4

Troubles with Xdebug 2.1.0, XAMPP 1.7.3, Win7 32bit

Looking for some help with getting xdebug to behave with my setup. My goal is to be able to debug Joomla code.
First let me preface saying that about a year ago I was able to get a version xdebug to work with Eclipse PDT 2.1 with xampp under Vista 32bit. However, now I'm on a new machine, and I wanted to get everything working with the latest versions. I did so by following through this walk-through. Now, trying to do the same thing I can't get it to work.
First, as per the walk-through, I downloaded php_xdebug-2.0.0-5.2.2.dll. Quickly realized that I needed an xdebug for php 5.3. So, I found the xdebugs Tailored Installation Instructions and followed that. My php.ini section looks as thus:
[XDebug]
;; Only Zend OR (!) XDebug
zend_extension = "D:\xampp\php\ext\php_xdebug-2.1.0-5.3-vc6.dll"
xdebug.remote_enable=true
xdebug.remote_host=localhost
xdebug.remote_port=10000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir="D:\xampp\tmp"
So this got the xdebug to actually show up in the phpinfo(). But, in Eclipse when I Debug As Php Webpage, it at first appears to connect, however if I step to the next line of code the debugger just sits there saying it is stepping, indefinitely. Sometimes apache will crash. I tried ports 9000, and 10000 with no avail.
What I did find out is, if I use the the php_xdebug.dll that comes with XAMPP 1.7.3, I actually can connect and step without any issues, EXCEPT, that version of xdebug apparently has a major bug in it that causes all my variables to be listed as 'Uninitialized'. So it is basically useless, however, it does give some hope that I have some of this stuff set up correctly.
So, my current setup thus: Win7 32bit, XAMPP 1.7.3 (PHP 5.3.1, Apache 2.2.14), Eclipse PDT 2.2
I have very limited experience with basically all the tools here so I'm kinda at a loss of what to do. Any help would be greatly appreciated. I searched some of the other posts here with similar issue but most of them appear to be for older versions of these components.
your report is somewhat confusing. As far as I understand you, your setup works as soon as you replace the XDebug-dll. Then your (primary) problem cannot be related to your settings, as far as you also adjusted zend_extension, of course.
Though xdebug.remote_port=10000 seems odd. Std is 9000. If you use 9000, the you have to tell Eclipse in Window/Preferences/PHP/Debug/Debuggers to also listen to that port for XDebug.
Best
Raffael

running .net(mono) application in both linux and windows

I have created a c# application in ubuntu using monodevelop. It is running well in ubuntu.
I tried to run that application(firstgtk.exe file created after running in ubuntu)in windows.But it showing error message.How can i make to portable in both linux and windows?
The error message is:
when i click the firstgtk.exe file, a command prompt has come.It is blank. At the same moment microsoft message(send Error report or don't send):
firstgtk has encountered a problem and needs to close.
When i click don't send button, command prompt and message box are gone.
Mono compiles down to CIL code and is completely portable to .NET or Mono on other platforms. I can compile my C# code on a Mac and run the resulting EXE on Linux or Windows under either .NET or Mono.
Without the actual error message we can only guess the issue here. That said, in my experience, the most common reasons an application written in Mono on Linux/UNIX would create an error on Windows are pathnames with platform specific path separators or case sensitivity issues. The Windows file system is not case sensitive but they are on Linux/UNIX.
Another possibility is that you are using Mono on one platform and trying to run it on .NET on the other. Mono ships with a number of libraries that are not present in .NET on Windows.
Actually, I guess a final possibility is that GTK# is a common way to produce GUI code on Mono. GTK# relies on the GTK+ C library being present which is very common on Linux but unlikely on Windows unless it has been explicitly installed.
We really need to know what the error message was.
If you're using Gtk#, your app is portable between Windows and Linux. My guess is that you don't have Gtk# installed correctly (or at all?) on Windows. You can download from here. As of this time the latest version is 2.12.10.
Your code should be portable between Linux and Windows. Alas, the binaries are not. ...
Edit: As commenters have pointed out, Mono does produce and use PE executables, though other issues may limit portability.