• About Author
  • Dharma
  • Materi Ajar
    • Algoritma dan Pemrograman
    • Boolean Algebra
    • Microprocessor and Arduino
    • Network Security
    • New Generation Network
    • Software-defined Network
  • Membangun Server dengan FreeBSD
  • Programming Sector
  • Sosialita
  • Survival Guide

kn-OWL-edge

~ knowledge is power and weapon

kn-OWL-edge

Category Archives: FreeBSD

memberikan sharing knowledge seputar instalasi FreeBSD dan aplikasi2 server yg biasa digunakan

Web Server = FreeBSD 11.3 + Apache 2.4 + PHP 7.3 + MySQL 5.7

05 Minggu Apr 2020

Posted by bogi in FreeBSD, Teknologi, Uncategorized

≈ Tinggalkan komentar

Tag

apache, freebsd, membangun web server dengan apache php mysql, mysql, php

It Works! - FreeBSD 11.3 + Apache 2.4 + PHP 7.3 + MySQL 5.7

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.

 

FAQ FreeBSD

06 Selasa Nov 2012

Posted by bogi in FreeBSD, Seputar IT

≈ Tinggalkan komentar

Beberapa tips dan tricks yg saya dapatkan selama trouble shooting di platform FreeBSD :

  1. pernah secara tidak sengaja mengubah /etc/fstab sehingga saat di-reboot mendapatkan error message :
    “Enter full pathname of shell or RETURN for /bin/sh”
    cara recovery :
    lakukan mount atas mountpoint dimana text editor kita berada, misalnya kita menggunakan “vi” sebagai text editor, maka lakukan :
    # mount /
    # vi /etc/fstab
    <perbaiki file /etc/fstab, lalu save>
    # reboot
  2. pernah mendapatkan web server stuck dimana Apache menolak HTTP request ?
    hal ini pernah terjadi pada web server IMTelkom, dan disolusikan dengan melakukan tuning pada konfigurasi MPM dari HTTP :
    # vi /usr/local/etc/apache22/extra/httpd-mpm.conf
    <edit MaxClients = 100>
    dimana angka 100 didapat dari total memory server dibagi memory yg dibutuhkan per client (didapat dari “top”)

Log Analyzer

27 Rabu Jul 2011

Posted by bogi in FreeBSD

≈ Tinggalkan komentar

Webalizer adalah aplikasi untuk menganalisa log file dari Squid dan Apache dan menampilkan hasil analisanya di web dalam format tabel dan grafik. Analisa yang bisa diberikan oleh webalizer mencakup :

  1. Situs yang banyak diakses
  2. Situs yang banyak di-download
  3. User yang banyak mengakses
  4. User yang banyak men-download

Dimana analisa diberikan dalam time frame daily, monthly, yearly.

Berikut adalah sample shell script yg digunakan untuk menjalankan webalizer melalui cron :
WEBALIZER=”/usr/local/bin/webalizer”
WEBALIZER_OPTION=”-Q -F clf -c /usr/local/etc/webalizer.conf”
TODAY=`date “+%Y%m%d”`
/usr/local/sbin/apachectl stop
/bin/mv /var/log/httpd-access.log /var/log/${TODAY}.httpd-access.log
/bin/mv /var/log/httpd-error.log /var/log/${TODAY}.httpd-error.log
/usr/bin/touch /var/log/httpd-access.log
/usr/bin/touch /var/log/httpd-error.log
/usr/local/sbin/apachectl start
${WEBALIZER} ${WEBALIZER_OPTION} /var/log/${TODAY}.httpd-access.log

[download document]
[back to FreeBSD]

VPN Server di FreeBSD

27 Rabu Jul 2011

Posted by bogi in FreeBSD

≈ Tinggalkan komentar

MPD (Multi Protocol Daemon) adalah aplikasi untuk VPN server yang bisa mengakomodasi Microsoft Dial Up (PPTP, Point to Point Tunelling Protocol) sehingga user yang menggunakan platform Microsoft Windows bisa membuat VPN Dial Up dan terkoneksi secara virtual dengan suatu LAN intranet.

MPD hanya tersedia di FreeBSD dan bisa dikonfigurasi untuk :

  1. Dial Up modem (PPP), yang mengakomodasi On Demand Connection (DoD, Dial On Demand) dan otomatis memutuskan koneksi dialup jika idle
  2. Dial In, menerima koneksi panggilan dari user
  3. Multi Dialup, yang mengakomodasi multiple ISP
  4. PPTP (Point to Point Tunelling Protocol) Server, mengakomodasi banyak user dari Internet untuk bisa terkoneksi dengan LAN intranet
  5. PPTP VPN, mengakomodasi koneksi tetap antar 2 LAN

