kkoonnffiigguurraassii pphhpp ppaaddaa iinntteerrnneett...

9
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2007 IlmuKomputer.Com 1 K K o o n n f f i i g g u u r r a a s s i i P P H H P P P P a a d d a a I I n n t t e e r r n n e e t t I I n n f f o o r r m m a a t t i i o o n n S S e e r r v v e e r r ( ( I I I I S S ) ) Puja Pramudya [email protected] http://limaapril.wordpress.com Selama ini PHP identik dengan LAMP stack, dimana aplikasi web yang dibangun menggunakan bahasa PHP di-host didalam Apacher server pada sistem operasi Linux. Namun, baru-baru ini Microsoft mengumumkan bahwa sekarang aplikasi PHP telah dapat diletakkan pada sistem operasi Windows di dalam Internet Information Server (IIS). Tentunya hal ini memberikan alternatif bagi para developer untuk memilih platfrom tempat akan meletakkan aplikasi yang telah dibangun.Pada tulisan ini akan dibahas konfigurasi yang dibutuhkan agar aplikasi PHP dapat berjalan di atas Windows. Instalasi dan Konfigurasi Terdapat dua teknik, yaitu teknik manual dan teknik otomatis. Teknik Manual 1. Unduh file binary PHP versi non-thread safe yang terbaru, yang dapat diperoleh di http://windows.php.net/download/ Penting : Pada tulisan ini digunakan VC9 x Non Thread Safe (build 2009-Nov-19) 2. Unzip file tersebut ke dalam folder C:\PHP 3. Lakukan setting terhadap file konfigutasi PHP. Pilih file C:\PHP\php.ini-development dan ubah namanya menjadi php.ini Penting! : versi build yang tidak digunakan pada tulisan ini, file konfigurasi bernama php.ini-recommended Lisensi Dokumen: Copyright © 2003-2007 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.

Upload: phamduong

Post on 17-Aug-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: KKoonnffiigguurraassii PPHHPP PPaaddaa IInntteerrnneett ...ilmukomputer.org/wp-content/uploads/2010/08/puja-phponiis1.pdf · cgi.fix_pathinfo menyediakan dukungan *real* PATH_INFO/PATH_TRANSLATED

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2007 IlmuKomputer.Com

1

KKoonnffiigguurraassii PPHHPP PPaaddaa IInntteerrnneett

IInnffoorrmmaattiioonn SSeerrvveerr ((IIIISS))

Puja Pramudya [email protected]

http://limaapril.wordpress.com

Selama ini PHP identik dengan LAMP stack, dimana aplikasi web yang dibangun menggunakan

bahasa PHP di-host didalam Apacher server pada sistem operasi Linux. Namun, baru-baru ini

Microsoft mengumumkan bahwa sekarang aplikasi PHP telah dapat diletakkan pada sistem

operasi Windows di dalam Internet Information Server (IIS). Tentunya hal ini memberikan

alternatif bagi para developer untuk memilih platfrom tempat akan meletakkan aplikasi yang

telah dibangun.Pada tulisan ini akan dibahas konfigurasi yang dibutuhkan agar aplikasi PHP

dapat berjalan di atas Windows.

Instalasi dan Konfigurasi Terdapat dua teknik, yaitu teknik manual dan teknik otomatis.

Teknik Manual

1. Unduh file binary PHP versi non-thread safe yang terbaru, yang dapat diperoleh di

http://windows.php.net/download/

Penting : Pada tulisan ini digunakan VC9 x Non Thread Safe (build 2009-Nov-19)

2. Unzip file tersebut ke dalam folder C:\PHP

3. Lakukan setting terhadap file konfigutasi PHP. Pilih file C:\PHP\php.ini-development dan

ubah namanya menjadi php.ini

Penting! : versi build yang tidak digunakan pada tulisan ini, file konfigurasi bernama

php.ini-recommended

Lisensi Dokumen: Copyright © 2003-2007 IlmuKomputer.Com

Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan

disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat

tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang

disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang,

kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.

Page 2: KKoonnffiigguurraassii PPHHPP PPaaddaa IInntteerrnneett ...ilmukomputer.org/wp-content/uploads/2010/08/puja-phponiis1.pdf · cgi.fix_pathinfo menyediakan dukungan *real* PATH_INFO/PATH_TRANSLATED

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2007 IlmuKomputer.Com

2

4. Berikan hak akses terhadap php.ini untuk semua user. Untuk melakukannya klik kanan pada

file dan pilih Properties. Pada tab Security pilih Edit dan tambahkan user Everyone lalu

klik OK.

5. Modifikasi Windows Path environtment variabel agar turut menggunakan folder tempat

