Cara menginstall Apache, PHP dan MySQL pada Windows 7

Posted: 17 Oct 2013, Last updated: 17 Oct 2013

Untuk membuat program PHP, kita memerlukan suatu web server, PHP itu sendiri dan suatu database server. Di sini saya akan berbagi bagaimana cara Saya menginstall program-program tersebut. Saya menggunakan Windows 7, tetapi saya yakin bahwa cara yang sama dapat juga digunakan pada Windows 8. Kita dapat menginstall Apache, PHP dan MySQL menggunakan paket aplikasi seperti WampServerXAMPP atau Appserv. Akan tetapi di sini Saya akan menggunakan cara yang lebih manual, menggunakan precompiled binaries. Perlu diketahui bahwa precompiled binaries bukanlah file .msi yang merupakan suatu installer otomatis.

Mendownload File

Pertama-tama, download file-file yang diperlukan untuk instalasi kita, secara terpisah dari website masing-masing.

1. Download Apache HTTP Server

Meskipun Apache menyediakan source code Apache HTTP Server untuk didonwload di http://httpd.apache.org/. Cukup sulit untuk mengcompile source code sampai bisa dijalankan. Jadi Saya menggunakan precompiled binaries yang tersedia pada salah satu situs yang disebutkan pada halaman catatan khusus menggunakan Apache pada Windows. Kita menggunakan binaries yang tersedia di apachelounge. Jangan lupa bahwa kita juga membutuhkan Visual C++ Redistributable for Visual Studio 2012 seperti yang juga telah disampaikan pada situs apachelounge.

2. Download PHP

Download PHP dari http://windows.php.net/download/#php-5.5. Pilih instalasi yang paling cocok dengan kebutuhan Anda. Saya menggunakan versi VC11 x64 Thread Safe.

3. Download MySQL atau MariaDB

Sebagian besar orang menggunakan MySQL sebagai database server untuk PHP. Tetapi beberapa waktu yang lalu, saya mengenal versi percabangan dari MySQL bernama MariaDB. Dan beberapa waktu yang lalu, bahkan perusahaan besar seperti google juga berpindah dari MySQL ke MariaDB. Itulah sebabnya saya menganjurkan menggunakan MariaDB sebagai pengganti MySQL. Akan tetapi Anda bebas memilih. Meskipun dikatakan bahwa MariaDB lebih maju dibandingkan MySQL, menurut pandangan Saya, keduanya tidak jauh berbeda, mungkin karena Saya hanya menggunakan syntax-syntax dasar SQL.

Untuk mendownload MySQL, kunjungi alamat ini. Anda dapat menggunakan installer .msi untuk menginstall dengan cepat, tetapi di sini Saya menyarankan untuk menggunakan versi zip. Anda akan diminta untuk login atau register di oracle agar dapat mendownload produk tersebut.

Untuk mendownload MariaDB kunjungi alamat ini. Pilihlah versi stabil kemudian pilih file yang cocok dengan kebutuhan Anda, dan pilihlah versi zip.

Menginstall Apache HTTP Server

