Category: Linux
Konfigurasi SSH Key-Based Authentication Pada Server Linux
Apa itu SSH Key-Based Authentication?
SSH Key-based Authentication adalah mekanisme otentikasi mengunakan SSH Key. SSH Key adalah sepasang kunci kriptografi (private key dan public key) yang dapat digunakan untuk melakukan otentikasi SSH client. Private key bersifat rahasia, harus disimpan oleh pemilik key dan tidak boleh diberikan kepada pihak lain. Sebaliknya, public key bersifat terbuka, boleh diberikan kepada pihak lain untuk melakukan otentikasi terhadap akses yang dilakukan oleh pemilih private key.
Lebih detail tentang cara kerja SSH Key-based authentication dapat dibaca disini.
Backup masing-masing database MySQL Otomatis Setiap Hari
Backup database MySQL sebenarnya cukup mudah. Kita bisa menggunakan perintah mysldump
untuk melakukan backup database MySQL, misalnya:
$ mysqldump -u root -p --all-databases > all_databases.sql
Namun melakukan backup dengan perintah tersebut menimbulkan beberapa masalah, yaitu:
- Bagaimana bila ada database yang tidak ingin kita backup, misalnya default database seperti
information_schema
,mysql
,performance_schema
, atausys
? - Bagaimana bila kita ingin melakukan restore database tertentu saja?
- Bagaimana bila kita ingin melakukan backup rutin setiap hari?
Dalam tulisan ini, saya akan tunjukkan contoh backup script sederhana yang dapat melakukan backup database MySQL secara otomatis sekaligus menyelesaikan permasalahan tersebut.
Continue readingMembuat bash alias
Sesuai namanya, “bash aliases” digunakan untuk membuat alias sebuah perintah. Misalnya, kita ingin membuat alias untuk perintah menampilkan file dalam current directory berurutan berdasarkan ukuran berikut ini
$ du -hs * | sort -h
Kita dapat membuat alias untuk perintah tersebut dengan perintah alias seperti contoh berikut ini
$ alias dusort='du -hs * | sort -h'
Setelah membuat alias, kita bisa menjalankan alias tersebut sehingga tidak perlu lagi mengetikkan perintah yang panjang seperti sebelumnya.
$ dusort
Continue reading
Cara instalasi DreamFactory 2.14.2
Setahun yang lalu, terjadi perubahan besar pada salah satu open source project favorit, DreamFactory. Pada versi setelah 2.14.2, developer DreamFactory menghapus dua fungsi yang paling populer digunakan oleh komunitas open source community, yaitu fungsi untuk menghubungkan DreamFactory dengan MySQL server dan fungsi untuk membuat script.
Dalam artikel ini saya tidak akan menceritakan permasalahan tersebut dengan panjang lebar. Bila tertarik untuk mengetahui akar permasalahannya, ada dapat membaca website berikut ini. Dalam artikel ini kita akan fokus tentang bagaimana mengatasi permasalahan tersebut dengan melakukan instalasi versi terdahulu dari DreamFactory sebelum terjadi perubahan tersebut, yaitu DreamFactory versi 2.14.2.
Server yang saya gunakan berbasis Linux Ubuntu 20.04 dengan web server NGINX, PHP, dan database MySQL. Sekarang mari kita bahas langkah-langkah instalasi DreamFactory.
Instalasi NGINX
Update apt repository dan lakukan instalasi NGINX dengan perintah
$ sudo apt update
$ sudo apt install nginx
Instalasi MySQL Server
Lakukan instalasi database server MySQL
$ sudo apt install mysql-server
Perintah ini optional, namun berguna untuk meningkatkan keamanan database server.
$ sudo mysql_secure_installation
Sekarang kita perlu membuat satu MySQL user untuk DreamFactory. Jalankan perintah berikut untuk membuat database df
dengan user df
dan password rahasia
.
$ sudo mysql
mysql> CREATE DATABASE df;
mysql> CREATE USER 'df'@'localhost' IDENTIFIED BY 'rahasia';
mysql> GRANT ALL PRIVILEGES ON df.* TO 'df'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
Instalasi PHP-FPM
Versi PHP yang kita gunakan adalah versi 7.2 karena versi ini yang telah saya coba dan berhasil digunakan untuk DreamFactory versi 2.14.2. Berikut langkah instalasi PHP-FPM.
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
$ sudo apt install php7.2-fpm \
php7.2-mbstring \
php7.2-xml \
php7.2-curl \
php7.2-mysql
$ sudo systemctl restart php7.2-fpm.service
Instalasi Composer
Lakukan instalasi composer dengan perintah berikut.
$ cd ~
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
$ php -r "unlink('composer-setup.php');"
Instalasi Git Client
Secara default, git client sudah terpasang pada Linux Ubuntu 20.04. Namun bila belum ada, maka lakukan instalasi dengan perintah
$ sudo apt install git
Konfigurasi NGINX
Kita perlu melakukan konfigurasi NGINX agar dapat digunakan sebagai web server untuk DreamFactory. Bukalah file /etc/nginx/sites-available/default
lalu ubah konfigurasinya seperti pada contoh berikut
server {
listen [::]:80 default_server;
server_name _;
root /var/www/html/public;
charset utf-8;
index index.php index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
error_page 404 /index.php;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
}
Restart service NGINX dengan perintah
$ sudo systemctl restart nginx.service
Instalasi DreamFactory
Sekarang masuk ke bagian inti dari tulisan ini, yaitu cara instalasi DreamFactory. Langkah pertama masuklah ke dalam root directory web server /var/www/html
.
$ cd /var/www/html
Clone source code DreamFactory versi 2.14.2.
$ git clone --branch 2.14.2-release --single-branch https://github.com/dreamfactorysoftware/dreamfactory.git .
Edit file composer.json
dan hapus baris ini karena kita tidak menggunakan mongodb.
"dreamfactory/df-mongodb" : "~0.15.1",
Kemudian jalankan perintah berikut
$ sudo composer update
$ sudo composer install --no-dev
$ sudo php artisan df:env
$ sudo php artisan df:setup
Dalam proses instalasi tersebut, Anda akan diminta memasukkan beberapa data seperti MySQL password, user, dll. Silahkan masukkan data yang diminta sesuai dengan proses instalasi yang telah kita lakukan sebelumnya.
Langkah terakhir adalah melakukan update file permission dengan perintah.
$ sudo chown -R www-data storage/ bootstrap/cache/
$ sudo find . -type f -exec chmod 644 {} \;
$ sudo find . -type d -exec chmod 755 {} \;
$ sudo find storage/ -type d -exec chmod 2775 {} \;
$ sudo find storage/ -type f -exec chmod 664 {} \;
$ sudo find bootstrap/cache/ -type d -exec chmod 2775 {} \;
$ sudo find bootstrap/cache/ -type f -exec chmod 664 {} \;
Proses instalasi selesai, sekarang anda dapat membuka hasil instalasi tersebut melalui web browser misalnya dengan alamat http://localhost atau sesuai dengan domain server Anda.
Semoga bermanfaat.
Cara instalasi LaTeX dan Texmaker di Linux Ubuntu
LaTeX is a high-quality typesetting system; it includes features designed for the production of technical and scientific documentation. LaTeX is the de facto standard for the communication and publication of scientific documents. LaTeX is available as free software [1].
LaTeX adalah perangkat lunak yang umum digunakan oleh mahasiswa untuk menulis karya ilmiah seperti tesis atau disertasi. Walaupun LaTeX awalnya terasa sulit untuk dipelajari, tetapi di balik itu LaTeX memberikan banyak kemudahan dan fitur yang tidak dimiliki oleh Word Processor.
Dalam tulisan ini saya tidak akan membahas tentang kelebihan dan kekurangan LaTeX, namun saya akan membahas cara instalasi LaTeX di Linux Ubuntu. Sebenarnya saya menggunakan Linux Mint 19, namun secara umum panduan ini akan sama untuk Linux Ubuntu dan turunannya.
Instalasi LaTex
Langkah pertama adalah melakukan instalasi distribusi LaTeX untuk Linux [2]. Ada beberapa distribusi LaTeX yang dapat anda gunakan, namun dalam tulisan ini saya akan menggunakan TeX Live.
Lakukan instalasi TeX Live menggunakan perintah:
$ sudo apt-get install texlive-full
Langkah kedua adalah melakukan instalasi LaTeX editor. LaTeX editor yang saya pilih adalah TexMaker. Lakukan instalasi TexMaker menggunakan perintah:
$ sudo apt-get install texmaker
Setelah instalasi selesai, bukalah TexMaker. Antarmuka TexMaker kurang lebih seperti Gambar 1.
Sedikit tips tambahan dari saya, bila anda ingin file PDF yang dihasilkan ditampilkan dalam satu Windows yang sama, maka bukalah menu:
Options > Configure Texmaker > Commands
Pada bagian Pdf Viewer
, centang pada pilihan Built-in Viewer
dan Embed
[3].
Contoh Dokumen LaTeX
Untuk menguji apakah instalasi anda berhasil. Buatlah TexMaker dan buatlah file baru menggunakan menu:
File > New
Kemudian masukkan teks berikut
\documentclass{article}
\title{Dokumen \LaTeX \ Pertamaku}
\date{2020-05-18}
\author{Mahendra Data}
\begin{document}
\maketitle
Hello World!
\end{document}
Jalankan perintah Quick Build
, misalnya melalui menu:
Tools > Quick Build
Maka kita akan mendapat peringatan seperti Gambar 2.
Ya, sebelum dapat melakukan Quick Build
, dokumen yang baru kita buat harus kita simpan menggunakan ekstensi .tex
dan tanpa menggunakan spasi dan accents characters [4].
Sekarang simpanlah file tersebut, lalu jalankan lagi perintah Quick Build
. Bila berhasil, maka akan menghasilkan tampilan yang kurang lebih seperti Gambar 3.
Di dalam folder yang sama tempat kita menyimpan file .tex
, Anda akan menemukan file .pdf
hasil dari generate perintah Quick Build
tersebut.
Selamat mencoba.
Tips dan Trik Menggunakan VIM
Tulisan ini akan membahas tips dan trik menggunakan editor VIM.
Command Mode
Tekan ESC
sebelum menjalankan perintah-perintah berikut ini.
Mencari string
Misalnya ingin mencari kata mode , maka perintahnya adalah
/mode
Untuk mencari kata tersebut di lokasi berikutnya, cukup menjalankan perintah
/
Mencari dan mengganti string
Misalnya ingin mengganti seluruh kata mode menjadi MODE, maka perintahnya adalah
:%s/mode/MODE/g
Mengecek encoding
:set fileencoding
Mengubah encoding
Misalnya ingin mengganti encoding file yang kita buka menjadi utf8, maka perintahnya adalah
:set fileencoding=utf8
Menyimpan lalu keluar
:wq
Keluar tanpa menyimpan perubahan
:q!
Cara kompresi dan ekstrak file .tar.bz2
Di artikel sebelumnya saya membahas tentang cara kompresi dan ektstrak file gzip (.tar.gz
). Kali ini saya akan membahas hal serupa namun dengan berbeda jenis kompresi, yaitu bzip2. Ada beberapa ekstensi file yang umum digunakan oleh bzip2, yaitu .tar.bz2
, .tar.bz
, .tar.tb
.
Keuntungan kompresi bzip2 adalah ukuran kompresi yang lebih kecil bila dibandingkan dengan gzip, namun dengan konsekuensi waktu kompresi dan ekstrak yang lebih lama.
Cara kompresi dan ekstrak file gzip dan bzip2 sangatlah mirip, perbedaannya hanyalah terletak pada parameter -z
untuk gzip dan -j
untuk bzip2.
Artikel singkat berikut akan membahas cara kompresi dan ekstrak file tersebut.
Kompresi file
Kompresi satu directory
Perintah untuk melakukan kompresi satu directory secara recursive ke dalam satu file .tar.bz2
adalah
$ tar -cjf nama-file.tar.bz2 /path/ke/directory-target
Gambar 1 berikut menjelaskan fungsi dari masing-masing parameter.
Kompresi beberapa directory
Perintah untuk melakukan kompresi beberapa directory sekaligus sangat mirip dengan perintah sebelumnya, cukup menambahkan beberapa directory path target di akhir parameter, misalnya
$ tar -cjf nama-file.tar.bz2 /path/target1/ /path/target2/
Kompresi dengan pengecualian
Kita bisa melakukan kompresi satu directory dengan menambahkan pengecualian, misalnya tidak menyertakan file .mp4
dengan perintah:
$ tar -cjf nama-file.tar.bz2 /path/ke/directory-target --exclude=*.mp4
Gambar 2 berikut menjelaskan fungsi dari masing-masing parameter.
Ekstrak file
Ekstrak ke current directory
Untuk melakukan ekstrak file ke dalam dalam current directory, gunakan perintah:
$ tar -xjf nama-file.tar.bz2
Gambar 3 berikut menjelaskan fungsi dari masing-masing parameter.
Ekstrak ke directory tertentu
Untuk melakukan ekstrak file ke dalam dalam directory tertentu, tambahkan parameter -C
, misalnya:
$ tar -xjf nama-file.tar.bz2 -C /path/directory-tujuan
Gambar 4 berikut menjelaskan fungsi dari masing-masing parameter.
Semoga artikel ini dapat membantu.
Cara kompresi dan ekstrak file .tar.gz
File .tar.gz
adalah bentuk kompresi file yang sangat sering dijumpai di Linux. Artikel singkat berikut akan membahas cara kompresi dan ekstrak file tersebut.
Kompresi file
Kompresi satu directory
Perintah untuk melakukan kompresi satu directory secara recursive ke dalam satu file .tar.gz
adalah
$ tar -czf nama-file.tar.gz /path/ke/directory-target
Gambar 1 berikut menjelaskan fungsi dari masing-masing parameter.
Kompresi beberapa directory
Perintah untuk melakukan kompresi beberapa directory sekaligus sangat mirip dengan perintah sebelumnya, cukup menambahkan beberapa directory path target di akhir parameter, misalnya
$ tar -czf nama-file.tar.gz /path/target1/ /path/target2/
Kompresi dengan pengecualian
Kita bisa melakukan kompresi satu directory dengan menambahkan pengecualian, misalnya tidak menyertakan file .mp4
dengan perintah:
$ tar -czf nama-file.tar.gz /path/ke/directory-target --exclude=*.mp4
Gambar 2 berikut menjelaskan fungsi dari masing-masing parameter.
Ekstrak file
Ekstrak ke current directory
Untuk melakukan ekstrak file ke dalam dalam current directory, gunakan perintah:
$ tar -xzf nama-file.tar.gz
Gambar 3 berikut menjelaskan fungsi dari masing-masing parameter.
Ekstrak ke directory tertentu
Untuk melakukan ekstrak file ke dalam dalam directory tertentu, tambahkan parameter -C
, misalnya:
$ tar -xzf nama-file.tar.gz -C /path/directory-tujuan
Gambar 4 berikut menjelaskan fungsi dari masing-masing parameter.
Semoga artikel ini dapat membantu.