PHP diletakkan. Untuk melakukannya, klik kanan pada Computer | Properties, pada panel

Task pilih Advance system setting dan pilih Environment Variables. Pada System

Variables, klik ganda variabel Path dan tambahkan path C:\PHP (gunakan tanda titik

koma untuk memisahkannya)

Page 3: KKoonnffiigguurraassii PPHHPP PPaaddaa IInntteerrnneett ...ilmukomputer.org/wp-content/uploads/2010/08/puja-phponiis1.pdf · cgi.fix_pathinfo menyediakan dukungan *real* PATH_INFO/PATH_TRANSLATED

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2007 IlmuKomputer.Com

3

6. Berikah hak akses Read & Excute bagi IIS_IUSRS terhadap folder C:\PHP. Untuk

melakukannya klik kanan dan pilih pilih Properties. Lalu pada tab Sercurity pilih Edit dan

tambahkan IIS_IUSRS lalu klik apply.

Page 4: KKoonnffiigguurraassii PPHHPP PPaaddaa IInntteerrnneett ...ilmukomputer.org/wp-content/uploads/2010/08/puja-phponiis1.pdf · cgi.fix_pathinfo menyediakan dukungan *real* PATH_INFO/PATH_TRANSLATED

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2007 IlmuKomputer.Com

4

7. Lalukan modifikasi terhadap file pws-php5cgi.reg yang terdapat pada C:\PHP. Hal ini

dilakukan untuk menandai lokasi php-cgi.exe,lakukan dengan menambahkan path C:\\PHP

pada path :

pws-php5cgi.reg

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters

\Script Map]

".php"="C:\\PHP\\php-cgi.exe"

8. Simpan file dan lakukan registrasi dengan cara klik ganda pada file tersebut.

9. Aktifkan FastCGI pada IIS 7 untuk PHP. Untuk melakukannya, ikuti langkah berikut :

a. Pilih folder C:\Windows\System32\inetsrv\config .

b. Buka file applicationHost.config .

c. Cari node <fastCgi />, dan modifikasi hingga menjadi seperti berikut :

<fastCgi>

<application fullPath="c:\PHP\php-cgi.exe" />

</fastCgi>

Page 5: KKoonnffiigguurraassii PPHHPP PPaaddaa IInntteerrnneett ...ilmukomputer.org/wp-content/uploads/2010/08/puja-phponiis1.pdf · cgi.fix_pathinfo menyediakan dukungan *real* PATH_INFO/PATH_TRANSLATED

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2007 IlmuKomputer.Com

5

10. Modifikasi file konfigurasi PHP (php.ini) untuk menyesuaikan dengan setting yang

direkomendasikan. Hilangkan komentar dan modifikasi nilai konfigurasi pada Paths and

Directories menjadi seperti berikut :

php.ini

fastcgi.impersonate=1

cgi.fix_pathinfo=1

cgi.force_redirect=0

Penting!: FastCGI pada IIS mendukung kemampuan impersonate security tokens pada

saat pemanggilan klien. Dengan nilai fastcgi.impersonate = 1 maka mengizinkan IIS

untuk mendefinisikan security context pada saat request terjadi

cgi.fix_pathinfo menyediakan dukungan *real* PATH_INFO/PATH_TRANSLATED

untuk CGI. Sifat PHP sebelumnya di set ke PATH_TRANSLATED to

SCRIPT_FILENAME, sehingga tidak peduli dengan PATH_INFO . Mengubah nilai

menjadi 1 akan menyebabkan PHP CGI memperbaiki PATH untuk memenuhi

spesifikasi sistem

cgi.force_redirect diperlukan untuk menyediakan keamanan pada saat menjalankan

PHP sebagai CGI pada webserver namun tidak diperlukan untuk IIS.

11. Simpan dan tutup file php.ini . Lalu restart ulang IIS dengan ekseuksi command iisreset

pada cmd (Jangan lupa lakukan sebagai Administrator) .

12. Untuk melakukan pengecekan apakah PHP sudah terkonfigurasi dengan baik, pada cmd

ketikkan perintah php –info

Page 6: KKoonnffiigguurraassii PPHHPP PPaaddaa IInntteerrnneett ...ilmukomputer.org/wp-content/uploads/2010/08/puja-phponiis1.pdf · cgi.fix_pathinfo menyediakan dukungan *real* PATH_INFO/PATH_TRANSLATED

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2007 IlmuKomputer.Com

6

Jika instalasi berhasil maka command ini akan mengeluarkan konfigurasi dari PHP

Teknik Manual

Untuk melakukan instalasi otomatis, unduh file instalasi PHP jenis msi. Lalu ikuti

langkah-langkah sebagai berikut :