MPD5 menyediakan koneksi secara dinamis, dimana kita tidak perlu membuat konfigurasi untuk setiap koneksi (pada MPD3, jika kita ingin mengakomodasi 250 user yang bisa konek, maka kita harus membuat 250 konfigurasi pptp).

[download document]
[back to FreeBSD]

Proxy Server di FreeBSD

26 Selasa Jul 2011

Posted by bogi in FreeBSD

≈ 1 Komentar

Squid adalah aplikasi web proxy server untuk keperluan 3A (authentication, authorization, accounting), traffic shaper, dan web caching, dimana dengan menggunakan proxy, semua user dapat mengakses Internet hanya melalui 1 public IP Address (IP Address dari user akan tersembunyi di belakang web proxy).

Dengan menerapkan proxy, berbagai keuntungan bisa didapat :

  1. security (user terlindungi dari dunia Internet karena bersembunyi di belakang proxy)
  2. simplicity (cukup dengan 1 IP address bagi proxy, bisa digunakan untuk melayani banyak user yang ingin terkoneksi ke Internet)
  3. speed (dengan adanya web caching, berbagai object image, script, video, dll yang sering diakses tidak perlu lagi diambil langsung dari server, namun cukup dari web cache)
  4. fairness (dengan adanya delay pool, traffic shaper bisa diterapkan untuk mengatur pembagian bandwidth)
  5. filtering (dengan menerapkan URL Regex, berbagai URL bisa di-block sehingga aksesnya dibatasi)

[download document]
[back to FreeBSD]

Perlindungan Mail Server

26 Selasa Jul 2011

Posted by bogi in FreeBSD

≈ Tinggalkan komentar

Untuk melindungi dan mempertahankan kinerja mail server, ada beberapa point yang harus kita perhatikan :

  1. pengarsipan email agar mailbox tidak penuh
  2. filtering email SPAM
  3. filtering virus/worm/trojan

Archivemail adalah aplikasi untuk menghapus (atau mem-backup) email-email yang sudah out of date dari suatu mailbox. Hal ini ditujukan agar tidak terjadi penumpukan email di suatu mailbox karena suatu hal, yang akan dapat memperlambat akses ke mailbox tersebut.

Spamilter adalah plug-in Sendmail untuk mencegah email2 SPAM masuk ke mailbox. Spamilter bekerja mem-block spam dengan berbagai cara :

  1. Realtime DNS blacklists
  2. Verifikasi alamat pengirim (email sender)
  3. Blacklist dan Whitelist
  4. Verifikasi MTA hostname
  5. Attachment rejection untuk mencegah virus/worm (berdasarkan file extension, spt. .pif, .scr)
  6. SPF

Dan untuk memperkuat blocking spam dari sumber yg sama, Spamilter menggunakan metode :

  1. Realtime firewall (IPFW) blocking dari MTA hosts yg tidak memenuhi kriteria nomor 4 diatas
  2. Realtime rate limited connection blocking dgn memanfaatkan firewall

ClamAV adalah Free Anti Virus yg dapat digunakan sebagai milter (mail filter), plug-in Sendmail untuk mencegah virus dan worm yg menjadi attachment email sebelum masuk ke mailbox.

[download document]
[back to FreeBSD]

POP3 Server di FreeBSD

25 Senin Jul 2011

Posted by bogi in FreeBSD

≈ Tinggalkan komentar

POPD atau POP3 Daemon (Post Office Protocol) adalah protokol agar user bisa terkoneksi (membaca email) dengan mail server. Selain POPD kita bisa juga menggunakan IMAP yang lebih kompleks dan komplit jika dilihat dari fitur yg disediakan.

Pengetesan koneksi POP3 bisa dilakukan dengan cara berinteraksi dengan POP3 server dengan memanfaatkan command line “telnet 127.0.0.1 110”, seperti digambarkan di bawah ini :

# telnet 127.0.0.1 110
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
+OK popd-2.2.2 ready
USER sisfo
+OK enter password for sisfo
PASS passwordsisfo
+OK 43 messages (7694810 octets) (Expire on RETR: 0 Remove on QUIT: 0)
STAT
+OK 43 7694810
LIST
+OK sending list ending with a ‘.’ on a line by itself
1 233991
2 583610
……………
RETR 1
+OK 150
< ………… isi dari email ditayangkan ……… >
DELE 1
+OK
QUIT
+OK Bye

Dovecot adalah aplikasi daemon yang juga menyediakan protokol koneksi POP3 dan IMAP. Lebih stabil dibandingkan POPD, karena pada FreeBSD-amd64, POPD memiliki kendala saat akan membuka attachment email (tapi kendala tersebut tidak terjadi pada FreeBSD-i386).

[download document]
[back to FreeBSD]

Web-Based Mail User Agent di FreeBSD

