Bila kita akan membuat sebuah halaman web, cara yang termudah untuk menampilkan suatu halaman yang tersimpan dalam hard disk kita adalah dengan melakukan klik ganda pada file, dan kemudian biasanya halaman tersebut akan dibuka dengan aplikasi browser standard milik kita. Meskipun metode ini (yang kadang-kadang masih saya pergunakan) cukup baik untuk sebuah halaman statis yang sederhana, namun hal tersebut tidak akan berguna jika kita menggunakan bahasa
server side seperti PHP, Perl, ASP, dan sebagainya, atau bahkan untuk halaman yang statis tapi
link-nya menggunakan penghubung ke
root server, seperti "/index.html" atau "/css/styles.css". Dalam situasi ini, solusinya adalah baik
upload file ke server dari host web kita, cukup rumit, dan tidak layak atau diinginkan jika situs tersebut sudah terbuka untuk umum, atau mengatur server uji coba dalam jaringan lokal atau komputer kita, cara yang paling cepat dan aman adalah dengan menguji perubahan secara desain kita.
Saya akan mencoba untuk menjelaskan dengan cara yang paling sederhana bagaimana menyiapkan server Apache pada sistem operasi Windows untuk tujuan pengujian, dengan memasukkan pilihan aplikasi PHP dan MySQL di dalamnya. Hal ini akan dapat berguna, bahkan jika host web kita berjalan pada sistem operasi Linux, FreeBSD atau Unix, karena secara fungsi, lebih atau kurangnya adalah sama, kecuali jika kita menggunakan sistem operasi atau server dengan fasilitas tertentu. Hal ini juga dapat berguna untuk mempelajari dan/atau melakukan pengujian modul Apache yang terkenal, seperti modul mod_rewrite yang secara tidak langsung tersedia untuk server lain, misalnya Microsoft Internet Information Service.
Hanya PHP yang dapat memenuhi semuanya, selain karena tidak membayar atau gratis dan lebih banyak dipergunakan saat ini, dimana ASP masih terikat dengan Ms IIS dan Perl lebih suka hanya dipergunakan oleh pengguna Linux. Alasan yang sama juga berlaku untuk MySQL. Saya akan menjelaskan cara menyiapkan server Apache secara mandiri (standalone) dan kemudian menjelaskan bagaimana menambahkan aplikasi PHP dan MySQL, sehingga apabila kita tidak memerlukan PHP atau MySQL dapat melewati langkah-langkah ini nantinya.
Dikarenakan pengujian adalah tujuan yang utama di sini, maka kita tidak akan membahas praktek keamanan yang berkaitan dengan Windows, Apache, MySQL dan PHP. Namun dengan langkah yang sederhana kita dapat mengamankan server uji coba kita dari serangan luar, dengan menata firewall untuk mem-blok semua akses internet ke server, dan hanya mengijinkan komputer kita atau jaringan lokal kita yang membutuhkan serta dapat mengaksesnya. Di sisi lain, jangan berpikir bahwa server uji ini tidak membutuhkan perlindungan apa pun. Jika kita melakukan akses server terbuka dengan Internet, maka kita akan terkena dampaknya sebagaimana sama halnya sebuah situs web produksi lainnya, karena hacker atau cracker biasanya akan melakukan pemindaian pada kisaran nomor IP untuk mencari kelemahannya dengan menjadikan target sebuah situs web tertentu.
Di antara semua versi yang tersedia kita akan menggunakan Apache, PHP dan MySQL dalam satu buah versi untuk tutorial ini. Kita tidak menyediakan link langsung ke file karena situs tersebut bergantung pada mirror untuk aplikasi download-nya, dan release-nya sering mengalami update atau perbaikan, dan perubahan nama file.
Apache: http://httpd.apache.org/download.cgi
Download Win32 Binary (MSI Installer) (apache_2.0.xx-win32-x86-no_ssl.msi).
PHP: http://www.php.net/downloads.php
Download Windows binaries, baik paket dalam ZIP (php-4.4.x-Win32.zip) dan Installer-nya (php-4.4.x-Installer.exe).
MySQL: http://dev.mysql.com/downloads/mysql/4.0.html
Download paket Windows (x86) (mysql-4.0.xx-win32.zip).
phpMyAdmin: http://www.phpmyadmin.net/home_page/downloads.php
Sebuah alat administrasi MySQL yang terkenal.
Download paket ZIP (phpMyAdmin-2.xx-plx.zip).
Lakukan klik ganda pada file MSI untuk memulai installasi Apache, namun untuk sistem operasi Windows 98/Me kita perlu menginstall aplikasi MS Windows Installer sebelumnya.




