Standar Instalasi FreeBS D @ 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 6337 37337 307 532
USERNAME PRI NICE SIZE squid 96 0 335M root 96 0 5132K root 96 0 1324K mysql 20 0 57356K
RES 305M 2752K 252K 2796K
STATE select select select kserel
TIME 93:35 1:42 0:05 75:17
WCPU 4.93% 0.20% 0.10% 0.00%
CPU 4.93% 0.20% 0.10% 0.00%
COMMAND squid mpd syslogd 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 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.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 FreeBS D @ Institut Manajemen Telkom ( http://www.imtelkom.ac.id) # df –k /dev/ad8s1a /dev/ad8s1h /dev/ad8s1f /dev/ad8s1e /dev/ad8s1d /dev/ad8s1g
4058062 60984 3672434 3008718 508994 2259028 507630 21702 445318 63214 4386 53772 4058062 1462086 2271332 55854154 50582926 802896
2% 18% 5% 8% 39% 98%
/ /data/log /data/mysql /data/web /usr /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 FreeBS D @ 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 3 rd party yg harus diinstall melalui port (tidak ada konfigurasi yg perlu di-setting) : # cd /usr/ports/net/trafshow # make install clean # sockstat USER COMMAND www httpd www httpd manager sshd manager sshd root sshd root sshd www httpd www httpd
PID 40840 40840 39500 39500 39497 39497 38161 38161
FD 3 4 3 5 4 5 3 4
PROTO tcp4 tcp46 stream tcp4 stream tcp4 tcp4 tcp46
LOCAL ADDRESS 10.14.203.100:80 *:443 -> ?? 10.14.203.100:22 -> ?? 10.14.203.100:22 10.14.203.100:80 *:443
FOREIGN ADDRESS *:* *:* 10.14.203.105:1044 10.14.203.105:1044 *:* *:*
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 */5 * 0 */2 0 0 0 0
* * * 1 *
* * * * *
* * * * 1
/root/update.sh /root/update.sh /root/update.sh /root/update.sh /root/update.sh
dijalankan dijalankan dijalankan dijalankan dijalankan
setiap setiap setiap setiap setiap
jam 23:30 5 menit sekali 2 jam sekali tanggal 1 jam 0:0 hari senin
# crontab -e
akan mengedit daftar aplikasi yg akan dijalankan 8. automatic scp : kekurangan dari scp (secure copy) ad alah user harus memasukkan password account di remote server setiap kali melakukan scp. Agar password tidak perlu diinput 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 FreeBS D @ 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 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 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 # mount –t cd9660 /dev/acd0 /cdrom
mounting USB flash disk 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 (3 rd party software) karena semua file yg dibutuhkan oleh suatu port akan di-download langsung dari internet