
Web Server berbasis Apache 2.4, PHP 7.3, dan MySQL 3.7 di atas FreeBSD 11.3
Pingin bikin web server dengan Apache 2.4 + PHP 7.3 + MySQL 5.7 di atas FreeBSD 11.3? Tutorial ini membahas kembali cara instalasinya karena ternyata banyak yg berbeda dibandingkan dokumen lama yg pernah saya bikin 15 tahun yg lalu 😀
Minggu lalu anak saya yg kelas 8 dapat tugas bikin website sederhana dengan PHP, nyoba2 semua VM ternyata nda ada yg ready untuk web server. Akhirnya pinjam server production di cloud buat anak bisa nyoba script PHP-nya. Setelah tugasnya selesai, akhirnya malahan saya yg tergoda untuk mencoba membangun web server di VM.
Perjalanan saya mulai dengan mendownload FreeBSD, dilihat2 untuk level production yg tersedia adalah versi 11.3, jadi lah saya download yg versi tersebut. Install di VM VirtualBox, selesai dalam waktu sekitar 8 menit. Setting rc.conf untuk konfigurasi sistem (spt DHCP, SSH Daemon, dan disable Sendmail), maka server sudah siap.
Selanjutnya install Apache untuk bisa menjadi web server.
# cd /usr/ports/www/apache24
# make install clean
Instalasi cukup cepat, hanya sekitar 10 menit. Setelah selesai instalasinya, jangan lupa setting rc.conf dengan menambahkan baris berikut:
apache24_enable=”YES”
Lanjut ke instalasi MySQL untuk bisa menyimpan database.
# cd /usr/ports/databases/mysql57-server
# make install clean
Setelah selesai instalasi (lumayan lebih lama, sekitar 30 menit), jangan lupa setting rc.conf dengan menambahkan baris berikut:
mysql_enable=”YES”
Kalau dulu dg step spt ini semuanya sudah beres, tapi ternyata sekarang ada masalah. Ternyata, entah kenapa, ada password default yg dipasang oleh installer, sehingga saya tidak bisa masuk ke mysql server karena diminta password (padahal saya belum memasukkan password). Browsing2, akhirnya ketemu caranya:
# service mysql-server stop
# mysqld –skip-grant-tables
# mysql -u root
mysql> use mysql;
mysql> update user set authentication_string = password(‘newPassword’) where user=’root’;
mysql> flush privileges;
mysql> exit
# mysqladmin -p password ‘newPassword’
Masalah ini yang lumayan bikin lama, karena mencari website yg tepat lumayan susah. Untung lah ketemu di forum-nya FreeBSD.
Sekarang lanjut ke instalasi PHP.
# cd /usr/ports/lang/php73
# make install clean
# cd /usr/ports/lang/php73-extensions
# make install clean
Instalasi PHP lumayan lama, sekitar 6 jam. Bukan instalasinya sih yg lama, tapi tiap kali mau install, ada dialog yg muncul untuk menunggu pilihan kita [OK] atau mau ada yg diubah modul2 yg ingin diinstall. 😀
Setelah selesai instalasi PHP, yg bikin bingung adalah mengaktifkannya di Apache. Dulu setelah selesai install PHP dan Extensions-nya, tinggal inputkan beberapa baris tambahan di httpd.conf langsung beres:
LoadModule php7_module libexec/apache24/libphp7.so
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Tapi sekarang metode tsb gagal. Katanya dia tidak mengenal API “php7_module”. 😦
Ternyata setelah browsing2 ke FreshPort, ada yg harus saya install lagi
# cd /usr/ports/www/mod_php73
# make install clean
Lanjut ke testing dg script echo:
<html>
<body>
<?php echo “Halo, ini php”; ?>
</body>
</html>
Ternyata script php sudah bisa dijalankan oleh Apache…. yeaaay
Selanjutnya testing PHP ke MySQL. Tapi ini nanti aja, udah kepanjangan buat 1 artikel, nanti dilanjut lagi.