Setelah menerima lisensi, kita akan diminta untuk mengisi beberapa informasi tentang domain jaringan, nama server dan email administrator. Karena ini akan menjadi server uji coba, kita dapat memasukkan apa pun yang kita inginkan, namun direkomendasikan untuk menggunakan nama jaringan komputer sebagai nama server dan domain, karena hal ini dipergunakan untuk memberi akses server agar dapat dilakukan dari komputer lain pada jaringan lokal melalui nama dan tidak hanya nomor IP-nya saja.
Kemudian masukkan sebuah nama email dummy seperti "admin@networkname", namun ini tidak wajib. Tentang opsi-opsi dari bawah, kita pergunakan pilihan yang disarankan saja atau bahkan jika kita ingin memulai aplikasi server secara manual, kita akan melihat bagaimana melakukan perubahan ini nantinya. Pada sistem operasi Windows 98/Me harus memilih pilihan kedua karena versi Windows tersebut tidak memiliki dukungan sistem pelayanan.

Apache – Pilihan installasi pertama
Setelah melakukan tahapan-tahapan tersebut di atas sebelumnya, maka setelah itu lakukan memilih Custom installasi dan menghapus Build Headers and Libraries, karena kesemuanya tersebut dipergunakan hanya untuk pengembangan ekstensi server. Kita dapat menghapus dokumentasi Apache jika kita tidak membutuhkannya. Dan, kita pun dapat mengubah posisi folder installasi di sini.



Apache – Pilihan installasi kedua
Selanjutnya untuk memulai installasi tekan Next. Jika semuanya berjalan dengan baik, layanan Apache akan dijalankan dan kita akan melihat sebuah icon baru dalam system tray sistem: Apache Service Monitor.



Ini adalah alat yang berguna untuk mengelola layanan Apache: kita bisa meminta aplikasi untuk mulai, stop dan restart pada layanan dari sini.
Untuk pengguna Windows 98/Me: Kita harus menggunakan cara pintas agar dapat melakukan Start Apache dari Console untuk memulai server. Dan untuk menutup server, tekan Ctrl+C pada jendela console Apache.
Pada tahapan ini, jika kita telah menjalankan firewall di komputer, jika tidak, maka kit sebaiknya benar-benar harus menjalankannya, kita mungkin akan menerima pemberitahuan agar "Apache HTTP Server" atau "Apache.exe" dijalankan sebagai server. Rekomendasi saya adalah:
1. Access/outbound permissions: Kita harus mengijinkan akses outbound untuk Apache baik di dalam jaringan lokal atau zona yang dapat dipercaya dan ke Internet, karena kita nantinya membutuhkan akses eksternal untuk beberapa script PHP, misalnya script yang mengambil XML dari file pada situs web lain untuk diolah .
2. Server/inbound permissions: Kita harus memberikan hak akses kepada server Apache ke jaringan lokal atau zona yang dapat dipercaya atau firewall akan mem-blok setiap usaha koneksi yang akan terjadi nantinya, tetapi kita harus mem-blok akses masuk dari Internet. Karena server hanya ditujukan untuk melakukan tes lokal saja maka kita tidak perlu untuk meng-expose-nya ke hacker tanpa alasan.
Catatan untuk router/NAT: Jika akses Internet kita disediakan melalui sebuah router dengan menggunakan NAT, semua lalu lintas inbound dari Internet akan secara otomatis diblokir, kecuali jika kita mengkonfigurasi router untuk memungkinkan akses inbound pada beberapa port.
Ini bagus dari sudut pandang keamanan, namun mengerikan jika kita ingin mengakses server dari Internet. Jika untuk alasan tertentu kita memerlukan akses eksternal ke server pengujian kita, kita dapat melakukan pemeriksaan terhadap dokumentasi tentang router tersebut dan bagaimana pola pemetaan port yang digunakan jika dihubungkan dengan Apache, namun biasanya secara umum menggunakan port 80, ke komputer kita. Sekarang jika kit membuka browser dengan alamat "http://localhost/" maka kita akan mendapatkan halaman selamat datang dari Apache.

