Skip to main content

Posts

Showing posts with the label Linux

Bahagian 2: Docker - Pengurusan Lanjutan

Bahagian 2 banyak melibatkan perkara berkaitan pemasangan beberapa perisian/services, menghubungkan dan konfigurasi database dan web, penetapan variable, penetapan berkaitan network, pembangunan aplikasi dari node.js dan publish imej docker pada Docker hub. Topik Hari Ini: Jadikan Web Server Dari Beberapa Folder (Nginx). Memahami Environment Variable dan Penggunaannya. Memasang dan Menghubungkan Container Dengan Alamat IP. Memasang dan Menghubungkan Container Dengan Hostname. Penggunaan Dockerfile untuk Bina Container. Terbitkan (Publish) Imej ke Docker Hub. Bina Aplikasi node.js, kompil dan Publish. Konsep Microservices. JADIKAN WEB SERVER DARI BEBERAPA FOLDER (NGINX) docker run --name websaya -d \  -v ~/containers/website1:/usr/share/nginx/html/website1:ro \   -v ~/containers/website2:/usr/share/nginx/html/website2:ro \  -p 8080:80 -d nginx MEMAHAMI ENVIRONMENT VARIABLE DAN PENGGUNAANNYA Environment Variable menyimpan maklumat tertentu seperti lokasi folder, fail, ...

Bahagian 1: Asas Pengurusan Docker Container

Docker container ialah program yang menyediakan virtual machine/apps. Ia membolehkan pengguna melaksanakan program tertentu sahaja tanpa perlu menjalankan keseluruhan sistem operasi. Jimat penggunaan CPU dan memori. NOTA: Elakkan menggunakan "root" untuk pengurusan docker container. Sila buat user berlainan. Menyenaraikan imej docker yang tersedia: docker images Menyenaraikan docker yang sedang berjalan: docker ps Menyenarai dan Memadam Sejarah Arahan Yang Pernah Dijalankan: docker ps -a (show history of command has been used previously) docker container prune -a  (clear all the command history) Memasang Docker: docker run <nama pakej/imej> docker run <nama pakej/imej>:<nombor versi> Contoh: docker run ubuntu docker run ubuntu:22.04 Menjalankan Docker container Secara Tetap: docker run -it ubuntu docker run -it ubuntu:22.04 NOTA: -i bermaksud "interactive". -t bermaksud "tty". Untuk paparan mesra pengguna. Menyambungkan semula ke Docker ...

Mengira Saiz Folder Dalam Linux

Untuk mengira saiz sesuatu folder: du -hs /folder/ Contoh: root@server:/var$ du -hs www/ 8.8G    www/ Jika terdapat pelbagai folder dalam folder tersebut boleh guna arahan ini untuk mendapatkan jumlah keseluruhan disamping saiz bagi setiap folder: du -hsc /folder/

Ubahsuai Arahan CLEAR Untuk Pengguna PUTTY

Bagi yang kerap menggunakan aplikasi Putty pada Windows, pastinya anda perasan yang arahan Clear atau CTRL+L sebenarnya tidak menghapuskan sepenuhnya arahan-arahan yang pernah ditaip sebelum ini. Jadi untuk penyelesaian tersebut, ikuti arahan berikut pada pelayan yang hendak diubah suai: 1. Buat satu fail bernama cls pada folder berikut: $nano /usr/local/bin/cls 2. Taip arahan berikut dan simpan: #!/bin/bash clear printf '\033[3J' 3. Kemudian tukar "permission" pada fail cls tersebut: chmod a+x /usr/local/bin/cls 4. Sekarang boleh cuba arahan cls tersebut dan lihat samada arahan sebelumnya sudah dipadam atau tidak: $cls

Memahami Penyulitan Data Bersimetri dan Tidak Bersimetri (Symmetric, Asymmetric Encryption)

Teknologi penyulitan (encryption) ini telah banyak digunakan dipelbagai peringkat bermula dari perisian emel, perisian sembang dalam talian, komunikasi ketenteraan sehinggalah kepada perisian hasad (malware). Tujuannya untuk menghalang pihak ketiga dari membaca maklumat yang dihantar atas talian. Terdapat dua jenis teknik untuk penyulitan data yang biasa digunakan hari ini, iaitu: Penyulitan bersimetri (Symmetric encryption) - penyulitan dengan kekunci rahsia Penyulitan tidak bersimetri (Asymmetric encryption) - penyulitan dengan Public Key Penyulitan Bersimetri Penyulitan bersimetri adalah teknik yang telah banyak digunakan secara umumnya. Ianya menggunakan kekunci rahsia yang sama ketika melakukan penyulitan dan penyahsulitan data. Kekunci rahsia ini boleh juga digunakan dalam bentuk huruf, nombor, perkataan mahupun ayat. Ianya kemudian digunakan untuk mengubah kandungan pada mesej teks supaya ia tidak boleh dibaca oleh pihak lain. Mesej yang tidak boleh dibaca tersebut d...