1. Buatlah folder C: \PHP

2. Eksekusi installer yang telah diunduh. Ikuti wizard hingga mencapai Destination Folder.

Pastikan bahwa folder tertuju pada C:\PHP , lalu klik Next

3. Pada bagian Web Server Setup, pilih opsi IIS FastCGI lalu pilih Next

Gambar 1 Aktiviasi IIS FastCGI

4. Lanjutkan wizard dan terima nilai default pada saat instalasi lalu klik Install untuk memulai

instalasi.

Page 7: KKoonnffiigguurraassii PPHHPP PPaaddaa IInntteerrnneett ...ilmukomputer.org/wp-content/uploads/2010/08/puja-phponiis1.pdf · cgi.fix_pathinfo menyediakan dukungan *real* PATH_INFO/PATH_TRANSLATED

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2007 IlmuKomputer.Com

7

5. Untuk melakukan konfigurasi pada IIS eksekusi addPHPSettingsForIIS.cmd. Script ini

dapat diperoleh jika Anda meng-instal PHPonWindowsTrainingKit. Script terdapat pada

%TrainingKitInstalltionFolder%\Labs\GettingStarted\Setup\scripts\Dependencies\Set

up .

6. Restart IIS dengan perintah command iisreset dari cmd.

Konfigurasi Handler Mapping IIS secara default menggunakan filosofi keamanan : Administrator harus

mengaktivasi/non-aktifkan fitur yang diinginkan. Dengan demikian setelah instalasi dan

konfigurasi FastCGI untuk menjalankan PHP, maka sekarang harus diaktifkan agar dapat

digunakan.

Ikuti langkah-langkah berikut :

1. Buka IIS Manager melalui Start | All Programs | Administrative Tools.

Penting!: Jika IIS Manager tidak diinstal maka aktifkan dengan cara ke Start | Control

Panel | Programs and Features | Turn Windows features on or off dan pilih IIS

Managment Console pada bagian Internet Information Services | Web

Management Tools .

2. Pada level server, buka fitur Handler Mappings ( ).

Page 8: KKoonnffiigguurraassii PPHHPP PPaaddaa IInntteerrnneett ...ilmukomputer.org/wp-content/uploads/2010/08/puja-phponiis1.pdf · cgi.fix_pathinfo menyediakan dukungan *real* PATH_INFO/PATH_TRANSLATED

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2007 IlmuKomputer.Com

8

Gambar 2 Handler Mappings pada IIS 7

3. Pada panel Actions, pilih Add Module Mapping, dan isi field yang tersedia sesuai dengan

gambar dibawah ini , lalu pilih OK.

Gambar 3 Konfigurasi module mapping

Page 9: KKoonnffiigguurraassii PPHHPP PPaaddaa IInntteerrnneett ...ilmukomputer.org/wp-content/uploads/2010/08/puja-phponiis1.pdf · cgi.fix_pathinfo menyediakan dukungan *real* PATH_INFO/PATH_TRANSLATED

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2007 IlmuKomputer.Com

9

4. Akan muncul kotak dialog yang menampilkan informasi yang telah dibuat untuk aplikasi

FastCGI lalu pilih YES.

Sekarang kita telah dapat menggunakan IIS untuk menempatkan aplikasi PHP kita. Makin

banyak alternatif makin baik untuk developer.

Biografi Penulis Puja Pramudya. Menyelesaikan S1 di Program Studi Teknik Informatika,

Institut Teknologi Bandung tahun 2010. Memiliki ketertarikan di bidang

image processing, e-learning, smart client development dan information

system. Aktif berorganisasi di himpunan mahasiswa dan komunitas INDC,

Microsoft User Group Indonesia (MUGI) Bandung serta Microsoft

Innovation Center ITB. Mendapatkan penghargaan sebagai Juara I Game

Development Contest pada Pagelaran Mahasiswa TIK (gemasTIK) 2009

yang diselenggarakan oleh Dirjen Pendidikan Tinggi (DIKTI) dan Juara I

Software Design pada Microsoft Imagine Cup 2010 yang diselenggarakan

Microsoft Indonesia dan mewakili Indonesia berlaga di Worldwide Final Imagine Cup 2010 di

Warsawa, Polandia. Saat ini mendalami bahasa pemrograman Java dan C# serta teknologi

Windows Presentation Foundation, Silverlight , ASP.NET dan Windows Phone. Aktif menulis

pada blog yang berfokus di teknologi Microsoft di http://geeks.netindonesia.net/blogs/poedja_p/

dan situs blog http://limaapril.wordpress.com .

Kontak :

Y! : poedja_p

Facebook : http://www.facebook.com/poedja

Twitter : @poedja_p