Sekarang mari kita lihat bagaimana kita dapat mengkonfigurasi beberapa pilihan dasar pada server sesuai dengan kebutuhan.
Sebagian besar konfigurasi Apache disimpan di dalam file bernama “httpd.conf” yang terletak di dalam sub folder “conf” dari folder installasi Apache. Ada juga file lain, “httpd.default.conf”, yang berisi konfigurasi default dari server dan sangat berguna jika kita mungkin suatu saat telah mengacaukan sesuatu di dalam konfigurasi dan server berhenti bekerja. Secara default, Apache menggunakan server root folder "htdocs" yang terletak di dalam folder installasi. Ini adalah folder di mana kita meletakkan file-file yang akan dilayani oleh Apache. Jika kita ingin menggunakan cara yang lain, cari di httpd.conf, pilih DocumentRoot dan menempatkan folder yang kita ingin gunakan sebagai server root, dengan ditandai oleh tanda kutip ganda. Kemudian bergerak menuju beberapa baris di bawahnya sampai kita menemukan komentar yang berbunyi "This [the following line] should be changed to whatever you set DocumentRoot to ", dan ikutilah sarannya. Misalnya, jika kita ingin mengubah root server untuk "D:\Web server", kita harus menggunakan baris konfigurasi berikut ini:
DocumentRoot "D:/Web server"
Dan beberapa baris di bawah ini:
Perhatikan, untuk versi Apache di sistem operasi Windows, kita dapat menggunakan garis miring (slash) atau backslash untuk memperjelas jeda nama path, keduanya akan bekerja serupa (saya lebih sering menggunakan garis miring sebagaimana cara biasa).
Terakhir, restart server untuk menerapkan semua perubahan yang terjadi. Pada saat kita akses ke http://localhost/, kita akan melihat daftar isi folder dari root yang baru. Dari sini kita dapat melihat dua hal perbedaan dari server root di salah satu mesin pengujian kita, satu dari mesin yang sama di mana server terinstall, dan yang lainnya dari komputer lain pada jaringan lokal yang sama:
- Apache web root – localhost
- Apache web root - external access

Apache menggunakan serangkaian modul untuk memperluas kemampuan servernya, seperti mod_ssl untuk menambahkan daya dukungan pengamanan koneksi atau mod_rewrite untuk URL dapat menulis ulang. Secara default, tidak semua modul diaktifkan oleh server. Jika kita perlu mengaktifkan beberapa dari modul tersebut, kita dapat mencari bagian dari modul httpd.conf, salah satu yang memiliki banyak baris LoadModule. Jika baris yang menjelaskan tentang modul diberi tanda komentar, yakni dimulai dengan tanda "#", maka artinya adalah modul tersebut tidak sedang aktif, dan kita perlu untuk menghapus karakter komentar tersebut jika ingin mengaktifkannya. Sebagai contoh, jika kita ingin mengaktifkan modul mod_rewrite, pertama kita perlu mencari baris yang menggambarkan modul tersebut:
#LoadModule rewrite_module modules/mod_rewrite.so
Dan kemudian menghapus karakter komentar "#" untuk mengaktifkannya:
LoadModule rewrite_module modules/mod_rewrite.so
Setelah itu, me-restart server untuk menerapkan perubahan konfigurasi.