25 Senin Jul 2011

Posted by bogi in FreeBSD

≈ Tinggalkan komentar

NOCC adalah aplikasi web-based MUA (Mail User Agent) berbasis PHP untuk koneksi ke mail server (membaca dan mengirim email). NOCC sangat sederhana, sangat cepat, namun dengan fitur yang terbatas (hanya untuk membaca dan mengirim email, tanpa ada penyimpanan Sent Items, Draft, maupun Deleted Items). Semua dilakukan dengan berinteraksi langsung dengan mail server.

Sementara SquirrelMail menyediakan tambahan fitur yang tidak ada pada NOCC, yaitu disediakannya media penyimpanan Sent Items, Draft, maupun Deleted Items.

Openwebmail juga adalah suatu aplikasi Mail User Agent untuk koneksi ke mail server. Perbedaannya adalah Openwebmail berbasis Perl sementara NOCC dan SquirrelMail berbasis PHP. Selain itu Openwebmail men-download semua email di mail server ke suatu directory khusus, sehingga ada kemungkinan suatu saat nanti jika user tidak rajin menghapus email lama, user tidak bisa membuka Openwebmail karena INBOX-nya telah melebihi quota atau bahkan directory khusus tersebut menjadi penuh.

Openwebmail memiliki banyak sekali fitur, yang lebih menyerupai organizer pribadi dengan disediakannya Calendar, Task, Note, dll bagi masing-masing user. Oleh karenanya, Openwebmail disarankan untuk digunakan bagi akun email unit (bukan personal) karena dapat mensinergikan beberapa user yang bertugas untuk membaca dan me-reply email yang ditujukan ke unit ybs.

[download document]
[back to FreeBSD]

Mailing List di FreeBSD

24 Minggu Jul 2011

Posted by bogi in FreeBSD

≈ Tinggalkan komentar

Mailman merupakan aplikasi untuk maintenance mailing list yang berbasis Python. Mailing list berbeda dengan mailgroup, dimana mailgroup hanya membuat suatu group yang memiliki anggota beberapa akun email dan mailgroup bersifat open (siapa pun bisa mengirim email ke mailgroup tanpa melewati moderator), sementara mailing list menambah beberapa fungsi yang tidak ada di mailgroup :

  1. terdapat pembatasan ukuran email (header+body+attachment email) yang bisa diterima di setiap mailing list
  2. terdapat pengaturan apakah mailing list bersifat open (siapa pun bisa mendaftar sebagai anggota) atau close (hanya moderator yang bisa menambah anggota suatu mailing list)
  3. digest mode, dimana anggota hanya mendapatkan summary dari semua email pada periode tertentu

Cara kerja Mailman adalah sbb :

  1. user mengirim email ke domain milis (contoh my_milis@milis.imtelkom.ac.id) atau ke alias-nya (my_milis@imtelkom.ac.id) sesuai isi /etc/mail/aliases
  2. email diterima oleh MTA (sendmail) dan dikirimkan ke mailman
  3. setelah mengecek email tsb dan rule yg berlaku pada milis, mailman akan mengirimkannya ke setiap anggota milis

Mailman menyediakan beberapa aplikasi command line untuk mengadministrasi milis dimana command line ini bisa dimanfaatkan untuk integrasi mailman dengan aplikasi lain, seperti misalnya aplikasi akademik yang akan :

  1. membuat mailing list untuk suatu mata kuliah
  2. menambahkan anggota mailing list : semua mahasiswa dan dosen yang terlibat dalam mata kuliah tersebut
  3. membubarkan mailing list mata kuliah tersebut di akhir semester

Selanjutnya kita perlu mengaktifkan interface Mailman via Apache dengan membuat Virtual Host (lihat dokumen). Pipermail adalah archiving dari semua email yang pernah dikirimkan ke mailing list yang bisa dilihat oleh public (siapa pun bisa melihat isi diskusi dalam mailing list). Pipermail bisa diaktifkan dan bisa juga tidak, tergantung apakah isi diskusi dalam suatu mailing list tersebut bersifat terbuka atau tidak.

