Cara Menginstal Apache, PHP, MariaDB, dan Adminer di Windows 10

10753

Untuk pengguna linux Debian/Ubuntu, saya membuat panduan di sini.

Artikel ini akan menjelaskan cara menginstal server web Apache serta PHP (bahasa pemrograman) dan MariaDB (sistem manajemen basis data) secara manual, bukan menggunakan paket distribusi instan seperti XAMPP.

Versi perangkat lunak yang dijelaskan di tulisan ini adalah:

  • Windows 10 Pro versi 1903
  • Apache (httpd) httpd-2.4.39-win64-VS16
  • PHP 7.3.7-Win32-VC15-x64 (Thread Safe)
  • MySQL (MariaDB) 5.5.5-10.3.8
  • Adminer 4.7.1 (english only)

(diperbarui pada 23 Juli 2019)

Menginstal Apache 2.4

Unduh file zip di Apache Lounge sesuai sistem operasi. Karena OS saya Windows 10 64-bit, maka saya mengunduh yang versi Win64.

pilih versi apache

Pastikan Visual C++ Redistributable sudah terinstal (x64 atau x86 tergantung versi Windows; instal keduanya jika tidak yakin).

Ekstrak file zip tadi di C:/Apache24/, sehingga direktori tersebut berisi file-file berikut:

file pada dir Apache

