Pengembangan Script Instalasi dan Konfigurasi Samba Server pada Openwrt 12.09 Attitude Adjustment 1
Didik Kurniawan, 2Wisnu Wardhana dan 3Imam Gunaro 1
Jurusan Ilmu Komputer, FMIPA, Universitas Lampung 2 Linux Lampung 3 Jurusan Ilmu Komputer, FMIPA, Universitas Lampung
Abstract Samba is a re-implementation of the SMB (Server Message Block) / CIFS (Common Internet File System) from Windows NT used for providing shared access to files, printers and miscellaneous communications between nodes on a network. Samba uses the client- server mechanism whereby a computer will act as a server and should always be active to provide services to users. As an alternative, wireless router is used to replace computer server functionality to provide the same services as computer server did. By using OpenWrt, wireless router can be installed with Samba server. To simplify the installation and configuration process of Samba server, we designed a Bash shell script to automatically installing and configuring Samba server on OpenWrt router. Keywords: bash, networking, OpenWrt, router, samba, shell script
1
Pendahuluan
Pemanfaatan teknologi wireless sudah banyak sekali jenisnya, seperti sebagai media berbagi jaringan internet, printer sharing dan file sharing dengan menggunakan Samba. Untuk dapat menjalankan berbagai layanan tersebut, dibutuhkan sebuah komputer yang bertindak sebagai server untuk mengatur semua layanan agar dapat berfungsi dengan baik. Server memberikan layanan bagi komputer lain yang disebut dengan client. Client hanya bisa menggunakan resource yang disediakan server sesuai dengan otoritas yang diberikan oleh Administrator server [1]. Untuk dapat terus menjalankan berbagai layanan tersebut, komputer server harus selalu diaktifkan. Hal ini mengakibatkan pemakaian daya yang cukup besar dari komputer server. Berdasarkan uraian tersebut, penulis melakukan penelitian menggunakan wireless router sebagai alternatif server untuk tetap menyediakan layanan yang sama dengan komputer server namun dengan penggunaan daya yang relatif lebih kecil. Wireless router akan bekerja sebagai pengendali komunikasi dari setiap device yang tersambung dengan Wireless LAN [2]. Dengan menggunakan firmware OpenWrt, router dapat digunakan layaknya sebuah komputer karena user dapat menambahkan berbagai fitur yang ada pada router melalui software packages yang tersedia seperti Samba server, Mail server, VPN, dan lain-lain [3]. Penulis menggunakan sistem operasi OpenWrt 12.09 Attitude Adjustment dan dipasang pada wireless router yang mendukung firmware OpenWrt untuk menjalankan Samba server. Pada penelitian ini, penulis akan meletakkan fokus penelitian pada cara mempermudah proses instalasi dan konfigurasi Samba server dengan menggunakan Shell script (Bash) di wireless router serta cara mengakses Samba server melalui computer Windows, Linux dan Android.
http://jurnal.fmipa.unila.ac.id/index.php/komputasi
Hal. 41 dari 137
2
Metodologi
Secara sistematis, langkah-langkah yang dilakukan dalam penelitian ini adalah melakukan studi literatur untuk mencari referensi yang relefan dengan penelitian. Melakukan instalasi firmware OpenWrt pada sebuah wireless router yang mendukung OpenWrt dan konfigurasi jaringan agar dapat digunakan untuk mengakses internet melalui port Ethernet maupun USB modem. Menambah kapasitas memori yang terbatas dalam sebuah router dengan menggununakan metode extroot. Mendesain script instalasi & konfigurasi Samba server menggunakan bash shell scripting. Melakukan pengujian script dan Samba server yang telah terpasang pada wireless router. Jika Samba server berfungsi dengan baik, proses selanjutnya melakukan pengujian melalui client.
3 3.1
Pembahasan Instalasi OpenWrt 12.09 Attitude Adjustment pada Router
Instalasi OpenWrt dilakukan melalui web management router. Instalasi hanya dapat dilakukan melaui port ethernet, tidak melalui wifi. Pada penelitian ini, web management router dapat diakses melalui default IP 192.168.0.254. Instalasi OpenWrt dilakukan dengan menggunakan komputer yang terkoneksi ke router melalui port ethernet. Setelah firmware OpenWrt terpasang, router dapat diakses melalui IP default OpenWrt yaitu 192.168.1.1 [4]. Sebelum mengakses LuCI (web management OpenWrt), password akun root harus diatur melaui telnet. Setelah mengatur password akun root, maka telnet akan dinonaktifkan dan sebagai gantinya ssh akan diaktifkan.
3.2
Konfigurasi Jaringan OpenWrt
3.2.1 Konfigurasi Jaringan Melalui Ethernet Pada Windows, cara melakukan internet sharing dapat dilakukan dengan mengakses menu Network and Sharing Center. Kemudian masuk ke menu Change adapter settings pilih menu Properties pada koneksi yang akan di share ke router. Pilih ke bagian Sharing dan beri checklist pada opsi “Allow other networks users to connect through this computer’s Internet connection”.
Figure 1 Internet Connection Sharing
http://jurnal.fmipa.unila.ac.id/index.php/komputasi
Hal. 42 dari 137
3.2.2 Konfigurasi Jaringan Melalui Modem USB Untuk dapat menggunakan koneksi dari modem USB, ada beberapa software packages yang harus dipasang pada OpenWrt. Software packages yang dibutuhkan antara lain usbutils kmod-usb2 kmodusb-ohci kmod-usb-uhci kmod-usb-serial kmod-usb-serial-option kmod-usbserial-wwan usbmodeswitch usb-modeswitch-data comgt luci-proto-3g [5]. Setelah pemasangan software packages selesai, proses beikutnya yaitu melakukan konfigurasi jaringan untuk interface modem USB dengan mengubah file “/etc/config/network”. Untuk memudahkan konfigurasi jaringan modem USB, digunakan konfigurasi untuk interface “wan” dan diubah menjadi seperti berikut ini: config interface ‘wan’ option ifname ‘ppp0’ option device ‘/dev/ttyUSB0’ option apn ‘internet’ option service ‘umts’ option proto ‘3g’
Kemudian mengubah file “/etc/config/chatscripts/3g.chat” untuk dial-up menjadi seperti ini: ABORT ABORT ABORT REPORT TIMEOUT "" OK OK SAY TIMEOUT OK CONNECT
BUSY 'NO CARRIER' ERROR CONNECT 10 "AT&F" "ATE1" 'AT+CGDCONT=1,"IP","$USE_APN"' "Calling UMTS/GPRS" 30 "ATD*99#" ' '
Untuk melakukan dial-up digunakan command “ifup wan”. 3.2.3 Konfigurasi Jaringan Wireless LuCI dapat digunakan untuk memudahkan pengaturan konfigurasi wireless. Akses web management router dan pilih pada tab Network, Wifi. Ubah konfigurasinya sesuai dengan kebutuhan seperti Channel, Transmit Power, ESSID, Mode, Network, Wireless Security dan lainlain. Setelah selesai, pilih menu “enable” kemudian Save & Apply [6].
3.3
Extroot filesystem OpenWrt
Extroot adalah metode untuk menambah kapasitas filesystem OpenWrt dengan me-mount partisi sebuah flashdrive pada mount points /overlay. Dibutuhkan beberapa software packages untuk OpenWrt agar dapat mengenali flashdrive dan mengatur mount points-nya. Software packages tersebut antara lain kmod-usb-core kmod-usb-storage block-mount kmod-fs-ext4 kmod-fs-vfat [7]. Setelah software packages terpasang, mount points pada file “/etc/config/fstab” diubah agar memounting setiap partisi dari flashdrive. Proses berikutnya yaitu menyalin seluruh isi partisi /overlay ke partisi di flashdrive, dalam penelitian ini mount points partisi kedua flashdrive adalah “/mnt/sda2”. Proses menyalin data dapat dilakukan dengan menggunakan command berikut ini:
http://jurnal.fmipa.unila.ac.id/index.php/komputasi
Hal. 43 dari 137
tar -C /overlay -cvf - . | tar -C /mnt/sda2 -xf – mkdir -p /tmp/cproot mount --bind / /tmp/cproot tar -C /tmp/cproot -cvf - . | tar -C /mnt/sda2 -x umount /tmp/cproot
Setelah proses menyalin selesai, file /etc/config/fstab diubah dengan menambah kode option 'is_rootfs' '1' pada bagian config mount option device '/dev/sda2' agar nantinya partisi flashdrive tar-mount sebagai partisi /overlay.
3.4
Desain Script Instalasi dan Konfigurasi Samba server
3.4.1 Kode Instalasi Samba server Pada tahap ini script didesain untuk melakukan proses instalasi dan konfigurasi Samba server dengan menambahkan sebuah folder share yang dapat diakses oleh semua Samba user serta sebuah akun administrator yang dapat memanjemen file yang terdapat pada Samba server. Kode script dimulai dengan memasang Samba server, kemudian konfigurasi firewall, menambahkan user dan group, membuat akun administrator, membuat konfigurasi Samba server, menambahkan share folder, mengatur init script, mengatur permission dan menjalankan Samba server. Berikut beberapa potongan kode konfigurasinya: [global] netbios name = |NAME| workgroup = |WORKGROUP| server string = |DESCRIPTION| browseable = yes deadtime = 10 syslog = 10 encrypt passwords = true passdb backend = smbpasswd obey pam restrictions = yes socket options = TCP_NODELAY unix charset = ISO-8859-1 local master = yes preferred master = yes os level = 20 security = user null passwords = yes guest account = nobody invalid users = root smb passwd file = /etc/samba/smbpasswd
3.4.2 Kode Menambah Samba user Script di desain untuk membuat home directory dari user tersebut dan sebuah folder pribadi yang hanya dapat diakses oleh user itu sendiri. Berikut ini beberapa potongan kode script: config 'sambashare' option 'name' '$namauser' option 'path' '/mnt/share/$namauser' option 'read_only' 'no' option 'create_mask' '0770' option 'dir_mask' '0770' option 'guest_ok' 'no' # Create user folder & permission mkdir -p /mnt/share/${namauser} mkdir -p /mnt/share/${namauser}/Private touch /mnt/share/${namauser}/.profile chown -R $namauser:smbgroup /mnt/share/${namauser} chmod -R u=rwx,g=rwx,o= /mnt/share/${namauser}
http://jurnal.fmipa.unila.ac.id/index.php/komputasi
Hal. 44 dari 137
#Permission private folder chmod u=rwx,go= /mnt/share/${namauser}/Private
3.4.3 Kode Menghapus Samba user Kode script pada tahap ini berfungsi untuk menghapus Samba user dan semua file yang tersimpan di Samba server. Berikut beberapa potongan kodenya sed -i -e '/'"$namauser"'/{s/.*//;x;N;N;N;N;N;N;d;};x;${p;x;}' -e '/^$/ d' /etc/config/samba sed -i -e '/'"$namauser"'/{N;N;N;N;N;N;d;}' /etc/samba/smb.conf sed -i "/$namauser/d" /etc/passwd rm -rf /mnt/share/${namauser}
3.4.4 Kode Mencopot Samba Server Script di desain untuk mencopot seluruh instalasi dan konfigurasi Samba server yang telah terpasang pada OpenWrt serta seluruh user dan file yang ada pada Samba server. Berikut ini beberapa potongan kode script pencopotan Samba server: opkg remove samba36-server rm -rf /mnt/share/* sed -i '6,$d' /etc/passwd # 6th Line sed -i '11d' /etc/group # 11th Line echo "Menghapus Konfigurasi firewall & init" sed -i '92,109d' /etc/config/firewall sed -i '5,9d' /etc/rc.local
3.5
Running Script
Proses instalasi Samba server dilakukan dengan menjalankan sebuah script instalasi samba server yang bernama sambawrt.sh. Sebelum menjalankan script instalasi, diperlukan packages bash karena script instalasi didesain untuk kompatibel dengan shell jenis bash. Command berikut ini berfungsi
untuk mengunduh script sambawrt.sh yang sudah di hosting pada server github dan menjalankan script instalasi Samba server: # wget http://git.io/-wGQvw --no-check-certificate –O sambaswrt.sh # chmod +x sambawrt.sh # ./sambawrt.sh
Setelah proses instalasi selesai, script dapat dijalankan kembali untuk menambah dan menghapus user.
3.6
Konfigurasi Client
3.6.1 Konfigurasi Client Windows Dalam sistem operasi Windows, Samba server dapat di-mount melalui command prompt, dengan memasukkan command berikut ini pada cmd: > net use Z: \\192.168.1.1\username Masukkan username dan password. Kemudian folder samba server akan di-mount pada drive Z:. Drive letter Z: dapat diubah menjadi drive letter lain yang belum digunakan.
3.6.2 Konfigurasi Client Linux Dalam sistem operasi Ubuntu, Samba server dapat diakses melaui file manager nautilus dengan memasukkan command berikut ini pada menu Connect to Server:
http://jurnal.fmipa.unila.ac.id/index.php/komputasi
Hal. 45 dari 137
smb://192.168.1.1
Kemudian akan muncul window yang meminta kode otorisasi, setelah username dan password dimasukkan, folder user pada Samba server akan ter-mount di file manager Ubuntu.
Figure 2 Menghubungkan Linux ke Samba server
3.6.3 Konfigurasi Client Android Untuk mengakses Samba server, diperlukan sebuah aplikasi yang dapat digunakan untuk menghubungkan perangkat Android ke Samba server. Misalnya menggunakan aplikasi bernama Explorer yang dapat diunduh dari Play Store. Setelah memasang Explorer, piliih menu yang memiliki ikon “+” kemudian pilih menu Network (SMB) Tab dan masukkan detail Samba server pada kolom yang tersedia di aplikasi.
Figure 3 Menghubungkan Android ke Samba server
http://jurnal.fmipa.unila.ac.id/index.php/komputasi
Hal. 46 dari 137
3.7
Pengujian
Berikut adalah hasil pengujian dalam bentuk tabel. Table 1 No 1
Hasil Pengujian
2
Evaluasi Apakah script dapat memasang Samba server Apakah script dapat menambah user
3
Apakah script dapat menghapus user
√
4
Apakah script dapat mencopot instalasi Samba server Apakah Samba server dapat diakses melalui komputer Windows Apakah Samba server dapat diakses melalui komputer Linux Apakah Samba server dapat diakses melalui perangkat Android.
√
5 6 7
4
Ya
Tidak
√ √
√ √ √
Keterangan Script dapat memasang Samba server ketika belum terpasang pada router Script dapat menambah user apabila user belum ada di Samba server Script dapat menghapus user jika user terdaftar di Samba server Script dapat mencopot seluruh file dan instalasi Samba server Samba server dapat diakses oleh komputer Windows dengan sedikit pengaturan Samba server dapat diakses oleh komputer Linux Samba server dapat diakses oleh beberapa pearangkat Android yang mendukung protokol smb
Kesimpulan
Berdasarkan hasil implementasi dan pembahasan pada penelitian Pengembangan Script Instalasi dan Konfigurasi Samba Server pada OpenWrt 12.09 Attitude Adjustment,dapat diambil beberapa kesimpulan bahwa script instalasi yang dibuat dapat memasang dan mengonfigurasi Samba server pada router berbasis OpenWrt. Dan wireless router OpenWrt yang telah terpasang Samba server dapat menyediakan layanan penyimpanan dan berbagi file (storage & file sharing) dan telah dapat diakses oleh berbagai macam hardware seperti komputer Windows, Linux dan perangkat Android.
5 [1] [2] [3] [4] [5] [6] [7]
References Amperiyanto, Tri, P3K Virus Komputer. Elex Media Komputindo, Jakarta (2007) Lokananta, Felix, Script penambahan layanan pada firmware DD-WRT untuk router berbasis processor atheros. Other thesis, Universitas Multimedia Nusantara (2012) OpenWrt - https://openwrt.org/ TP-Link TL-MR3020 - http://wiki.openwrt.org/toh/tp-link/tl-mr3020 Use 3G USB Dongle for WAN connection – http://wiki.openwrt.org/doc/recipes/3gdongle Wireless configuration - http://wiki.openwrt.org/doc/uci/wireless Rootfs on External Storage (extroot) - http://wiki.openwrt.org/doc/howto/extroot
http://jurnal.fmipa.unila.ac.id/index.php/komputasi
Hal. 47 dari 137