ASP.NET on a linux webserver - asp.net

Can I host a asp.net application on a linux based webserver?
Do they allow .net framework to be installed on linux?

Mono might work for you. It's an open source implementation of .NET that runs on Linux. It requires installation.
You can test your ASP.NET application with MOMA (Mono Migration Analyzer) first to see if it will work.

Take a look a Mono, specifically and it's ASP.NET implementation.

Check out the mono project:
http://mono-project.com/Main_Page
It's not 1:1 to the .net framework, but it's as good as you're going to get on linux in terms of .net.

Although there is Mono project - an implementation of .NET framework for Linux OS, I'd suggest you to use Windows server to host your web applications, since Mono doesn't provide all .NET functionality.

Yes that is possible, if you have a VPS/VPC server.
In shared hosting server you coudl go for Windows/Plesk, as they have pre-installed ASP.net.
In shared hosting Linux, you may not get root access to install ASP.net, please confirm over the specification from your hosting provider.
If you have a Linux server make sure that you " root access " to install the progamming language.

Related

Why can't ASP.NET be hosted on a linux server?

ASP.NET is open source so shouldn't it be able to be hosted on any server just like a web app written in any other open source language such as php not limited to a windows server?
ASP.NET Core, the latest version (still in preview) in fact can be run on Linux.
Previous versions of ASP.NET have a dependency on the .NET Framework which only runs on Windows.
Technically, you can via ASP.NET Mono, and in fact Mono has support up to ASP.NET 4.0 and MVC 3.
The limiting factor really is IIS doesn't run on *nix, so you'll not be able to use the configuration aspects of the projects, but you can run the code via Apache modules or FastCGI.
The ASP.NET framework isn't open source (it has too many dependencies on internal code) but ASP.NET MVC and the new .NET Core, and ASP.NET Core releases are.
But just because something's open source, doesn't mean it "runs everywhere" it just means that you have some rights to look at the code, and typically can do things with that - someone still has to write an engine that can interpret and run your code on another operating system.

How to deploy ASP.NET website (version prior to ASP.NET 5) to Linux server?

I am currently in process of identifying a mechanism to deploy ASP.NET websites to Linux server. I know this requires Apache to be installed on Linux, and can be achieved using Mono.
I found a lot many articles but they all are referring to ASP.NET version 5 (i believe, vNext). But couldn't find anything for a version prior to that.
Is it due to "System.Web" assembly that we can't deploy ASP.NET website on anything except IIS? I know, OWIN has replaced that in vNext.
Any help on deployment of previous versions of ASP.NET to Linux will be very appreciated.
The new version of ASP.NET, version 5, and more specifically the .NET Core, runs cross-platform. That's why there is a lot of information about running ASP.NET 5 (or vNext) on Linux with Kestrel, the new cross platform webserver for ASP.NET 5.
However, you can run older ASP.NET projects on Apache using, indeed, Mono. The official documentation can be found here: http://www.mono-project.com/docs/web/aspnet/#aspnet-hosting-with-apache and here: http://www.mono-project.com/docs/web/mod_mono/

System requirements for using ASP.NET

I consider to use ASP.NET for developing a real-time appication that will be shown on a browser (IE, FF, Chrome etc.).
I'm wondering what are the system requirements for the server side where the application will be deployed?
Do I have to use IIS or I'm free to choose any web server I want? If IIS only - does it part of any Windows installation (so users do not have to pay extra charge for that?)
Do I have to install .NET Framework?
anything else?
Thank you!
You don't have to use IIS, you could use Apache, nginx, or xsp, but doing so means you have to use mono which is an open source version of the .NET framework, it's a couple of versions behind the real thing, you can find out more info here: http://www.mono-project.com/ASP.NET
If you choose to use Windows/IIS, then IIS is a feature of Windows that can be installed free of charge. You will need to install the .NET framework in order to host an ASP.NET web application, like IIS, the .NET framework and ASP.NET are features of Windows Server 2008 and above that can be installed/uninstalled whenever you like, for free.

Is it possible to setup a web server for asp and asp.net on linux?

I know it's MS's product,
but is it neccesary that it's hosted in windows environment?
More specificly,I need it to run in Fedora
Mono is what you are looking for. It contains the ASP.Net runtime and development environment for Linux (and others). You can't run classic ASP on it, but you most definitely can run ASP.Net. That's probably what it is best at.
[Edited to clarify that you can't run ASP on Linux with Mono]
Consider looking at Mono.

Do a Windows application ifself contain the .NET framework?

I have a Windows application which contain a deployer.
Does the deployer itself contain a copy of the .NET framework?
Or do we have to explicitily install it?
When I check in the solution explorer, it shows the .NET framework under the deployer project under detected dependencies?
My Windows application connects to the Internet to validate for a registered user. Do I need to configure some port (or something like that) while I am installing it? Also how do I check which port my application uses to connect to the Internet?
Regarding #1, just as Xstahef said, you need to prerequisite the .NET framework.
You could put the .NET redistributable in your installer, and if you detect that the .NET runtime is not installed then prompt the user to run and install the .NET distributable contained in your installer (that's what we did some time ago, InstallShield provided this functionality for us). But this may not be recommendable: the .NET runtime has grown a lot in size (depending of the version you need to have in your client's machine), and many customers (at least the educated customers) won't trust installing the runtime from your installer. Besides, you may need to check with the legal department in your company before including a third-party component in your installation.
It depends on your deploy project (Visual Studio, InstallShield?). But commonly, you need to force the .NET installation (prerequisite option). By default, .NET is not contained in the deployment projects.
Here, it depends on the way you want to connect the Internet.
.NET runs in a VM, so you would need to require the framework be installed in order to actually run it. Much like you need to have Flash or Java for those respective mediums. Microsoft has redistributable packages for the .NET framework. So you could probably incorporate them into your installer. If you're targeting 1.1 or 2.0 most people probably won't need it.
So long as you are not trying to get in to the client machine then you shouldn't need anything special like UPnP to [attempt to] open a port if they are behind a NAT router.
Xenocode does allow to running such an application on an absolutely clean PC.

Resources