Konfigurasi lain yang berubah:
- Mengubah server agar dapat dilakukan permulaannya secara manual. Jika kita tidak ingin memiliki server yang selalu diaktifkan oleh sistem operasi, klik ganda pada tray icon Apache Service Monitor untuk membuka jendela utama dan klik tombol Service. Cari "Apache2.2" dalam daftar dan lakukan double-klik untuk mendapatkan properti layanan. Di dalam dialog properti lakukan perubahan dari jenis start (mulai) dari Automatic ke Manual dan klik OK. Mulai sekarang, server hanya akan dimulai bekerja ketika kita menggunakan tombol Start pada Apache Service Monitor, atau melalui shortcut yang terletak di folder Apache2.0.xx dari Start Menu.
- Mengaktifkan file .htaccess: Secara default, Apache tidak mengijinkan memodifikasi konfigurasi server menggunakan file .htaccess. Jika kita ingin mengaktifkan perilaku ini, kita perlu menemukan di httpd.conf pada baris berikut:
AllowOverride None
Dan mengubahnya ke:
AllowOverride All
Perhatikan bahwa ada baris lain dengan tulisan yang sama "di dalam" tag . Kita harus mengubah baris tersebut, yang tidak dikelilingi oleh parameter konfigurasi lainnya.
- Menambahkan set karakter secara default, meskipun kita dapat melakukan hal tersebut pada file .htaccess, jika kita ingin ke menempatkan set karakter default untuk semua halaman, maka kita dapat melakukannya dengan menambahkan file httpd.conf pada baris seperti di bawah ini:
AddDefaultCharset ISO-8859-1
AddDefaultCharset ISO-8859-15
AddDefaultCharset UTF-8
... ...
Atau apa pun set karakter yang kita perlu menggunakannya.
Apabila port 80 telah digunakan dan dikuatkan pada saat kita menerima pesan kesalahan seperti:
ERROR 1
Only one usage of each socket address is normally permitted.
make_sock: could not bind address 0.0.0.0.:80 no listening sockets available, shutting down:
Unable to open logs
...
ERROR 2
[Sat Oct 10 14;22:48 2004] [error] The system cannot find the specific ed. no installed service named "Apache2".
Perhatikan kesalahan atau pesan di atas, dan kemudian tekan tombol untuk keluar
Hal ini berarti bahwa ada server lain yang sudah berjalan pada port 80 (port default yang digunakan untuk koneksi HTTP). Hanya satu aplikasi yang dapat mendengarkan koneksi pada port tertentu pada saat yang bersamaan, jadi jika kita memiliki aktif server lain (seperti IIS), Apache tidak dapat menggunakan port tersebut.
Solusi untuk ini adalah sederhana, lakukan proses menutup atau menonaktifkan program lain saat kita perlu menggunakan Apache. Jika kita tidak tahu program apa menggunakan port, kita dapat menggunakan aplikasi utilities seperti Active Ports atau TCPView untuk mendapatkan daftar program terkait dengan port mana yang dilakukan aktifasi dalam sistem.
Jika karena alasan tertentu kita perlu mempertahankan program lainnya yang berjalan dalam port 80, maka kita dapat mengubah nomor port di mana Apache akan mendengarkan koneksinya. Kita dapat menggunakan nomor port yang belum digunakan oleh program lain di antara port 1024 dan 65535 (misalnya 8080, 8000, 10080, 12345 ...).
Untuk melakukan hal itu, kita dapat membuka file httpd.conf dan kemudian mencari baris berikut (berada di bagian yang berbeda dari file):
Listen 80
ServerName your-server-name:80
Dan kemudian menggantinya dari 80 dengan nomor port yang ingin kita ingin gunakan:
Listen 8080
ServerName your-server-name:8080
Selanjutnya kita dapat mengakses ke server dengan menggunakan nama host ditambah nomor port yang dipisahkan oleh titik dua, seperti dalam contoh:
http://localhost:8080/
http://your-server-name:8080/
***selamat mencoba...;)