Background
Today I decided that I wanted to try out deploying a ASP.NET MVC + Web Api application on Ubuntu.
Why do I want to do that? Well I have always loved C# and .NET, however I have never really enjoyed the Microsoft ecosystem. I am glad that Mono is around and have often wondered What if C# and .NET had targeted all platforms?
I wanted to get MVC 4 and Web API to work correctly. So after spending a few hours on it I thought I would share it with you all.
Process
Below will outline the steps that I took to get this working. I will leave the blood and tears to myself.
Preliminary
Vagrant.configure("2") do |config|
config.vm.box = 'quantal64'
config.vm.provision :shell, :path => 'bootstrap.sh'
config.vm.network :forwarded_port, guest: 80, host: 9000
end
The bootstrap.sh contained the following:
#!/usr/bin/env bash
apt-get update
apt-get install -y git
apt-get install -y nginx
apt-get install -y g++
apt-get install -y gettext
apt-get install -y pkg-config
apt-get install -y automake
These packages will be used to build mono and the web-server Once you have all this set up is just as easy as saying vagrant up and vagrant ssh
Compiling Mono
Once you have logged-in into the box you will run the following commands:
- wget http://download.mono-project.com/sources/mono/mono-3.0.7.tar.bz2
- tar -xvjpf mono-3.0.7.tar.bz2
- cd mono-3.0.7
- ./configure --prefix=/usr/local
- make
- sudo make install
Once all that finishes you will need to get web-sever to work:
- git clone https://github.com/mono/xsp
- cd xsp
- ./autogen.sh --prefix=/usr/local
- make
- sudo make install
To test if it works create yourself a simple example project or use the one I made. To get the development web server up run sudo xsp4 --port 80 and go to http://localhost:9000/api/service/test. You should see the following:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">awesome</string>
Future
I will be going through some of the MVC 4 and Web API 4 features to make sure it all works. Once that is done I will try to do this on AWS by creating an AMI so that I can test some release processes. Thanks for reading and hope this was just as exciting for you as it was for me.
Web development includes web design, web content development; web application development .Web development includes lots of work to do on website. By this you can increase your bunnies.
ReplyDeleteVisit
Hi,
DeleteI agree with you all those topics are important, however they are also irrespective of which platform you use. This post was how do I get ASP.NET running on mono using Linux.
Thanks for the feedback.
Cool stuff you have got and you keep update all of us. tech savvy
ReplyDeleteAlong with development of your website, if you look for proper and diverse Web Development Services, you can expect to get the services in content development, as well.
ReplyDeleteIn order to help you make the right choice, there are certain questions you must seek answer for before you Coinpayments account
ReplyDeleteI'm Pank , working at Zeligz Technology as a technical writer with rich experience in Crypto Scripts and blockchain technology. Zeligz offers a reliable ICO Script, HYIP Script, Smart contract script, P2P, CEX platform development, etc.
ReplyDelete