Download - FreeBSD Basic Setting
Standar Instalasi FreeBSD @ Institut Manajemen Telkom (http://www.imtelkom.ac.id)
Maintenance FreeBSD – Standard
Beberapa aplikasi yang digunakan untuk maintenance system :
1. program status : ps – kill # ps ax
akan menampilkan semua aplikasi yang aktif dengan process ID-nya masing2
# ps ax | grep http
473 ?? Ss 0:06.44 /usr/local/sbin/httpd -DSSL
33640 ?? I 0:00.04 /usr/local/sbin/httpd -DSSL
33641 ?? I 0:00.04 /usr/local/sbin/httpd -DSSL
akan menampilkan status aplikasi HTTP, apakah aktif atau tidak. Jika aktif akan ditampilkan "process ID"-nya (pada contoh diatas ada 1 process ID untuk
daemon-nya, yaitu 473, dan 2 process ID untuk child process, yaitu 33640 dan 33641) yang kemudian bisa dimatikan dengan command "kill process_ID"
# kill –HUP 1234
akan me-restart aplikasi dgn process ID = 1234 (agar aplikasi tersebut membaca kembali file2 setting) 2. system resource maintenance : top – sysctl
# top –bt
48 processes: 48 sleeping
Mem: 323M Active, 33M Inact, 85M Wired, 19M Cache, 57M Buf, 996K Free
Swap: 8192M Total, 131M Used, 8061M Free, 1% Inuse
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
6337 squid 96 0 335M 305M select 93:35 4.93% 4.93% squid
37337 root 96 0 5132K 2752K select 1:42 0.20% 0.20% mpd
307 root 96 0 1324K 252K select 0:05 0.10% 0.10% syslogd
532 mysql 20 0 57356K 2796K kserel 75:17 0.00% 0.00% mysqld
top akan menampilkan setiap aplikasi yg aktif dan tingkat konsumsinya terhadap prosesor dan memory. Normalnya suatu aplikasi mengkonsumsi prosesor kurang
dari 20% (pada contoh diatas squid hanya menggunakan 4.93%) # sysctl -a | grep file
kern.maxfiles: 4096
kern.openfiles: 2293
kern.maxfilesperproc: 3686
# sysctl -a | grep nmbcluster
kern.ipc.nmbclusters: 32768
sysctl akan menampilkan resource yg tersedia dan yg telah terpakai di system
3. file maintenance : secure copy – copy – move – remove – change owner/mode cp [-r] /source_path/source_file /target_path/target_file # cp /home/manager/myfile.dat /root/yourfile.dat
duplikasi file "myfile.dat" di /home/manager menjadi "yourfile.dat" di "/root" parameter "–r" berarti recursive (copy dilakukan pada semua file dan folder)
Standar Instalasi FreeBSD @ Institut Manajemen Telkom (http://www.imtelkom.ac.id)
mv /source_path/source_file /target_path/target_file # mv /home/manager/myfile.dat /root/yourfile.dat
memindahkan file "myfile.dat" di /home/manager ke "yourfile.dat" di "/root" parameter "–r" berarti recursive (move dilakukan pada semua file dan folder)
rm [-r] /path/file # rm /home/manager/myfile.dat
menghapus file "myfile.dat" di /home/manager parameter "–r" berarti recursive (remove dilakukan pada semua file dan folder)
find /path –name "filename" –print > list.txt rm -r < `cat list.txt` # rm –r < /home/manager/myfile.dat
menghapus semua file "filename" di /path (sangat bermanfaat untuk menghapus WS_FTP.LOG dan Thumbs.db)
scp [user@source_server]:/source_path/source_file [user@target_server]:/target_path/target_file # scp manager@www:/home/manager/myfile.dat /root/yourfile.dat
akan menduplikasi file "myfile.dat" di home directory manager di server www menjadi "yourfile.dat" di localhost pada folder "/root" catatan: scp (secure copy) menggunakan port 22 (SSH) sehingga semua transaksi akan di-enkripsi.
chown [-R] user:group /path/file # chown manager:wheel /home/manager/myfile.dat
mengubah kepemilikan file "myfile.dat" di /home/manager menjadi milik manager
dengan group wheel parameter "–R" berarti recursive (chown dilakukan pada semua file dan folder)
chmod [-R] xyz /path/file dimana x,y,z adalah mode Read-Write-eXecute (dengan bobot R=4, W=2, X=1) dan x adalah mode akses untuk pemilik, y adalah mode akses untuk bukan pemilik
tapi masih dalam 1 group dengan pemilik, y adalah mode akses untuk diluar pemilik dan juga diluar group pemilik (biasa disebut dengan istilah “world”) misal : x=4 berarti R--, x=6 berarti RW-, x=7 berarti RWX # chmod 740 /home/manager/myfile.dat
mengubah mode akses file "myfile.dat" di /home/manager menjadi : 7 RWX, berarti manager dapat membaca, menulis, dan mengeksekusi file tsb 4 R, berarti user non manager tapi dalam group wheel hanya bisa membaca
0 berarti user lain (dan juga group lain) tidak boleh mengakses file tsb parameter "–R" berarti recursive (chown dilakukan pada semua file dan folder)
4. disk maintenance : disk usage – disk free – file system check # du /etc
106 /etc/defaults
menampilkan jumlah inode (usage) dari setiap file atau folder yg ada di /etc
Standar Instalasi FreeBSD @ Institut Manajemen Telkom (http://www.imtelkom.ac.id)
# df –k
/dev/ad8s1a 4058062 60984 3672434 2% /
/dev/ad8s1h 3008718 508994 2259028 18% /data/log
/dev/ad8s1f 507630 21702 445318 5% /data/mysql
/dev/ad8s1e 63214 4386 53772 8% /data/web
/dev/ad8s1d 4058062 1462086 2271332 39% /usr
/dev/ad8s1g 55854154 50582926 802896 98% /webcache
menampilkan penggunaan hard disk (dalam kilobyte) untuk setiap mount point
jika ada error di suatu mount point, seperti : - aplikasi df melaporkan usage suatu mount point lebih dari 100% - kernel panic, dimana kernel tidak dapat mounting suatu mount point
- server mati tanpa melalui proses shutdown (karena listrik mati) maka lakukan file system check (seperti aplikasi chkdsk (check disk) di windows) : # fsck –y
<selanjutnya kernel FreeBSD akan memeriksa setiap mount point, dan jika
ada error akan langsung diperbaiki>
Setelah melakukan file system check sebaiknya server di-restart dengan perintah # reboot
5. mencari file atau folder : locate – find
# locate index.html
mencari file atau folder yang memiliki frase "index.html" catatan: locate menggunakan daftar file yg diupdate setiap Senin, untuk
mengupdate-nya sendiri bisa dilakukan dengan command /usr/libexec/locate.updatedb
# find /usr -name "index.html" -print
sama seperti locate yaitu mencari file atau folder yang memiliki frase "index.html", bedanya "find" benar2 mencarinya satu demi satu (tidak memiliki database tersendiri) dan dapat dispesifikkan untuk mencari hanya pada folder /usr
6. traffic maintenance : netstat – trafshow – sockstat # netstat –n –i | grep ng
untuk melihat jumlah koneksi VPN yang aktif # netstat –r
untuk melihat table routing
# netstat –m
untuk melihat statistic penggunaan memory buffer untuk keperluan network # netstat –i
untuk melihat statistic paket di setiap interface (dan setiap protocol) # trafshow
From Address To Address Prot Bytes
=========================================================================
h614287.serverkompete..https 222.124.158.130..52994 tcp 1500
222.124.158.130..52994 h614287.serverkompete..https tcp 138
222.124.158.130..56960 64.38.4.83..http tcp 64
Standar Instalasi FreeBSD @ Institut Manajemen Telkom (http://www.imtelkom.ac.id)
trafshow (show traffic) digunakan untuk melihat trafik di ethernet card dengan
fungsi yang serupa dengan command “netstat –n” namun dengan beberapa kelebihan. Trafshow merupakan aplikasi 3rd party yg harus diinstall melalui port (tidak ada konfigurasi yg perlu di-setting) : # cd /usr/ports/net/trafshow
# make install clean
# sockstat
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
www httpd 40840 3 tcp4 10.14.203.100:80 *:*
www httpd 40840 4 tcp46 *:443 *:*
manager sshd 39500 3 stream -> ??
manager sshd 39500 5 tcp4 10.14.203.100:22 10.14.203.105:1044
root sshd 39497 4 stream -> ??
root sshd 39497 5 tcp4 10.14.203.100:22 10.14.203.105:1044
www httpd 38161 3 tcp4 10.14.203.100:80 *:*
www httpd 38161 4 tcp46 *:443 *:*
sockstat (socket statistic) digunakan untuk melihat socket yg sedang aktif
7. cron tabel : crontab cron adalah aplikasi scheduler yg akan menjalankan suatu aplikasi pada waktu
tertentu yg telah dispesifikasikan # crontab -l
akan menampilkan daftar aplikasi yg akan dijalankan
contoh isi crontab untuk menjalankan aplikasi /root/update.sh : 30 23 * * * /root/update.sh dijalankan setiap jam 23:30
*/5 * * * * /root/update.sh dijalankan setiap 5 menit sekali
0 */2 * * * /root/update.sh dijalankan setiap 2 jam sekali
0 0 1 * * /root/update.sh dijalankan setiap tanggal 1 jam 0:0
0 0 * * 1 /root/update.sh dijalankan setiap hari senin
# crontab -e
akan mengedit daftar aplikasi yg akan dijalankan
8. automatic scp : kekurangan dari scp (secure copy) adalah user harus memasukkan password
account di remote server setiap kali melakukan scp. Agar password tidak perlu di-input setiap kali scp dijalankan (terutama jika scp akan dijalankan via crontab), ada beberapa langkah yg harus dilakukan. Untuk automatic SCP dari server A ke server B :
a. login ke server A sebagai user biasa (bukan root) dan jalankan : $ ssh-keygen -b 512 -t dsa
aplikasi ssh-keygen akan membuat 2 file : private key (dengan nama "id_dsa")
dan public key (dengan nama "id_dsa.pub") sepanjang 512 byte dengan enkripsi DSA di folder /home/user/.ssh Tips: jangan mengisi passphrase
b. login ke server tujuan sebagai user biasa (bukan root) dan buat file /home/user/.ssh/authorized_keys dengan mode 600
c. copy isi dari file "id_dsa.pub" (pastikan hanya ada tepat 1 baris) ke file "authorized_keys"
Standar Instalasi FreeBSD @ Institut Manajemen Telkom (http://www.imtelkom.ac.id)
9. manajemen user
membuat user # adduser
Username: manager
Full name: Manager Sisfo
Uid (Leave empty for default):
Login group [manager]: wheel
Login group is wheel. Invite manager into other groups? []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]:
Home directory [/home/manager]:
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password: masukkan password
Enter password again: masukkan kembali password untuk konfirmasi
Tips: - Full name akan digunakan saat user mengirim email via shell
- user pada mail server tidak perlu menggunakan Shell (pilih "nologin"), dan juga tidak perlu memiliki home directory (pilih /nonexistent)
- Home directory dapat diubah-ubah sesuai peruntukan user Untuk kasus dimana user yg ditambahkan sangat banyak (bulk), seperti pada
pembuatan mail server berbasis NIX account untuk pertama kalinya, admin dapat menggunakan file yg berisi daftar user (jumlah entry dalam file tsb harus tepat 10 field per row dimana setiap field dipisahkan dgn tanda ':') : # cat staf.dat
user1::::::nama_lengkap:::password1
user2::::::nama_lengkap:::password2
# adduser -D -f pegawai.txt -g staf -d /nonexistent -s nologin
menghapus user # rmuser [user]
# rmuser -y -f pegawai.txt menghapus user secara bulk
mengedit informasi user # passwd [user] mengubah password untuk user
# chfn [user] mengubah full name dari user
10. manual aplikasi suatu aplikasi dapat dilihat manualnya dengan : # man squid
11. melihat dan mengedit file text
untuk melihat suatu file text dapat dilakukan dengan : # cat fileteks.txt melihat semua isi file "fileteks.txt"
# head fileteks.txt melihat bagian awal dari file "fileteks.txt"
# tail fileteks.txt melihat bagian akhir dari file "fileteks.txt"
Standar Instalasi FreeBSD @ Institut Manajemen Telkom (http://www.imtelkom.ac.id)
jika file text tersebut selalu bertambah (misal: log-nya apache, log-nya sendmail,
dan log-nya squid), kita bisa melihat perubahannya secara real time dengan : # tail –f /var/log/maillog melihat transaksi email secara real time
Sementara untuk mengedit suatu file text, dapat menggunakan berbagai aplikasi bawaan dari FreeBSD seperti “vi” atau “edit”. Namun tersedia banyak pilihan text
editor sesuai selera user yang bisa diinstall via port di /usr/ports/editors/. 12. mounting file system
untuk menambah suatu file system diluar dari file system yg telah ada : # mount –t [type_file_system] /dev/[nama_device] /mnt
Contoh : # mount –t msdos /dev/ad0 /mnt mounting USB flash disk
# mount –t cd9660 /dev/acd0 /cdrom mounting CDROM
13. setting proxy
jika server berada di belakang proxy dan diperlukan untuk melakukan download dari internet, bisa digunakan aplikasi wget (harus diinstall via port atau 3rd party application) atau cukup men-set proxy agar query HTTP dikirim ke proxy server : # setenv http_proxy http://10.1.1.2:8080
Jika ingin menggunakan wget (dalam kasus download lewat scheduler cron): # cd /usr/ports/ftp/wget
# make install clean
……… < tunggu sampai selesai > ………
# cat /root/.wgetrc jika root yg akan melakukan download
http_proxy=http://10.1.1.2:8080/
Penggunaan proxy ini sangat memudahkan admin saat meng-install port (3rd party software) karena semua file yg dibutuhkan oleh suatu port akan di-download
langsung dari internet