Untuk menginstall Apache HTTP Server, pertama install Visual C++ Redistributable, kemudian ekstrak file zip yang telah didownload ke dalam folder yang kita inginkan, misalkan ke C:/WAMP/. Berikutnya, kita perlu mengedit file httpd.conf yang terletak pada folder Apache24/conf/httpd.conf. Buka file tersebut dengan notepad, kemudian ubah baris-baris berikut:

  • ServerRoot, adalah lokasi direktori utama http server kita. Ubah nilainya menjadi C:/WAMP/Apache24
  • ServerAdmin, adalah email webmaster. Masukkan saja email Anda ke sini.
  • ServerName, adalah nama server kita. Hapus tanda komentar (#) dan masukkan nama domain anda, Karena saya hanya menggunakan server secara lokal, saya biarkan nama server tersebut sama seperti semula.
  • DocumentRoot, adalah lokasi di mana kita meletakkan file-file web kita. Ubah nilainya menjadi C:/WAMP/htdocs.
  • htdocs directory, tepat di bawah baris DocumentRoot, terdapat konfigurasi <Directory> berformat XML untuk DocumentRoot. Ubah juga path Directory ini menjadi "C:/WAMP/htdocs". Ubah juga perintah AllowOverride di dalamnya dari None menjadi All. Agar kita dapat menggunakan file konfigurasi .htaccess dalam folder htdocs kita.
  • rewrite_module, apabila suatu saat kita memerlukan perintah RewriteEngine pada file .htaccess kita atau jika Anda menggunakan framework CodeIgniter, Anda perlu menghapus tanda komentar pada perintah LoadModule berikut: LoadModule rewrite_module modules/mod_rewrite.so.
  • IfModule dir_module, adalah file default pada suatu direktori yang akan dibaca apabila ada permintaan pada alamat suatu direktori. Ubah nilai di dalamnya menjadi DirectoryIndex index.php index.html index.htm.
  • Ubah C:/Apache24, Saya tidak benar-benar mengerti konfigurasi lain di dalam httpd.conf, jadi saya merename semua C:/Apache24 menjadi C:/WAMP/Apache24 untuk menyesuaikan dengan struktur direktori saya.

Pada perintah DocumentRoot, kita mengatur pathnya menjadi C:/WAMP/htdocs yang berada di luar folder Apache24. Lokasi asal folder htdocs sebetulnya berada di dalam folder Apache24. Di dalamnya terdapat suatu file index.html sederhana yang menampilkan "It Works!" pada layar. Pindahkan folder ini dari C:/WAMP/Apache24/htdocs ke C:/WAMP/htdocs. Kemudian jalankan command prompt (ketikkan cmd pada start menu) dan ketikkan perintah berikut:

  • cd \wamp\apache24\bin, untuk mengubah direktori yang sedang aktif
  • httpd.exe -k install -n Apache2.4, untuk menginstall http server, sehingga ia akan selalu dijalankan setiap kali kita menyalakan komputer.
  • httpd.exe -k start -n Apache2.4, untuk menjalankan http server kita.

Setelah itu, buka browser dan ketikkan "localhost" pada url. Jika tampil tulisan "It Works!", maka kita telah berhasil menginstall Apache http server.

Jika terdapat error ketika menginstall, ketikkan httpd.exe -k uninstall -n Apache2.4 untuk menguninstall servis httpd, kemudian perbaiki error yang disebutkan. Kemudian coba install dan jalankan kembali http server Anda.

Menginstall PHP

Untuk menginstall PHP, pertama buat folder di dalam folder WAMP, beri nama folder tersebut misalnya php-5.5.3. Kemudian ekstrak file zip yang telah didownload ke dalam folder tersebut dan rename file php.ini-production menjadi php.ini. Buka file php.ini tersebut dengan notepad dan ubah baris-baris berikut:

  • open_basedir, hilangkan tanda komentar (buang tanda titik koma) dan ubah isi open_basedir menjadi "C:/WAMP/htdocs;C:/Windows/TEMP".
  • date.timezone, hilangkan tanda komentar dan isikan "Asia/Jakarta" sebagai nilainya. Untuk zona waktu yang lain, dapat dilihat di sini atau di sini.
  • extensions, hilangkan tanda komentar pada ekstensi php yang mungkin akan kita gunakan. Yaitu:
    • php_curl
    • php_gd2
    • php_mbstring
    • php_exif
    • php_mysql
    • php_mysqli
    • php_pdo_mysql
    • php_pdo_pgsql
    • php_pgsql
  • extension_dir, yaitu path untuk lokasi ekstensi-ekstensi di atas. Ubah nilainya menjadi "C:\WAMP\php-5.5.3\ext"
  • Batasan batasan, kita mungkin perlu mengubah pengaturan berikut:
    • max_execution_time, yaitu batas waktu yang diperbolehkan untuk mengeksekusi suatu script.
    • max_input_time, yaitu batas waktu yang diperbolehkan pada suatu script untuk memproses data input.
    • memory_limit, yaitu batas memori yang boleh digunakan oleh suatu script.
    • display_errors, untuk menampilkan atau menyembunyikan error. Ubah jadi On.
    • post_max_size, batas ukuran data POST yang dapat diterima.
    • upload_max_size, batas ukuran file yang diupload.
    • max_file_uploads, batas jumlah file yang dapat diupload dalam satu kiriman.
    • short_open_tag, untuk memperbolehkan tag php singkat. Dianjurkan dibiarkan tetap Off.

Setelah itu, kita perlu mengarahkan Apache http server untuk mengeloa file-file php kita. Buka kembali file httpd.conf dan tambahkan baris baris berkut:

  • LoadModule php5_module C:/WAMP/php-5.5.3/php5apache2_4.dll
  • AddHandler application/x-httpd-php .php
  • PHPIniDir "C:\WAMP\php-5.5.3"

Setelah menambahkan baris-baris berikut, kita restart http server kita menggunakan command prompt. Buka command prompt dan ketikkan perintah berikut:

  • cd \wamp\apache24\bin
  • httpd.exe -k stop -n Apache2.4
  • httpd.exe -k start -n Apache2.4

Untuk mencoba apakah kita berhasil menginstall PHP atau tidak, buat file index.php di dalam folder htdocs (Anda dapat menggunakan notepad atau IDE PHP favorit Anda). Kemudian ketikkan kode berikut ke dalamnya:

<?php phpinfo(); ?>

Buka browser dan ketikkan localhost dan lihat outputnya. Apabila tampil tabel berwarna biru yang menampilkan informasi-informasi instalasi PHP kita, maka kita telah berhasil menginstall PHP. Jika hanya tulisan <?php phpinfo(); ?> yang muncul, kita perlu memeriksa kembali langkah-langkah instalasi kita.

Menginstall MySQL

Ekstrak folder MySQL atau MariaDB ke dalam folder WAMP kita. Kita tidak harus merename foldernya, akan tetapi Saya masih saja merename foldernya menjadi MariaDB sehingga lebih mudah Saya ingat. Menginstall MySQL agak lebih mudah dibandingkan dengan Apache atau PHP. Masuk ke command prompt dan ketikkan perintah-perintah berikut:

  • cd \wamp\mariadb\bin
  • mysqld --install MySQL
  • net start MySQL

Jika MySQL kita terasa terlalu lambat atau komputer kita menjadi lambat setelah menginstall MySQL, pilih file konfigurasi yang paling cocok dengan kebutuhan Anda dari my-huge.ini sampai ke my-small.ini. Kemudian rename file tersebut menjadi my.ini. Saya menggunakan my-medium.ini untuk digunakan dalam mengembangkan software. Setelah merename file tersebut, restart MySQL dengan mengetikkan:

  • cd \wamp\mariadb\bin
  • net stop MySQL
  • net start MySQL

Dan apabila kita tidak menginginkan MySQL dijalankan setiap kali komputer dihidupkan, ketikkan perintah berikut:

  • cd \wamp\mariadb\bin
  • net stop MySQL
  • mysqld --remove

Untuk keamanan, kita ubah password root MySQL menggunakan perintah mysqladmin -u root password [password anda]. Kita kemudian dapat menjalankan MySQL dari command prompt dengan mengetikkan mysql -u root -p[password tadi]. Coba ketikkan beberapa perintah sql, misalnya show databases; dan tekan enter. Database yang ada pada MySQL akan ditampilkan.

Untuk mencoba MySQL pada PHP, buat file dengan nama misalkan db.php pada folder htdocs, kemudian ketikkan kode berikut ke dalam file tersebut:

<?php
$mysqli = new mysqli("localhost", "root", "password anda");
$hasil = $mysqli->query("SHOW DATABASES");
while ($baris = $hasil->fetch_object()) echo "$baris->Database<br />";
?>

Simpan kemudian buka browser dan ketikkan localhost/db.php pada url. Nama-nama database yang ada di dalam MySQL akan ditampilkan.