Top Banner
Installing Apache Web Server On Windows 7 Instalasi di Windows 7 tidak semudah instalasi di Windows XP karena sekuriti-nya yang lebih ketat. Pada Windows 7 (termasuk Windows 8 dan Vista), beberapa folder seperti program Files hanya bisa diakses oleh administrator. Karena alasan ini maka saya memilih membuat folder instalasi Apache (dan program web lainnya) di luar “C:\Program Files” yaitu di “D:\ Web_Programs” (di folder ini akan di-
26

Installing Apache Web Server on Windows

Sep 28, 2015

Download

Documents

hendrokurniadi

Installing Apache Web Server on Windows
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

Installing Apache Web Server On Windows7Instalasi di Windows 7 tidak semudah instalasi di Windows XP karena sekuriti-nya yang lebih ketat. Pada Windows 7 (termasuk Windows 8 dan Vista), beberapa folder seperti program Files hanya bisa diakses oleh administrator. Karena alasan ini maka saya memilih membuat folder instalasi Apache (dan program web lainnya) di luar C:\Program Files yaitu di D:\Web_Programs (di folder ini akan di-install Apache, PHP, phpMyAdmin, MySQL, FileZilla, dll)Untuk proses instalasi saya akan banyak menggunakan command prompt (Start >> All Programs >> Accessories >> Command Prompt) karena program ini bisa dijalankan sebagai administrator. Untuk menjalankan command prompt sebagai administrator, klik-kanan ikon command-prompt dan klik Run as Administrator. Akan terlihat pada jendela command prompt label Administrator: Command Prompt.Untuk mengetahui daftar command yang ada serta cara menggunakannya, ketik saja HELP. Berikut adalah command yang mungkin berguna dalam proses instalasi:cd.. naik/masuk ke parent directoryD: Pindah ke direktori D dari direktori Ccd web_programs\apache24\bin masuk ke direktoridir tampilkan isi direktorihttpd.exe jalankan httpd.exe (kursor ada pada folder dimana program berada)httpd.exe-k install instal apache (httpd.exe) sebagai service.httpd.exe-k uninstallhttpd.exe-k startnetstat -ao tampilkan process dengan PID dan port yang digunakantasklist tampilkan process dengan PID dan nama program/service.taskkill pid/ 1234 /f menghentikan process dengan PID=1234 secara paksa.Untuk memilih/mengetik/menjalankan file yang ada dalam suatu folder (misal apache2.4.9-win32-no_ssl-binary.exe) dengan mudah, ketik salah satu keyword (misal apache) lalu tekan tombol TAB beberapa kali sampai tampil nama file yang kita inginkan.1. Pastikan Komputer Bersih Dari Duplikasi FileApabila komputer pernah diinstal Apache sebelumnya, atau ingin mengulang instalasi yang bermasalah, salah versi, dll, lakukan pembersihan komputer dari file-file lama sebelum melakukan instalasi ulang. (1) Stop/kill processhttpd.exe(2) Uninstal Apache dari Control Panel.2. Pastikan Port 80 Tidak digunakan Program LainPort 80 hanya akan kita berikan pada Apache. Program lain yang secara default listening atau menggunakan port ini (IIS web server, Skype) harus distop dulu atau diset supaya menggunakan port lain.Buka Command Prompt (cmd.exe) dan ketiknetstat -ao maka akan terlihat proses/service yang sedang aktif (State=listening) menggunakan port tertentu (misal 0.0.0.0:80). Nama program/service yang menggunakan port 80 tidak terlihat langsung tetapi kita bisa melihat process Id-nya (PID). Catat PID yang menggunakan port 80, kita akan mencari program/service yang menggunakan PID tersebut.Untuk melihat program/service yang running dengan processID tertentu kita bisa gunakan perintahtasklistpada command prompt.Hint: Bila kamu lupa dengan perintah-perintah DOS, cukup ingat untuk mengetik HELP, lalu untuk mengetahui lebih detil tentang command taskkill ingat untuk mengetik HELP TASKKILL)Service yang menggunakan port 80 bisa kita hentikan denganTASKKILL /PID 1234 /T /F(yang artinya: hentikan proses dengan id 1234, termasuk child process yang dijalankannya, dengan paksa!) atau secara manual menonaktifkan prosesnya melalui tab Services pada Task Manager (tekan CTR+ALT+DEL pilih Task Manager) atau (tekan CTR+SHIFT+ESC) atau yang lebih baik langsung membuka program Services dengan mengetikSERVICES.MSCpada command prompt.Permasalahan yang agak mengganggu adalah bila port 80 digunakan oleh service yang mengaku sebagai system dengan PID=4. Pada kenyataannya service ini dapat mewakili banyak service dari third party software (jadi semacam svchost), sepertiReportingServicesService.exe(dari MS SQL) dll. Saya tidak punya saran tentang bagaimana mengelola port http pada situasi seperti ini, karena memang tidak semestinya Apache server running di desktop dengan banyak aplikasi. Dan tidak mungkin di production system (web host) Apache running di Windows 7. Kalau mengerti Linux, mungkin lebih baik menginstall Linux di desktop (dan memilih Linux sebagai host server).3. Download Apache 2.4.X Atau XAMPP?Opsi untuk mendownload Apache bersamaan dengan program lain (PHP, MySQL, dll) melalui XAMPP (dan program sejenisnya) sangat mempermudah proses download dan pemilihan versi Apache dan PHP yang saling compatible. Tetapi saya lebih suka menginstal satu persatu untuk mempermudah troubleshooting, karena saya tidak perlu men-troubleshoot permasalahan yang ditimbulkan XAMPP, cukup program yang saya butuhkan saja. Yang penting kita tahu file mana yang harus di download, tapi pasti banyak issue lain yang akan membingungkan pemula:)Saya sarankan bagi pemula untuk menggunakan kombinasi versi Apache dan versi PHP yang sudah teruji, yaitu bukan versi terbaru (sesuaikan juga dengan versi yang digunakan web host, bila perlu). Atau menggunakan XAMPP. Langkah yang saya ambil adalah mendownload XAMPP dan mendownload Apache/PHP/MySQL sesuai dengan versi yang digunakan oleh XAMPP. Ini akan sangat membantu untuk mendapatkan file pendukung yang kompatibel (misal php modules)Sebagai gambaran, XAMPP 1.8.3 menggunakan versi-versi berikut ini:Visual C++ 2008 RedistributableApache2.4.4PHP5.5.9 VC11MySQL 5.5.32 Community ServerphpMyAdmin 4.0.4FileZilla FTP Server 0.9.41Download Apache darihttp://www.apachelounge.com. Saya memilih Apache yang lebih baru (2.4.9) yang di-compile dengan Visual Studio 2012 compiler (VC11), agar kompatible dengan PHP dan program lain yang juga up-to-date.Apache yang saya download adalahhttpd-2.4.9-win32-VC11.zip. Httpd adalah nama lain dari Apache. File ini untuk Windows 32-bit (x86). VC11 adalah versi binary yang di-compile dengan Visual Studio 2012. Pastikan WinRAR atau sejenisnya sudah terinstal untuk membuka file zip.Untuk meyakinkan keaslian file yang kita download, kita bisa menggunakan tehnik autentikasi yang disediakan (PGP & SHA1). Ini perlu bila Apache yang kita download akan kita install di local server yang accessible dari internet (kita akan host website kita di server lokal). Tapi karena kita hanya butuh Apache untuk local development, aspek security bisa kita kesampingkan.Unzip atau extract file ke sebarang folder untuk mendapatkan 3 files yaitu \apache24,README.TXTdan file text lainnya. Pindahkan folder\apache24ke folder dimana kita akan meletakkan semua program web kita, yaituD:\Web_Programs(kalau mau extract bisa langsung ke folder ini). Dengan begitu kita akan mempunyai 5 file penting berikut:D:\Web_Programs\apache24\htdocs\index.html(ini default homepage berisi It Works!)D:\Web_Programs\apache24\conf\httpd.conf(ini file konfigurasi Apache)D:\Web_Programs\apache24\bin\httpd.exe(Ini program Apache)D:\Web_Programs\apache24\bin\apachemonitor.exe(Ini program untuk start/stop/restart Apache)D:\Web_Programs\readme_Apache24.txt (ini saya rename darireadme.txthasil unzip)Readme_Apache24.txtberisi cara menginstal Apache, diantaranya:-Be sure you have installed the Visual C++ Redistributable for Visual Studio 2012 Update 4.Download and install, if you not have it already, from:http://www.microsoft.com/en-us/download/details.aspx?id=30679Loads 2.4 Win32 modules VC9 or VC10. Unzip the Apache24 folder to c:/Apache24 (that is the ServerRoot in the config). Default folder for your your webpages is DocumentRoot c:/Apache24/htdocs. When you unzip to an other location, change ServerRoot in thehttpd.conf, and change inhttpd.confthe Documenroot, Directories, ScriptAlias, also when you use the extra folder config file(s) change to your location there.Start apache in a DOS box: >httpd.exeInstall as a service: >httpd.exe-k installApacheMonitor: Double clickApacheMonitor.exe, or put it in your Startup folder.4. Menginstal Visual C++ 2012 RedistributableIni adalah requirement versi Apache yang kita download (VC11). Cek pada Add/Remove Programs di Control Panel, apakah Microsoft Visual C++ Redistributable 2012 sudah terinstal. Jika belum (seperti gambar berikut), download dariMicrosoft.com:http://www.microsoft.com/en-us/download/details.aspx?id=30679Setelah file didownload (Catat lokasi download, misalnya C:\users\jay\downloads\vcredist_x86.exe) maka kita akan menginstal melalui Command Prompt.5. Mengedit File Konfigurasi Apache (httpd.conf)Tidak seperti Apache versi lama, versi baru tidak ada installer yang akan menjalankan installation wizard. Konfigurasi 100% dilakukan secara manual pada filehttpd.conf.Karena kita tidak meletakkan folder Apache24 di C:\ maka kita akan mengganti setiap kalimat C:/Apache24 dengan D:/Web_Programs/Apache24. Ini bisa dilakukan dengan fiturFind & Replacepada text editor (saya menggunakan Notepad++)Karena pada saat akan berjalan, Apache terlebih dahulu membacahttpd.confbaris per baris, maka apabila ada kesalahan dalam konfigurasi maka Apache (httpd.exe) tidak akan bisa dijalankan. Untuk itu maka harus dipahami fungsi setiap directive yang ada dalamhttpd.conf.Disini saya tidak akan membahas semua directive, hanya yang penting, atau yang dibutuhkan untuk menjalankanhttpd.exetanpa error.(1) Pastikan Server Root didefinisikan dengan benar, dalam hal ini server root kita adalah D:\web_programs\apache24. Server root harus didefinisikan karena selanjutnya lokasi file seringkali dinyatakan dengan nama pendek, misalnya /module/mod_dir.so, bukan dengan nama panjang D:/web_programs/apache24/module/mod_dir.so. Selain itu, nanti direktori root akan kita proteksi aksesnya.ServerRoot D:/web_programs/apache24(2) Pastikan Apache menggunakan port yang direncanakan, dalam hal ini port 80:Listen 80(3) Pastikan nama server didefinisikan dengan benar (sekalian saja admin email didefinisikan juga sehingga file log tertentu akan dikirimkan ke admin):ServerName localhost:80ServerAdmin admin@localhost(4) Sekalian pastikan server root, yaitu / atau D:/web_programs/apache24 diproteksi (sekuriti dari subdirektori akan ditentukan di subdirektori masing-masing):