Jika MTA menggunakan Sendmail, tidak perlu melakukan perubahan setting. Cukup meng-copy baris2 diatas (10 baris setelah ## milis mailing list) ke file /etc/mail/access

[download document]
[back to FreeBSD]

Mail Server di FreeBSD

23 Sabtu Jul 2011

Posted by bogi in FreeBSD

≈ Tinggalkan komentar

Sendmail merupakan salah satu aplikasi MTA (Mail Transfer Agent) yg berfungsi untuk menerima email dan mengirimkannya ke server (host) yg sesuai dan juga sebagai MSP (Mail Submission Program) yg berfungsi untuk mengirimkan email. Sendmail adalah aplikasi MTA bawaan (built in) dari FreeBSD, sehingga kita tinggal mengaktifkannya.

MUA = Mail User Agent, contoh : NOCC, OpenWebMail, Outlook Express

Protokol SMTP digunakan antara MUA <–> MTA (sending email) dan antara MTA <–> MTA (transaksi email antar domain), sementara protokol POP3 dan IMAP digunakan antara MUA <– MTA (download email)

Untuk berinteraksi dengan MTA kita bisa menggunakan interaksi SMTP, seolah-olah kita adalah MTA juga yg ingin menanyakan validitas domain dan user :
# host yahoo.com
yahoo.com has address 216.109.112.135
yahoo.com mail is handled by 1 mx1.mail.yahoo.com.
# telnet mx1.mail.yahoo.com 25
Trying 67.28.113.19…
Connected to mx1.mail.yahoo.com
Escape character is ‘^]’.
220 mta208.mail.re2.yahoo.com ESMTP YSmtp service ready
helo imtelkom.ac.id
250 mta208.mail.re2.yahoo.com
mail from:<sisfo@imtelkom.ac.id>
250 sender <sisfo@imtelkom.ac.id> ok
rcpt to:<sisfo@imtelkom.ac.id>
550 relaying denied for <sisfo@imtelkom.ac.id>
rcpt to:<sisfo@yahoo.com>
250 recipient <sisfo@yahoo.com> ok
^]
telnet> quit
Connection closed.

Untuk mengaktifkan Sendmail, cukup tambahkan baris berikut di /etc/rc.conf :
# cat /etc/rc.conf | grep sendmail
sendmail_enable=”YES”

Jika suatu server hanya berfungsi untuk mengirimkan email (dari diri sendiri) maka Sendmail tidak perlu diaktifkan. Sebagai gantinya dapat digunakan aplikasi SSMTP yg dapat diaktifkan dengan cara :
# cd /usr/ports/mail/ssmtp
# make install replace clean
……… <tunggu sampai selesai> ………
sSMTP has been installed successfully.

# cd /usr/local/etc/ssmtp
# mv revaliases.sample revaliases
# mv ssmtp.conf.sample ssmtp.conf
# cat /usr/local/etc/ssmtp/revaliases
manager:sisfo@imtelkom.ac.id:mail.imtelkom.ac.id:25
# cat /usr/local/etc/ssmtp/ssmtp.conf
root=postmaster
mailhub=mail.imtelkom.ac.id
rewriteDomain=
hostname=imtelkom.ac.id
# make replace

[download document]
[back to FreeBSD]

← Older posts

Berlangganan

  • Entries (RSS)
  • Comments (RSS)

Arsip

  • Januari 2023
  • Februari 2022
  • Juli 2021
  • Mei 2021
  • Maret 2021
  • Januari 2021
  • Desember 2020
  • Juni 2020
  • April 2020
  • Februari 2020
  • Oktober 2019
  • Maret 2019
  • Februari 2019
  • Januari 2019
  • November 2018
  • Oktober 2018
  • Agustus 2018
  • Juni 2018
  • Maret 2018
  • Februari 2018
  • Desember 2017
  • November 2017
  • Oktober 2017
  • September 2017
  • Agustus 2017
  • Juli 2017
  • Juni 2017
  • Mei 2017
  • April 2017
  • Maret 2017
  • Februari 2017
  • Januari 2017
  • Desember 2016
  • November 2016
  • Oktober 2016
  • September 2016
  • Agustus 2016
  • Mei 2016
  • April 2016
  • Januari 2016
  • Desember 2015
  • November 2015
  • November 2014
  • Oktober 2014
  • September 2014
  • Agustus 2014
  • Juni 2013
  • Mei 2013
  • April 2013
  • Februari 2013
  • Januari 2013
  • November 2012
  • Maret 2012
  • November 2011
  • Oktober 2011
  • Agustus 2011
  • Juli 2011
  • Juni 2011

Kategori

  • Dharma
  • Materi Ajar
    • Artificial Intelligence
    • IT audit
    • microprocessor
    • Multimedia System
  • Seputar IT
    • FreeBSD
    • OSS
  • sosialita
  • Teknologi
  • Uncategorized

Meta

  • Daftar
  • Masuk

Blog di WordPress.com.

  • Ikuti Mengikuti
    • kn-OWL-edge
    • Bergabunglah dengan 68 pengikut lainnya
    • Sudah punya akun WordPress.com? Login sekarang.
    • kn-OWL-edge
    • Sesuaikan
    • Ikuti Mengikuti
    • Daftar
    • Masuk
    • Laporkan isi ini
    • Lihat situs dalam Pembaca
    • Kelola langganan
    • Ciutkan bilah ini
 

Memuat Komentar...