Konfigurasi Timezone & Koordinat GPS Server
Panduan Konfigurasi Timezone & Koordinat GPS Server
Panduan langkah demi langkah untuk mengonfigurasi zona waktu (timezone) pada tingkat **Sistem Linux (timedatectl)** serta konfigurasi zona waktu dan koordinat GPS pada **PHP (php.ini)** agar waktu dan fungsi astronomi (seperti perhitungan matahari) sesuai dengan lokasi server di Indonesia.
1. Konfigurasi Zona Waktu pada Sistem Linux (OS Level)
A. Cek Status Waktu Saat Ini
timedatectl status
B. Melihat Daftar Zona Waktu Indonesia
timedatectl list-timezones | grep Asia/
- **WIB (Waktu Indonesia Barat):**
Asia/Jakarta - **WITA (Waktu Indonesia Tengah):**
Asia/Makassar - **WIT (Waktu Indonesia Timur):**
Asia/Jayapura
C. Mengubah Zona Waktu ke WIB (Asia/Jakarta)
sudo timedatectl set-timezone Asia/Jakarta
D. Memastikan Layanan NTP (Network Time Protocol) Aktif
sudo timedatectl set-ntp on
2. Konfigurasi Timezone & Koordinat GPS pada PHP (php.ini)
Pada file konfigurasi PHP (`php.ini`), direktif `date.timezone`, `date.default_latitude`, dan `date.default_longitude` mengatur zona waktu default aplikasi serta lokasi geografis untuk fungsi astronomi PHP (seperti `date_sunrise()` dan `date_sunset()`).
A. Mengubah Konfigurasi php.ini
1. Buka file `php.ini` server web (contoh pada PHP 8.x di Apache/FPM):
sudo nano /etc/php/8.2/apache2/php.ini # Atau jika menggunakan PHP CLI / FPM: # sudo nano /etc/php/8.2/fpm/php.ini
2. Cari blok `[Date]` (gunakan kombinasi Template:Kbd + Template:Kbd lalu ketik `[Date]`).
3. Hapus tanda titik koma (`;`) di awal baris jika ada, lalu sesuaikan nilainya:
[Date] ; Zona waktu default (misal: WIB) date.timezone = Asia/Jakarta ; Koordinat GPS Lokasi Server (Contoh: Mojokerto / Indonesia) date.default_latitude = -7.498499840813037 date.default_longitude = 112.48849897373154
B. Restart Web Server
Agar perubahan pada `php.ini` diterapkan oleh sistem, restart web server:
# Jika menggunakan Apache: sudo systemctl restart apache2 # Jika menggunakan PHP-FPM & Nginx: sudo systemctl restart php8.2-fpm nginx
3. Verifikasi Perubahan pada phpinfo()
Buat atau periksa kembali halaman `info.php` pada browser (`http://31.58.59.156/info.php`):
| Directive | Nilai Sebelum (Default) | Nilai Sesudah Konfigurasi |
|---|---|---|
| **`date.timezone`** | UTC |
Asia/Jakarta
|
| **`date.default_latitude`** | 31.7667 |
-7.498499840813037
|
| **`date.default_longitude`** | 35.2333 |
112.48849897373154
|