AllowOverride noneRequire all denied

(5) Pastikan Document Root didefinisikan dengan benar, dan sekuriti serta fitur untuk direktori ini didefinisikan dengan benar:DocumentRoot D:/Web_Programs/Apache24/htdocs

Options Indexes FollowSymLinks Includes ExecCGI MultiViewsAllowOverride NoneRequire all granted

Biasanya, directive lain dalamHTTPD.CONFsudah dikonfigurasi secara default untuk bisa menjalankanHTTPD.EXE. Kita akan bahas lebih banyak lagi saat menginstal PHP dan MySQL.Untuk mengaktifkan suatu directive, hapus tanda # di depannya, atau tambahkan baris baru dibawahnya.Untuk menjalankan fitur find & replace ketik CTR+F6. Test Menjalankan Apache (httpd.exe) Dari Command Prompt (Optional)SetelahVisual C++ 2012 Redistributablediinstal danhttpd.confdikonfigurasi secukupnya, apa lagi yang ketinggalan? Kita akan test apakah konfigurasi sudah benar, dengan menjalankan apache (httpd.exe) dan membuktikanindex.htmlbisa dilihat di browserMasuk ke folderD:\web_programs\apache24\bindan ketikhttpd.exeDan oh, Apache diblok oleh Windows 7 Firewall. Berikan akses untuk Apache (Allow Access).Setelahhttpd.exedijalankan tanpa error, saya lupa melakukan test dengan membuka browser dan mengetik localhost, tapi langsung install Apache sebagai service.7. Instal Apache (httpd.exe) Sebagai ServiceMasuk ke folderD:\web_programs\apache24\bindan ketikhttpd.exe-k installInstalasi tidak berhasil karena ada service yang terlebih dahulu menggunakan port 80 (ingat, sebelumnya kita menjalankanhttpd.exedan belum mematikannya).Perintahnetstat -aomemperlihatkan ada service/program yang menggunakan port 80 yaitu service dengan PID=4644.Perintahtasklistmemperlihatkan program yang running dengan PID=4644 yaituhttpd.exe(sesuai perkiraan). Hey, ternyata ada dua proseshttpd.exe.Perintahtaskkill /pid 4644 /fakan menghentikan proseshttpd.exe.Saat melakukan instalasi ulang Apache sebagai service (httpd.exe-k install) ternyata disebutkan Service already installed. Hmmm untuk meyakinkan diri, saya uninstal service lalu saya instal sekali lagi dan The Apache2.4 service is successfully installed!8. Menguji Apakah Apache Mampu MemprosesINDEX.HTMLApache kita asumsikan berfungsi dengan baik bila fileD:\web_programs\apache24\htdocs\index.htmlbisa diakses melalui browser (dengan mengetik localhost pada address bar). Disiniindex.htmlberisi kalimat It works!. Tentu sajahttpd.exeharus dalam keadaan running.

9. Menggunakan ApacheMonitor Untuk Start/Stop/Restart ApacheKlik-kanan pada ikon ApacheMonitor diD:\web_programs\apache24\bin\apachemonitor.exedan pilih pin to task bar. Ini untuk mempermudah akses ke program tersebut. Proses start/stop/restart bisa dilakukan melalui ikon di system tray di pojok kanan bawah:10. Langkah Selanjutnya?Setelah Apache server berhasil memproses fileindex.html, apa langkah selanjutnya?Apache web server saja tidak cukup untuk membuat website, kecuali kita hanya ingin menampilkan web statis (menggunakan html file). Bila kita ingin menjalankan file php (untuk web dinamis) dan aplikasi berbasis database (MySQL) maka kita harus menginstal kedua program tersebut.