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.