FreeBSD Basic Setting

904 views

Published on

a tutorial guide explaining how to install FreeBSD as a server, an experience at IMTelkom (http://www.imtelkom.ac.id)

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
904
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
29
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

FreeBSD Basic Setting

  1. 1. Standar Instalasi FreeBS D @ Institut Manajemen Telkom ( http://www.imtelkom.ac.id)Maintenance FreeBSD – StandardBeberapa aplikasi yang digunakan untuk maintenance system :1. program status : ps – kill# ps axakan menampilkan semua aplikasi yang aktif dengan process ID-nya masing2# ps ax | grep http 473 ?? Ss 0:06.44 /usr/local/sbin/httpd -DSSL33640 ?? I 0:00.04 /usr/local/sbin/httpd -DSSL33641 ?? I 0:00.04 /usr/local/sbin/httpd -DSSLakan menampilkan status aplikasi HTTP, apakah aktif atau tidak. Jika aktif akanditampilkan "process ID"-nya (pada contoh diatas ada 1 process ID untukdaemon-nya, yaitu 473, dan 2 process ID untuk child process, yaitu 33640 dan33641) yang kemudian bisa dimatikan dengan command "kill process_ID"# kill –HUP 1234akan me-restart aplikasi dgn process ID = 1234 (agar aplikasi tersebut membacakembali file2 setting)2. system resource maintenance : top – sysctl# top –bt48 processes: 48 sleepingMem: 323M Active, 33M Inact, 85M Wired, 19M Cache, 57M Buf, 996K FreeSwap: 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% squid37337 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% mysqldtop akan menampilkan setiap aplikasi yg aktif dan tingkat konsumsinya terhadapprosesor dan memory. Normalnya suatu aplikasi mengkonsumsi prosesor kurangdari 20% (pada contoh diatas squid hanya menggunakan 4.93%)# sysctl -a | grep filekern.maxfiles: 4096kern.openfiles: 2293kern.maxfilesperproc: 3686# sysctl -a | grep nmbclusterkern.ipc.nmbclusters: 32768sysctl akan menampilkan resource yg tersedia dan yg telah terpakai di system3. file maintenance : secure copy – copy – move – remove – change owner/modecp [-r] /source_path/source_file /target_path/target_file# cp /home/manager/myfile.dat /root/yourfile.datduplikasi file "myfile.dat" di /home/manager menjadi "yourfile.dat" di "/root"parameter "–r" berarti recursive (copy dilakukan pada semua file dan folder)
  2. 2. Standar Instalasi FreeBS D @ Institut Manajemen Telkom ( http://www.imtelkom.ac.id)mv /source_path/source_file /target_path/target_file# mv /home/manager/myfile.dat /root/yourfile.datmemindahkan 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.datmenghapus file "myfile.dat" di /home/managerparameter "–r" berarti recursive (remove dilakukan pada semua file dan folder)find /path –name "filename" –print > list.txtrm -r < `cat list.txt`# rm –r < /home/manager/myfile.datmenghapus 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.datakan menduplikasi file "myfile.dat" di home directory manager di server wwwmenjadi "yourfile.dat" di localhost pada folder "/root"catatan: scp (secure copy) menggunakan port 22 (SSH) sehingga semua transaksiakan di-enkripsi.chown [-R] user:group /path/file# chown manager:wheel /home/manager/myfile.datmengubah kepemilikan file "myfile.dat" di /home/manager menjadi milik managerdengan group wheelparameter "–R" berarti recursive (chown dilakukan pada semua file dan folder)chmod [-R] xyz /path/filedimana 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 pemiliktapi masih dalam 1 group dengan pemilik, y adalah mode akses untuk diluarpemilik 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.datmengubah mode akses file "myfile.dat" di /home/manager menjadi :7  RWX, berarti manager dapat membaca, menulis, dan mengeksekusi file tsb4  R, berarti user non manager tapi dalam group wheel hanya bisa membaca0  berarti user lain (dan juga group lain) tidak boleh mengakses file tsbparameter "–R" berarti recursive (chown dilakukan pada semua file dan folder)4. disk maintenance : disk usage – disk free – file system check# du /etc106 /etc/defaultsmenampilkan jumlah inode (usage) dari setiap file atau folder yg ada di /etc
  3. 3. Standar Instalasi FreeBS D @ 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% /webcachemenampilkan penggunaan hard disk (dalam kilobyte) untuk setiap mount pointjika 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 jikaada error akan langsung diperbaiki>Setelah melakukan file system check sebaiknya server di-restart dengan perintah# reboot5. mencari file atau folder : locate – find# locate index.htmlmencari file atau folder yang memiliki frase "index.html"catatan: locate menggunakan daftar file yg diupdate setiap Senin, untukmengupdate-nya sendiri bisa dilakukan dengan command/usr/libexec/locate.updatedb# find /usr -name "index.html" -printsama seperti locate yaitu mencari file atau folder yang memiliki frase "index.html",bedanya "find" benar2 mencarinya satu demi satu (tidak memiliki databasetersendiri) dan dapat dispesifikkan untuk mencari hanya pada folder /usr6. traffic maintenance : netstat – trafshow – sockstat# netstat –n –i | grep nguntuk melihat jumlah koneksi VPN yang aktif# netstat –runtuk melihat table routing# netstat –muntuk melihat statistic penggunaan memory buffer untuk keperluan network# netstat –iuntuk melihat statistic paket di setiap interface (dan setiap protocol)# trafshowFrom Address To Address Prot Bytes=========================================================================h614287.serverkompete..https 222.124.158.130..52994 tcp 1500222.124.158.130..52994 h614287.serverkompete..https tcp 138222.124.158.130..56960 64.38.4.83..http tcp 64
  4. 4. Standar Instalasi FreeBS D @ Institut Manajemen Telkom ( http://www.imtelkom.ac.id)trafshow (show traffic) digunakan untuk melihat trafik di ethernet card denganfungsi yang serupa dengan command “netstat –n” namun dengan beberapakelebihan. Trafshow merupakan aplikasi 3 rd party yg harus diinstall melalui port(tidak ada konfigurasi yg perlu di-setting) :# cd /usr/ports/net/trafshow# make install clean# sockstatUSER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESSwww 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:1044root sshd 39497 4 stream -> ??root sshd 39497 5 tcp4 10.14.203.100:22 10.14.203.105:1044www httpd 38161 3 tcp4 10.14.203.100:80 *:*www httpd 38161 4 tcp46 *:443 *:*sockstat (socket statistic) digunakan untuk melihat socket yg sedang aktif7. cron tabel : crontabcron adalah aplikasi scheduler yg akan menjalankan suatu aplikasi pada waktutertentu yg telah dispesifikasikan# crontab -lakan menampilkan daftar aplikasi yg akan dijalankancontoh 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 sekali0 */2 * * * /root/update.sh  dijalankan setiap 2 jam sekali0 0 1 * * /root/update.sh  dijalankan setiap tanggal 1 jam 0:00 0 * * 1 /root/update.sh  dijalankan setiap hari senin# crontab -eakan mengedit daftar aplikasi yg akan dijalankan8. automatic scp :kekurangan dari scp (secure copy) ad alah user harus memasukkan passwordaccount 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 passphraseb. login ke server tujuan sebagai user biasa (bukan root) dan buat file /home/user/.ssh/authorized_keys dengan mode 600c. copy isi dari file "id_dsa.pub" (pastikan hanya ada tepat 1 baris) ke file "authorized_keys"
  5. 5. Standar Instalasi FreeBS D @ Institut Manajemen Telkom ( http://www.imtelkom.ac.id)9. manajemen usermembuat user# adduserUsername: managerFull name: Manager SisfoUid (Leave empty for default):Login group [manager]: wheelLogin 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 passwordEnter password again:  masukkan kembali password untuk konfirmasiTips:- 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 userUntuk kasus dimana user yg ditambahkan sangat banyak (bulk), seperti padapembuatan mail server berbasis NIX account untuk pertama kalinya, admin dapatmenggunakan file yg berisi daftar user (jumlah entry dalam file tsb harus tepat 10field per row dimana setiap field dipisahkan dgn tanda :) :# cat staf.datuser1::::::nama_lengkap:::password1user2::::::nama_lengkap:::password2# adduser -D -f pegawai.txt -g staf -d /nonexistent -s nologinmenghapus user# rmuser [user]# rmuser -y -f pegawai.txt  menghapus user secara bulkmengedit informasi user# passwd [user]  mengubah password untuk user# chfn [user]  mengubah full name dari user10. manual aplikasisuatu aplikasi dapat dilihat manualnya dengan :# man squid11. melihat dan mengedit file textuntuk 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"
  6. 6. Standar Instalasi FreeBS D @ 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 timeSementara untuk mengedit suatu file text, dapat menggunakan berbagai aplikasibawaan dari FreeBSD seperti “vi” atau “edit”. Namun tersedia banyak pilihan texteditor sesuai selera user yang bisa diinstall via port di /usr/ports/editors/.12. mounting file systemuntuk menambah suatu file system diluar dari file system yg telah ada :# mount –t [type_file_system] /dev/[nama_device] /mntContoh :# mount –t msdos /dev/ad0 /mnt  mounting USB flash disk# mount –t cd9660 /dev/acd0 /cdrom  mounting CDROM13. setting proxyjika server berada di belakang proxy dan diperlukan untuk melakukan downloaddari internet, bisa digunakan aplikasi wget (harus diinstall via port atau 3rd partyapplication) atau cukup men-set proxy agar query HTTP dikirim ke proxy server :# setenv http_proxy http://10.1.1.2:8080Jika 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 downloadhttp_proxy=http://10.1.1.2:8080/Penggunaan proxy ini sangat memudahkan admin saat meng-install port (3 rd partysoftware) karena semua file yg dibutuhkan oleh suatu port akan di-downloadlangsung dari internet

×