Sabtu, 03 Maret 2012

Install IIS 7, Deploy Project ASP .NET ke IIS 7 pada Windows 7, dan Mengatasi Bentrok dengan XAMPP


Baru-baru ini saya mendapat tugas kuliah untuk membuat sebuah web service application. Namun, untuk menjalankannnya diperlukan localhost IIS 7. Pada kesempatan kali ini saya akan menuliskan bagaimana cara mendeploy sebuah aplikasi ASP .NET ke IIS 7 pada Windows 7 dan juga cara mengatasi berbagai masalah yang biasa dihadapi pada saat instalasi IIS 7 dan publish project nya.

MENGAKTIFKAN IIS 7
Secara default, dalam Windows 7 sudah terdapat IIS 7. Namun masih belum diaktifkan. Ada beberapa cara mudah yang dapat dilakukan untuk mengaktifkannya, diantaranya adalah :
1. Buka Control Panel > Programs

2. Pada Programs and Features klik Turn Windows Features on or off

3. Muncul dialog box windows feature. Pilih Internet Information Service dengan mencentang bagian kirinya. Biasanya akan muncul kotak berwarna biru. Pastikan tandanya berubah menjadi centangan. Bukan kotak biru. Hal ini berarti semua yang ada di dalamnya telah tercentang.
 
5. Klik OK
6. Restart komputer Anda terlebih dahulu untuk memastikan IIS dapat berjalan.
7. Untuk mengecek apakah IIS dapat berjalan dengan baik, ketikkan http://localhost/ pada web browser Anda. Jika IIS berjalan, maka di web browser akan muncul gambar di bawah ini :
 

MENGATASI BENTROK DENGAN XAMPP
Default port yang digunakan oleh IIS 7 adalah 80, yang merupakan port yang sama yang digunakan oleh Apache XAMPP. Oleh karena itu, port XAMPP harus diubah agar tidak bentrok dengan IIS 7. Caranya adalah sebagai berikut :
1. Membuka file httd.conf pada xampp\apache\conf dengan menggunakan editor. Biasanya menggunakan Notepad++
2. Sekitar baris 45 ubahlah :
   
    menjadi :
  
3. Pada sekitar baris 181 ubahlah :
  
    menjadi :
  
4. Buka file httpd-ssl.conf pada xampp\apache\conf\extra menggunakan text editor. Biasanya menggunakan Notepad++
5. Sekitar baris 39 ubahlah :
 
    menjadi :
 
6. Sekitar baris 80 ubahlah :
 
   menjadi :

konfigurasi ini dilakukan untuk mengubah port yang ada di dalam XAMPP yaitu port 80 dan 443 diubah menjadi 8080 dan 4499 dengan tujuan agar tidak bentrok dengan IIS. Namun, pada akhirnya untuk mengakses xampp, harus menggunakan http://localhost:8080/

DEPLOY PROJECT KE IIS 7
Jika IIS 7 sudah dapat berjalan dengan baik di browser dan tidak bentrok dengan Apache XAMPP, maka project dapat di publish ke dalam IIS 7 dengan lancar. Caranya adalah sebagai berikut :
1. Pastikan Microsoft Visual Studio Anda sudah berjalan dengan hak akses Administrator. Hal ini dikarenakan IIS 7 dijalankan oleh Administrator. Sehingga sudah bisa dipastikan jika tidak berjalan dengan hak akses Administrator, maka publish project akan Failed.
2.  Klik kanan pada Project > Publish

3. Muncul dialog box untuk publish project
4. Isikan kolom yang tersedia seperti di bawah ini lalu klik OK
 
5. Pastikan di pojok kiri bawah Visual Studio Anda bertuliskan Publish Succeeded

6. Membuat pool application project Anda pada IIS Manager dengan cara membuka Internet Information Service (IIS) Manager

7. Klik kanan pada folder tempat Anda mempublish project > Convert To Application

8. Muncul dialog box, lalu klik OK

9. Maka simbol folder tempat publish project akan berubah menjadi simbol aplikasi IIS.

10. Untuk mengecek apakah sudah benar, buka web browser dengan mengetikkan http://localhost/APL. Jika benar, maka akan muncul :


MENGATASI ERROR PADA IIS 7
Biasanya bagi yang baru pertama mendeploy project menggunakan IIS 7, akan mengalami kesalahan yang cukup banyak, beberapa di antaranya adalah akan muncul peringatan pada browser yang ada hubungannya dengan Framework dan peringatan tentang error terletak pada EventHandler. Disini akan kita bahas satu-satu bagaimana cara mengatasinya.
1. Peringatan yang muncul :
Description : An error occured during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately
Parser Error Message : Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive.
Mengapa terjadi hal demikian? Ini dikarenakan IIS berjalan pada .NET Framework 2.0 sedangkan aplikasi menggunakan .NET Framework 4.0
Cara mengatasinya jangan merubah .NET 2.0 menjadi 4.0 karena akan merusak project yang akan dideploy. Caranya adalah merubah setting ASP .NET framework menjadi 4.0 di IIS Manager.
a. Buka IIS Manager

b. Klik View Application Pool pada bagian kanan

c. Double Klik pada Classic .NET AppPool dan Ubah  .NET Version nya menjadi .NET Framework 4.0

d. Double Klik pada Defailt AppPool dan ubah .NET Version nya menjadi .NET Framework 4.0

e. Cek kembali di browser dengan mengetikkan http://localhost/APL/. Jika sudah benar, akan muncul :


2.  Muncul peringatan :
HTTP Error 500.21 - Internal Server Error
Handler "PageHandlerFactory-Integrated" has a bad module "ManagePipelineHandler" in its module list
Mengapa hal ini bisa terjadi? Hal ini dikarenakan ada beberapa hal yang menyebabkan .NET tidak teregistrasi dengan IIS
Cara mengatasinya adalah :
a. Buka command prompt. Pastikan dibuka dengan hak akses Admninistrator.
b. Masukkan command di bawah ini :
    32-bit :
          %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
    64-bit :
          %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

c.  Cek kembali di browser dengan mengetikkan http://localhost/APL/. Jika sudah benar, akan muncul :
 

Semoga bahasan kali ini bermanfaat :)

2 komentar:

  1. gan supaya bisa di akses dari komputer lain gimana caranya?
    thanxs

    BalasHapus
  2. iya cara nya biar bisa diakses dikomputer lain gmn caranya?

    BalasHapus