🛠️ Instalasi & Setup Lingkungan
Panduan setup lingkungan Backend PHP + MySQL untuk Windows, macOS, dan Linux. Di akhir panduan ini kamu punya server database berjalan + database db_absensi, siap lanjut ke Database.
Yang Diinstal
| Komponen | Fungsi |
|---|---|
| PHP | Menjalankan kode server-side |
| MySQL / MariaDB | Server database |
| Web server (Apache) | Menyajikan file PHP ke browser |
| phpMyAdmin (opsional) | Kelola database lewat browser |
| Sistem Operasi | Cara disarankan |
|---|---|
| Windows | Laragon |
| macOS | Homebrew atau XAMPP |
| Linux (Ubuntu/Debian) | Paket apt |
📚 Sumber & Unduhan Resmi
| Perangkat | Situs resmi |
|---|---|
| Laragon | laragon.org |
| Homebrew | brew.sh |
| XAMPP (Apache Friends) | apachefriends.org |
| PHP | php.net |
| MySQL | dev.mysql.com |
| MariaDB | mariadb.org |
| Apache HTTP Server | httpd.apache.org |
| phpMyAdmin | phpmyadmin.net |
Windows: Laragon (Disarankan)
- Download & instal Laragon dari situs resminya (pilih versi Full agar sudah termasuk Apache, MySQL, PHP, dan phpMyAdmin).
- Nyalakan layanan: buka control panel Laragon, klik Start All (menyalakan Apache + MySQL/MariaDB).
- Buka phpMyAdmin di browser:
http://localhost/phpmyadmin/ - Buat database
db_absensi(klik New → isi nama → Create). - File PHP diletakkan di folder root Laragon (misalnya
D:\laragon\www\) dan diakses viahttp://localhost/nama-folder/.
macOS: Homebrew (Disarankan)
Homebrew adalah package manager paling populer di macOS untuk menginstal perangkat lunak lewat Terminal. Lihat brew.sh.
Langkah 1: Install Homebrew (jika belum ada)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Ikuti instruksi di layar (masukkan password Mac jika diminta), lalu ikuti perintah Next Steps di terminal untuk mendaftarkan brew ke PATH.
Langkah 2: Install PHP & MySQL
brew install php
brew install mysqlLangkah 3: Nyalakan layanan MySQL
brew services start mysqlUntuk menghentikannya: brew services stop mysql.
Langkah 4: Buat database
mysql -u rootCREATE DATABASE db_absensi;
EXIT;(Biasanya di Mac, root awal tidak memerlukan password.)
macOS: XAMPP (Alternatif GUI)
Jika lebih nyaman dengan panel grafis (mirip Laragon di Windows):
- Download installer XAMPP untuk macOS dari Apache Friends. Pilih arsitektur yang sesuai (Intel atau Apple Silicon M1/M2/M3).
- Instalasi: buka file
.dmg, geser ikon XAMPP ke folder Applications. - Nyalakan server: buka XAMPP → tab Manage Servers → Start Apache Web Server dan MySQL Database.
- Buat database: buka
http://localhost/phpmyadmin/di browser, buat databasedb_absensi.
Linux: Paket apt (Ubuntu/Debian)
sudo apt update
sudo apt install apache2 mysql-server php php-mysqliNyalakan dan aktifkan layanan:
sudo systemctl start apache2 mysql
sudo systemctl enable apache2 mysqlAmankan instalasi MySQL (atur password root / hapus user anonim):
sudo mysql_secure_installationBuat database (masukkan password root yang baru dibuat):
sudo mysql -u root -p -e "CREATE DATABASE db_absensi;"💡 MariaDB vs MySQL
Di distro Linux modern, paket mysql-server sering berupa **MariaDB, sepenuhnya kompatibel untuk materi ini (perintah SQL-nya sama).
✅ Verifikasi Instalasi
| Cek | Perintah / alamat | Hasil yang diharapkan |
|---|---|---|
| PHP | php -v | Menampilkan versi, misalnya PHP 8.x |
| MySQL | mysql --version | Menampilkan versi MySQL/MariaDB |
| Web server | http://localhost/ di browser | Halaman default Apache/Laragon |
| phpMyAdmin | http://localhost/phpmyadmin/ | Login dan terlihat database db_absensi |
Selanjutnya buat tabelnya dengan perintah CREATE TABLE tb_absensi di Database atau MySQL.
Konfigurasi koneksi.php
Sesuaikan kredensial dengan setup masing-masing OS:
| Setup | $user | $pass |
|---|---|---|
| Laragon (Windows) | root | kosongkan ("") |
| XAMPP (macOS/Windows) | root | kosongkan ("") |
| Homebrew (macOS) | root | kosongkan ("") |
Linux (apt + mysql_secure_installation) | root | password yang kamu atur |
<?php
$host = "localhost";
$user = "root";
$pass = ""; // isi password jika setup Linux / jika root berpassword
$db = "db_absensi";
$koneksi = mysqli_connect($host, $user, $pass, $db);
if (!$koneksi) {
die("Koneksi database gagal: " . mysqli_connect_error());
}
?>Troubleshooting Umum
Access denied for user 'root'@'localhost': password salah atau root memakai pluginauth_socket(umum di Linux/Homebrew):- Linux: masuk via
sudo mysql, lalu atur password atau buat user khusus:sqlALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password-baru'; FLUSH PRIVILEGES; - Homebrew (lupa password):
brew services stop mysql, lalumysqld_safe --skip-grant-tables &danmysql -u rootuntuk reset.
- Linux: masuk via
- Perintah
php/mysqltidak dikenali: pastikan direktori instalasi masuk PATH:- macOS (Homebrew,
~/.zshrc):export PATH="/opt/homebrew/bin:$PATH", lalusource ~/.zshrc. - Windows: tambahkan folder
php/mysql/binLaragon atau XAMPP ke Environment Variables → Path. - Linux: instalasi via
aptsudah masuk PATH otomatis. Jika tidak ketemu, pastikan paketnya terinstal (php -v).
- macOS (Homebrew,
- Port bentrok (Apache tidak mau start): port 80/443 dipakai aplikasi lain (umum di Windows/XAMPP): hentikan aplikasi tersebut atau ganti port Apache di konfigurasi.
- Port 3306 bentrok (MySQL tidak mau start): dua server MySQL berjalan bersamaan (misalnya Laragon + XAMPP, atau service + manual): matikan salah satunya.
- Layanan mati setelah restart (Linux): pastikan enabled:
sudo systemctl enable apache2 mysql.
➡️ Lanjut
Kembali ke Database untuk mulai membuat tabel tb_absensi.