Konfigurasi Virtual Host pada Ubuntu Server 16.04 LTS

 Anggap anda telah pun mempunyai konfigurasi asas berikut: 1. Ubuntu 16.04 LTS 2. Apache2 Langkah berikut adalah secara arahan sahaja: 1. sudo mkdir -p /var/www/ apaapa.com /public_html   2. sudo touch /var/www/ apapa.com /public_html/index.html   3. sudo chmod -Rv 755 /var/www/ apaapa.com /   4. sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/site-available/ apaapa.com .conf   5. sudo nano /etc/apache2/site-available/ apaapa.com. conf <VirtualHost *:80> ServerName apaapa.com ServerAlias www.apaapa.com ServerAdmin webmaster@localhost DocumentRoot /var/www/apapa.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> 6. sudo a2ensite apapa.com .conf   7. sudo service apache2 restart   8. sudo nano /etc/apache2/apache2.conf <Directory /var/www/apaapa.com/public_html> Options Indexes FollowSymLinks AllowOverride All Requi...

Penggunaan Asas git Dalam Pengaturcaan

Pertama kali untuk mengisytiharkan folder pada Git: git init Pertama kali untuk memasukkan email dan nama: git config --global user.name "John Smooth" git config --global user.email "youremail@here" Mulakan memasukkan kod untuk pertama kali: git clone https://<USERNAME>@bitbucket.org/<USERNAME>/ujian.git cd ujian echo "# My project's README" >> README.md git add README.md git commit -m "Initial commit" git push -u origin master Memasukkan kod yang sedia ada ke Git untuk pertama kali: git remote add origin https://<USERNAME>bitbucket.org/ <USERNAME>/ ujian.git  git push -u origin master Menggunakan pull untuk mendapatkan kod terkini: git pull (pada current directory) Mengecualikan fail-fail dan folder tertentu: 1. Buat satu fail bernama .gitignore 2. Masukkan nama fail, folder atau pattern. L...

Mematikan Aplikasi Proses Dalam Linux

Berikut ialah beberapa cara untuk mematikan proses dalam Linux. Seperti juga dalam Windows, kita boleh mematikan proses dengan hanya menggunakan Task Manager. Pada contoh dibawah, anggap proses bernama 'htop' akan dimatikan dengan beberapa cara berikut: kill  $ ( pgrep htop ) killall   -v  htop pkill htop kill   ` ps   -ef   |   grep  htop  |   grep   -v   grep   |   awk  ‘ { print  $2 } ’ ` Pastikan ia mempunyai akses root atau higher privilege untuk mematikan proses tersebut.

Asas Memori Forensik Menggunakan Volatility

Volatility Memory Forensics Framework ialah pakej utiliti yang digunakan untuk menganalisa hasil memory dump (dalam bentuk fail). Ini termasuk menganalisa fail proses, Windows Registry, sistem dan fail-fail pengguna. Ia amat berguna bagi seorang juruanalisa komputer untuk mendapat maklumat terperinci samada untuk tujuan mencari malware atau mendapatkan bukti-bukti tertentu (dalam perspektif forensik). Volatility ini boleh didapati dalam dua versi iaitu dalam bentuk skrip Python atau program Exe. Berikut antara arahan yang boleh digunakan: Untuk Melihat Maklumat Image volatility.exe imageinfo -f C:\memdump.mem Untuk Menyenaraikan Maklumat Proses Sistem volatility.exe --profile=Win8SP1x64 pslist -f C:\memdump.mem Untuk Mengetahui Dengan Tetap Profile Volatility Yang Sesuai volatility.exe kdbgscan -f C:\memdump.mem Untuk Mengetahui Struktur Kernel Processor Control Region (KPCR) volatility.exe kpcrscan -f C:\memdump.mem Untuk Analisa Malware dan Mengesan Rootkit vola...

Persamaan Fail-Fail Executable Diantara Windows dan Linux

