Categories
Teknologi

Tutorial Menjalankan Aplikasi ASP.NET MVC 5 pada Ubuntu Linux 14.04

ASP.NET adalah sebuah framework untuk membuat aplikasi pemrograman web sisi server. Salah satu alasan menggunakan ASP.NET adalah C#. Code C# terstruktur dengan baik sehingga mudah untuk dipahami dan dimaintenance. C# juga menyediakan beragam code hint, error hint sebelum code dijalankan.  C# dijalankan menggunakan sistem JIT, sehingga mungkin dapat berjalan lebih cepat dibanding bahasa-bahasa interpreted seperti PHP.

Sayangnya, sampai beberapa tahun yang lalu ASP.NET hanya dapat berjalan pada platform windows, hingga akhirnya ada beberapa proyek opensource seperti dotGNU dan mono. Karena ada beberapa yang masih merupakan paten Microsoft , proyek-proyek ini sulit berjalan secara maksimal dan cenderung terbatas kompabilitasnya, bahkan proyek dotGNU sampai berhenti pada tahun 2012.

Namun pada tahun 2014,  Microsoft membuat platform .NET menjadi opensource. Hal ini membuat developer mono bisa menggunakan komponen-komponen dari microsoft (sumber), menyebabkan mono berkembang dengan pesat dan bisa menjalankan framework kompleks seperti ASP.NET MVC 5.

Pada tutorial ini, akan dijelaskan bagaimana cara melakukan setup Ubuntu 14.04 LTS hingga dapat menjalankan aplikasi ASP.NET MVC 5. Selamat belajar!

Yang perlu dipersiapkan:
  1. Komputer dengan sistem operasi Ubuntu 14.04 LTS
  2. Proyek default ASP.NET MVC 5 yang telah di publish atau bisa download contoh yang saya buat disini
  3. Koneksi Internet
Tutorial:
  1. Pastikan sistem operasi anda sudah terupdate dengan menjalankan perintah berikut:
    sudo apt-get update && sudo apt-get dist-upgrade
  2. Instalasi paket apache2 dengan menjalankan perintah:
    sudo apt-get install apache2
  3. Masukan mono kedalam list paket sistem, hal ini perlu dilakukan agar versi mono yang akan di install selalu yang terbaru. pastikan anda menjalankan code di bawah baris demi baris.
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
    
    sudo echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
    
    sudo echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list
    
    sudo echo "deb http://download.mono-project.com/repo/debian alpha main" | sudo tee /etc/apt/sources.list.d/mono-xamarin-alpha.list
    
    sudo apt-get update && sudo apt-get dist-upgrade
  4. Install paket mono-complete
    sudo apt-get install mono-complete
    
  5. Install paket libapache2-mod-mono
    sudo apt-get install libapache2-mod-mono
    sudo a2enmod mod_mono_auto
  6. Set apache2, agar folder pada apache2 menggunakan mono. prosedur ini harus di ulang untuk setiap aplikasi baru
    sudo nano /etc/apache2/sites-available/testasp.conf
  7. Copy-paste baris berikut ke console, sesuaikan path dan nama apabila diperlukan. klik ctrl+o , enter lalu ctrl+x untuk menyimpan file.
      Alias /testasp "/var/www/html/testasp"
      MonoServerPath inventory "/usr/bin/mod-mono-server4"
      MonoDebug inventory true
      MonoSetEnv inventory MONO_IOMAP=all
      MonoApplications inventory "/testasp:/var/www/html/testasp"
      <Location "/testasp">
        Allow from all
        Order allow,deny
        MonoSetServerAlias inventory
        SetHandler mono
        SetOutputFilter DEFLATE
        SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip dont-vary
      </Location>
      <IfModule mod_deflate.c>
        AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript
      </IfModule>
    

    apache2site

  8. Buat folder baru di /var/www/html/testasp , sesuaikan permission folder apabila di perlukan. File-file asp.net akan di simpan di sini.
    sudo mkdir /var/www/html/testasp
  9. Enable konfigurasi site yang dibuat
    sudo a2ensite testasp
    sudo service apache2 restart
  10. Upload atau copy file ASP.NET MVC yang ingin dijalankan atau gunakan contoh proyek yang saya berikan ke dalam folder /var/www/html/testasp
    ftp
  11. Test situs di browser,  url adalah http://127.0.0.1/testasp.  sesuaikan url dengan IP mesin anda.
    jalan

Apabila hasil seperti langkah 11, maka selamat, anda telah berhasil menjalankan ASP.NET MVC 5 pada sistem operasi linux. Apabila belum, silahkan comment dan saya akan coba menjawab pertanyaan sebisa saya.

Dengan langkah-langkah diatas, bahkan saya telah berhasil mempublish situs yang cukup kompleks dengan database mysql.

Dibawah ini adalah link-link yang bisa membantu anda belajar lebih jauh lagi.

  1. http://www.mono-project.com/docs/getting-started/install/linux/
  2. https://help.ubuntu.com/community/ModMono
  3. http://www.asp.net/mvc/overview/getting-started/introduction/getting-started
  4. http://www.w3schools.com/aspnet/mvc_intro.asp

Semoga tutorial yang saya berikan bermanfaat.

2 replies on “Tutorial Menjalankan Aplikasi ASP.NET MVC 5 pada Ubuntu Linux 14.04”

halo,
Mohon informasinya, apakah mvc 6 ke atas sudah bisa pakai database selain sqlserver dengan sempurna?

saya pernah bikin asp.net web memang bisa pakai mysql atau postgresql tetapi belum pernah coba untuk asp.net mvc ( masih baca2 juga hehe )

Jika belum sempurna dan dengan terpaksa tetap pakai sql server cuma di komputer berbeda ( webserver linux untuk aplikasi dan windows server untuk untuk database ) bagai mana menurut anda.

thanks

Selamat siang Arief,

Untuk ASP.NET MVC 6, bisa kok menggunakan database selain Sqlserver seperti Mysql, posgreSQL dan SQLite. Syaratnya adalah versi entity framework yang di gunakan adalah Entity Framework 6.

Untuk Entity Framework 7, dia saat ini baru mendukung SqlServer, SQLite dan PostgreSQL. Walaupun sudah bisa juga sebenarnya mysql, sifatnya eksperimental.

Saya sangat sarankan untuk saat ini gunakan ASP.Net MVC 5, karena sudah stabil, tutorialnya pun lengkap. Mungkin ketika ASP.NET 5, MVC6 dan Entity Framework 7 benar-benar sudah matang baru dipakai.

Bisa saja menggunakan komputer yang berbeda untuk server databasenya, kekurangannya adalah harus membayar server 2x, apabila ingin di host dan publish di internet. Apabila memang sudah memiliki server windows,
sebaiknya gunakan windows saja agar tidak dobel.

Perlu di perhatikan juga, apabila tidak menggunakan entity framework, maka bisa menggunakan database apapun yang mendukung protokol ODBC. tetapi menurut saya untuk apa menggunakan ASP.Net MVC tanpa EntityFramework.

Untuk informasi lebih lanjut silahkan klik link-link dibawah
https://stackoverflow.com/questions/28321636/asp-net-5-mvc-6-with-mysql-database
http://outbreaklabs.com/v2/post/mysql-connector-net-for-coreclr-dnxcore50

Semoga membantu 🙂

Leave a Reply