Pada direktori C:/Apache24/conf/, buka file httpd.conf menggunakan Notepad atau semacamnya. Hapus tanda komentar (#) pada variabel ServerName (sekitar baris 227) dan ubah nilainya menjadi

ServerName localhost:80

Menggunakan cmd, tuju direktori C:/Apache24/bin/ dan jalankan perintah berikut untuk memasang service dan menjalankan Apache:

httpd.exe -k install
httpd.exe -k start

Sekarang Apache akan langsung aktif ketika komputer dihidupkan.

Akses http://localhost menggunakan web browser. Seharusnya akan muncul notifikasi sukses "It Works!".

(Gunakan perintah httpd.exe -k stop untuk menghentikan service Apache, atau httpd.exe -k uninstall untuk menghapus service Apache jika diperlukan.)

Menginstal PHP 7

Unduh file zip php di windows.php.net/download. Unduh versi Thread Safe (untuk Apache). Pastikan juga apakah kita menggunakan x86 atau x64.

Ekstrak file zip tersebut di C:/php/. Ubah nama file php.ini-development menjadi php.ini. Buka file tersebut menggunakan text editor. Uncomment variabel extension_dir (sekitar baris 754) dengan cara menghapus tanda titik koma (;), lalu ubah nilainya menjadi "c:/php/ext/".

extension_dir = "c:/php/ext/"

Masih di file tersebut, tuju bagian Dynamic Extensions (sekitar baris 900), lalu uncomment ekstensi php yang mungkin kita perlukan nantinya, seperti:

  • extension=bz2
  • extension=curl
  • extension=mysqli
  • extension=odbc
  • extension=pdo_mysql
  • extension=pdo_odbc
  • extension=pdo_pgsql
  • extension=pdo_sqlite
  • extension=pgsql

Jika perlu, atur juga variabel lainnya yang mungkin dibutuhkan seperti:

  • memory_limit (baris 401, misalnya memory_limit = 512M)
  • post_max_size (baris 686, misalnya post_max_size = 32M)
  • upload_max_filesize (baris 839, misalnya upload_max_filesize = 4M)
  • date.timezone (baris 954, isi dengan Asia/Jakarta atau lihat daftar lengkapnya di php.net)

Agar server Apache kita mengetahui direktori PHP, buka C:/Apache24/conf/httpd.conf menggunakan editor teks dan tambahkan ini di bagian atas:

PHPIniDir "c:/php/"
LoadModule php7_module "c:/php/php7apache2_4.dll"
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php .html

Agar Apache mengenali index.php sebagai file utama (index), tambahkan teks berikut pada bagian dir_module (sekitar baris ke-285):

    DirectoryIndex index.html index.php

Copy tiga file berikut dari direktori c:/php/:

  • libcrypto-1_1-x64.dll,
  • libssh2.dll, dan
  • libssl-1_1-x64.dll

ke direktori c:/Apache24/bin/. Biarkan overwrite file-file yang sudah ada. (Langkah ini diperlukan karena file-file bawaan Apache agak bermasalah.)

Restart Apache dengan perintah httpd -k restart. Tuju direktori document root (C:/Apache24/htdocs/), ubah nama file index.html menjadi index.php. Buka file tersebut menggunakan editor teks, hapus semua isinya, dan tambahkan kode php

phpinfo();

, lalu simpan file tersebut. Cobalah mengakses http://localhost menggunakan web browser, seharusnya akan muncul laman status konfigurasi PHP seperti di bawah:

status php

Membuat Virtual Host (Opsional)

Umumnya kita menempatkan file-file aplikasi web pada direktori htdocs. Namun saya juga akan menjelaskan bagaimana cara membuat virtual host, sehingga proyek aplikasi web lokal yang sedang dibuat dapat diakses dengan alamat unik (misalnya http://dummy).

Pada contoh ini, kita akan membuat sebuah vhost bernama 'dummy', yang bisa diakses menggunakan browser web pada komputer lokal di http://dummy.

Buka file C:/Apache24/conf/httpd.conf. Hapus simbol komentar (#) di depan Include conf/extra/httpd-vhosts.conf (sekitar baris 515).

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

Buka file C:/Apache24/conf/extra/httpd-vhosts.conf. Tambahkan kode berikut pada bagian awal file:

# Automatically (and lazilly) set up correct permission
<Directory C:/Apache24/htdocs>
    Require all granted
</Directory>

<Directory C:/Apache24/vhosts>
    Require all granted
</Directory>

Pada kode di atas, kita memilih direktori virtual host di C:/Apache24/vhosts/. Ubah jika diperlukan.

Sekarang direktori C:/Apache24/htdocs (http://localhost) juga akan dianggap sebagai virtual host. Tambahkan kode berikut di bagian akhir file:

<VirtualHost *:80>
    DocumentRoot "c:/Apache24/htdocs"
    ServerName localhost
</VirtualHost>

Untuk membuat vhost bernama 'dummy', tambahkan kode berikut pada bagian akhir file:

<VirtualHost *:80>
    DocumentRoot "c:/Apache24/vhosts/dummy"
    ServerName dummy
</VirtualHost>

Jangan lupa, buat direktori baru bernama 'dummy' pada C:/Apache24/vhosts/. Pada folder 'dummy', buat file baru bernama index.php. Masukkan kode untuk menguji apakah virtual host sudah terbaca dengan baik, misalnya:

<?php
    echo "<h1>File ini siap dimodifikasi</h1>"
?>

Terakhir, kita harus mengatur agar komputer mengetahui bahwa http://dummy berada di komputer lokal, bukan internet. Tambahkan kode berikut (menggunakan hak administrator) setelah baris terakhir pada file C:/Windows/System32/drivers/etc/hosts:

127.0.0.1       dummy

Restart Apache, lalu tuju http://dummy menggunakan web browser. Virtual host baru lainnya dapat ditambahkan dengan cara seperti di atas.

Menginstal MariaDB

MariaDB dikembangkan oleh komunitas dengan lisensi GNU GPL, sehingga kita bisa menggunakannya gratis tanpa biaya. (MySQL kini dimiliki oleh Oracle). Kedua basis data ini identik dan kompatibel.

Unduh MariaDB di situs resminya. Pilih sesuai versi OS, 32-bit atau 64-bit.

Karena instalasi berbasis GUI, kita cukup mengikuti petunjuk yang ada. Ada beberapa langkah yang harus diperhatikan, misalnya:

setup mariadb

Pada langkah di atas, kita tidak perlu menginstal HeidiSQL karena nantinya kita akan menggunakan Adminer, alternatif dari PHPMyAdmin. (Saya tidak menginstal Database instance karena pada kasus saya, MariaDB versi lama sudah terpasang.)

Tentukan password root (jangan sampai lupa), lalu pada langkah Database settings, biarkan saja seperti itu. Catat Service name dan TCP Port.

Basis data akan tersimpan pada folder 'data' di direktori instalasi, misalnya C:\Program Files\MariaDB 10.3\data\.

Menginstal Adminer

Pada contoh ini, saya akan menggunakan Adminer, program manajemen basis data yang ditulis di satu file PHP.

Unduh di sini, ukurannya sekitar 457 kB. Rename nama file menjadi adminer.php. Tempatkan di direktori htdocs (misalnya C:/Apache24/htdocs/). Tuju http://localhost/adminer.php menggunakan web browser.

adminer login

Pilih 'MySQL'. Masukkan password yang valid (yang tadi dibuat saat menginstal MariaDB).

daftar database

Selesai.

Jika ada kendala atau masukan, silakan sampaikan pada komentar.