Ramai diantara kita yang mungkin masih keliru perbezaan fail-fail executable dalam sistem operasi Windows dan Linux. Berikut ialah penerangan ringkas: Fail Sambungan Linux Persamaan Dlm Windows Keterangan Ringkas .so, .o .dll Fail object untuk dimuatkan dalam fail executable (Seperti DLL) [none], .elf(jarang) .bin(jarang) .exe, .com(jarang) Linux executables .sh .bat Skrip Shell .exe .exe Aplikasi mono, wine .deb .msi Pakej pemasangan fail untuk Debian/Ubuntu (Though .deb is much more powerful with native support for dependencies and repos). Note that .deb is actually a .ar archive with a special control file, a special file order, and a different extension. .rpm .msi Pakej pemasangan fail untuk RedHat/CentOS. .tar.gz, .tar, .gz .zip Fail termampat untuk mengurangkan penggunaan ruang storan. .ko .sys Driver dan modul kernel untuk akses ke sistem perkakasan. .sh, .php, .py, etc .bat Linux berkemampuan melaksana...

Penggunaan Virtualenvwrapper Untuk Pengurusan Virtualenv

Nota: Penulisan ini untuk kegunaan nota saya sahaja. Pertama sekali, klon mana-mana projek dari Git repository: $ git clone [email protected]:kamil/projek-baik.git $ cd projek-baik Dicadang gunakan virtualenvwrapper untuk menguruskan virtualenv. Boleh juga buatkan virtualenv sendiri berasingan seperti dibawah: $ virtualenv .venv $ source .venv/bin/activate (.venv)$ Seterusnya, pasang projek dependencies: (.venv)$ pip install -e . Selepas itu, Bower package manager (bower.io) diperlukan untuk memuat turun project dependencies tambahan. (.venv)$ bower update --production Periksa samada projek anda telah siap dipasang dengan betul. (.venv)$ projekbaik --help Usage: projekbaik [OPTIONS] COMMAND [ARGS]... Projek Baik launcher and management script Options: --help Show this message and exit. Commands: runserver Initialize and run Projek Baik. Untuk memulakan pembangunan pelayan web, gunakan arahan berikut: (.venv)$ proj...

Penggunaan Arahan Screen Dalam Linux

Penggunaan arahan Screen sangat berguna bagi pentadbir rangkaian yang mahukan tugasan dilakukan secara serentak dalam satu masa. Untuk menambah konsol screen gunakan arahan berikut: screen -S <nama screen> Contoh pengunaan: screen -S contohSkrin1 Untuk keluar dari screen yang telah dibuat gunakan kekunci berikut (jangan taip exit ): CTRL+A+D Untuk melihat senarai screen yang telah dibuat gunakan arahan berikut: screen -ls Untuk menyambung semula sesi screen yang sebelumnya diikut nama screen gunakan arahan berikut: screen -r <nama screen> Contoh penggunan: screen -r PantauLog Perlu diingatkan arahan screen ini akan hilang jika anda reboot sistem operasi.

Meletakkan Warna Pada Apache Log Akses menggunakan 'Tail'

Sesetengah sistem pentadbir mungkin lebih menggemari memantau access.log apache mereka menggunakan command line. Tetapi dengan sekadar command line hitam putih sahaja mungkin tidak mencukupi. Dengan menggunakan skrip bash berikut sedikit sebanyak dapat membezakan request yang diterima oleh apache: kamil$ tail -f /var/log/apache2/access.log \ | ack --flush --passthru --color --color-match=green "^.* 200 .*" \ | ack --flush --passthru --color --color-match=yellow "^.* 302 .*" \ | ack --flush --passthru --color --color-match=red "^.* 404 .*"P Salin kod diatas dan simpan sebagai contoh colortail.sh dan tukar attribut untuk membolehkan fail execute. Contoh gambar diatas menunjukan warna hijau bagi request code 200. Sekiranya ada request code berlainan nombor, anda boleh tentukan warna berdasarkan skrip tersebut.

Ubuntu: Memeriksa Kelajuan Cakera Keras (Hard disk)

Untuk memeriksa kelajuan pusingan hard disk di Ubuntu, anda hanya perlu menggunakan arahan berikut: sudo smartctl -i /dev/sda [ imej dari SourceForge ] Jika Ubuntu anda belum lagi memasang perisian ini, lakukan seperti berikut: sudo apt-get install smartmontools Arahan ini hanya sesuai digunakan untuk hard disk jenis cakera sahaja dan bukannya jenis Solid State Drive (SSD). Nota: Perkakasan ini tidak sesuai untuk memeriksa kelajuan read/write pada cakera keras atau SSD. Rujukan: Lokasi muat turun:  http://sourceforge.net/projects/smartmontools/