Review KaOS Linux 2018.12!

KaOS adalah distro linux independen yang dibangun dari scratch. Tujuan umum dari KaOS linux ini adalah membawa pengalaman unik penggunaan KDE dan Qt paling baru yang dirilis oleh KDE Foundation.

KaOS ini dikembangkan mulai tahun 2013 dengan nama KdeOS. Untuk meminimalisir masalah paten dan kebingungan dikemudian hari,akhirnya nama KdeOS diganti jadi nama KaOS.

KaOS meskipun independen, tapi menggunakan package manager seperti Arch Linux, yaitu pacman dan octopi. Tidak salah jika banyak orang bilang, KaOS ini sangat diinspirasi oleh Arch Linux. Continue reading Review KaOS Linux 2018.12!

How to Install KaOS Linux 2018.12 + First Boot Experience!

KaOS Linux is independent Linux Distribution intended to bring a joyful experience of vanilla KDE and Qt to the mass! It begin as a linux project called ‘KdeOS’ in 2013. Although it build from scratch and totally independent, KaOS is heavly inspired by Arch Linux. KaOS is rolling release distribution, and releasing one installer ISO every month or so.

KaOS Linux 2018.12 is the latest ISO available. KaOS 2018.12 is bringing KDE Plasma Desktop framework 5.53.0, and Plasma 5.14.4 and KDE Applications Suite version 18.12.0.

KaOS Linux 2018.12 released as 1,990 MB ISO file. You can download it from Sourceforge: http://downloads.sourceforge.net/kaosx/KaOS-2018.12-x86_64.iso

Building LiveUSB

You have to burn those ISO to USB Flash Disk, optimally around 4GB size. You can use dd command in Linux or other burner software like Etcher or ROSA Image Writer.

With dd command:

sudo dd if=/home/user/Downloads/KaOS-2018.12-x86_64.iso of=/dev/sdX

How to Install

Boot your KaOS LiveUSB to your computer. Take a time, click Install KaOS.

KaOS is using Calamares Installer, a distro-agnostic installer that use by many other distributions.

Click Next to begin installation.

Read the Release Notes, click Next

Select your Location Time (based on your Country/City)

Select your Keyboard layout

Select your partition (root partition / or customize as your own)

Create new user and password for user and root account

Wait until installation process is finished.

Reboot

Tutorial PHP7: Membuat Dashboard Admin (Part 1)

Tutorial kali ini kita akan membuat dashboard admin yang ditujukan untuk PHP versi 7 ke atas, dan didesain dari awal sebagai aplikasi Modular yang siap untuk menggunakan teknologi-teknologi kekinian, seperti Docker Container, Microservices dll.

Pada tutorial kali ini, kita akan menggunakan framework PHP independen buatan anak Indonesia, yaitu Panada Framework 2.0.

Membuat Project

Untuk membuat project, pastikan sudah mempunyai composer di sistem.

composer create-project panada/app --prefer-dist --stability=dev namaproject

akan tercipta folder dan file-file pada folder namaproject:

untuk menjalankan server, kita gunakan internal server PHP 7 dengan sintaks:

php -S localhost:8000 -t namaproject/public

dan silakan buka URL http://localhost:8000 di browser kamu, akan tampil

Selamat berjumpa di part selanjutnya.

How to Install WordPress 5.0 in Raspberry Pi

WordPress 5.0 (or to be exact when this article is published, WordPress 5.0.2) is released as new major version with some big changes like the default editor and new concept for frontend interface of WordPress.

On this tutorial, we will install WordPress 5.0 in Raspberry Pi. I’m using Raspbian as the default operating system for my Raspberry Pi. Make sure, your raspberry pi internet connection is working and FAST. Heuheu

First, you need to update and upgrade to the latest repository and software available by this command:

sudo apt-get update
sudo apt-get upgrade

then we will install the database server with this command:

sudo apt-get install mariadb-server mariadb-client

make sure you remember the root password you’re type in on those wizard. connect to MySQL/MariaDB server with:

mysql -u root -p

create a new database and setup new user:

create database wordpress;

#then

create user 'wordpress'@'localhost' identified by 'password';

#setup the privileges

grant all privileges on 'wordpress'.* to 'wordpress'@'localhost';

#flush
flush privileges;

Next step, installing Webserver and PHP by using this command:

sudo apt-get install apache2 libapache2-mod-php5 php5 php5-cli php5-mysqli php5-mbstring php5-gd php5-mcrypt php5-json

test your brand new installed webserver by looking into web browser and pointing out to : http://localhost/

Download the latest WordPress available on https://wordpress.org/download/ and extract it to ‘/var/www/html’

tar -xzvf wordpress.tar.gz -C /var/www/html

and refresh your http://localhost/ URL in your browser, the WordPress installer should be loaded.

Install wordpress, like usual. Write your database username, database password, database name and write your Blog Title.

How to use Custom CSS/Javascript in Android WebView

By default you cannot get custom CSS/Javascript loaded into Android Webview. We should override the onPageFinished method to be able to add custom CSS/javascript to Android Webview.

This example is using Kotlin, you may search something else if you’re using native Java code or Flutter.

The best approach to use Custom CSS/Javascript is by creating the style node containing CSS and a script node containing the javascript for your sites.

var node = document.createElement('style');

node.type = 'text/css';
node.innerHTML = 'MY_CSS_STYLE';

document.head.appendChild(node);

and

var node = document.createElement('script');

node.type = 'text/javascript';
node.innerHTML = 'MY_JS_SCRIPT';

document.body.appendChild(node);

and override the onPageFinished method:

override fun onPageFinished(view: WebView, url: String) {
    val code = """javascript:(function() { 
    
        var node = document.createElement('style');

        node.type = 'text/css';
        node.innerHTML = 'body {
            color: white;
            background-color: black;
        }';

        document.head.appendChild(node);
     
    })()""".trimIndent()

    loadUrl(code)
}

How to Create Flask Server with Raspberry Pi

On this very basic tutorial, we gonna create a simple Flask Server with Raspberry Pi. Flask is python microframework which allows you to create a web based applications.

This time, we’ll install Flask and using NGINX as the default webserver, altough the similar way can be reproduced using Apache.

Prepare your SD Card and burn the latest Raspbian Image onto the SD card using the tool like ‘Etcher’ or ‘dd’ command in Linux/MacOS.

Power on you raspberry pi, and take a moment, be sure your Raspberry Pi is connected to Internet, through Wi-Fi or LAN. Then update the repository and packages on Raspberry Pi with this command:

sudo apt-get update

Install the required software, like NGINX, pip3 (python installer) and uWSGI (micro-WSGI):

sudo apt-get install nginx
sudo apt-get install python3-pip
sudo pip3 install uwsgi

To install Flask Microframework, use the pip command:

sudo pip3 install flask

Create Flask App and Nginx Configuration

In your home directory, create new directory for flask app example, called ‘flask’. Create new file, called ‘testSite1.py’ with nano containing this example script:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def index():
  return "<html><body><h1>Test site running under Flask</h1></body></html>"

if __name__ == "__main__":
  app.run(host='0.0.0.0',debug=True)

then, test your script with uwsgi:

uwsgi --socket 0.0.0.0:8000 --protocol=http -w testSite1:app

you should read this page: Test site running under Flask

Next step, configure uwsgi init file in uwsgi.ini in your flask directory:

[uwsgi]chdir = /home/pi/flasktest
module = testSite1:app

master = true
processes = 1
threads = 2

uid = www-data
gid = www-data

socket = /tmp/flasktest.sock
chmod-socket = 664
vacuum = true

die-on-term = true

Create Autostart uWSGI by create new in /etc/systemd/system, called uwsgi.service

[Unit]
Description=uWSGI Service
After=network.target

[Service]
User=www-data
Group=www-data
WorkingDirectory=/home/pi/flask/
ExecStart=/usr/local/bin/uwsgi --ini /home/pi/flask/uwsgi.ini

[Install]
WantedBy=multi-user.target

reload the daemon using sudo systemctl daemon-reload and then start the uwsgi service with systemctl:

sudo systemctl start uwsgi.service

configure NGINX to use uWSGI by editing the default site configuration in /etc/nginx/sites-available/default

Delete all content on those file, and replace with this script:

server {
listen 80;
server_name localhost;

location / { try_files $uri @app; }
location @app {
include uwsgi_params;
uwsgi_pass unix:/tmp/flasktest.sock;
}
}

Restart NGINX with sudo systemctl restart nginx command.

Test and look your browser.

Cara Install PHP 7.3 di Ubuntu 18.04/18.10

PHP 7.3, versi stable terbaru dari PHP baru saja dirilis minggu kemarin (6 Desember 2018) gan, dan sambutannya sangat positif. Banyak yang mereviu dan melakukan benchmark yang hasilnya sangat positif, bahkan diklaim kecepatan eksekusi framework dan aplikasi PHP mereka berkali-kali lipat dibanding sebelumnya.

Kita gunakan repo PPA yang dibuat oleh om Ondrej Surry. Tersedia untuk edisi Ubuntu 14.04, 16.04, 18.04, dan 18.10 Dengan cara install yang mudah

sudo add-apt-repository ppa:ondrej/php
sudo apt update

kemudian install dengan perintah:

sudo apt install php7.3

atau sesuai kebutuhan seperti

sudo apt install php7.3-cli php7.3-fpm php7.3-bcmath php7.3-curl php7.3-gd php7.3-intl php7.3-json php7.3-mbstring php7.3-mysql php7.3-opcache php7.3-sqlite3 php7.3-xml php7.3-zip

Mengenal PSALM, Tool Analisis Error Script PHP yang Keren!

Sebagai developer PHP, kadang perkara sekecil mengetahui error warning atau error notice di script PHP yang kita bikin, itu bisa terlewat begitu saja. Sehingga biasanya meninggalkan bom waktu untuk jauh-jauh hari di masa depan, ketemu dengan bug yang aneh dan terlupakan 😀

Makanya, sebelum merilis script PHP kita ke tahapan berikutnya, sebaiknya dianalisis dulu. Baik itu menggunakan Unit Testing dengan PHPUnit, ataupun menganalisis kecil-kecilan dengan tool analisis statis. Dalam tutorial ini, kita akan menggunakan tool bikinan Vimeo, yaitu PSALM.

PSALM adalah tool analisis statis untuk PHP. PSALM mampu menjelajah jauh dan mengetahui error remeh-temeh para developer PHP seperti null reference maupun variable yang typo (salah tulis).

Instalasi

Untuk instalasi dari PSALM sendiri sudah mendukung composer gan. Silakan install dengan perintah:

composer require --dev vimeo/psalm

Kemudian langkah keduanya melakukan konfigurasi dengan perintah:

./vendor/bin/psalm --init [folder_source_code_yg_akan_dianalisis] [level]

dimana perintah tersebut akan melakukan analisis ke folder folder_source_code_yg_akan_dianalisis dengan level analisis dari 1-8 (tergantung settingan)

lebih jelasnya silakan simak video berikut gan:

Mengenal Tool ‘Bat’, clone dari Tool ‘cat’ dengan Syntax Highlighting

Salah satu tool wajib yang dikuasai oleh sysadmin Linux diantaranya adalah cat. Perintah cat akan menampilkan isi file di terminal. Biasanya digunakan untuk membaca file konfigurasi maupun file script lainnya.

Nah, jika  cat hanya menampilkan isi teks secara apa adanya, lain lagi tool clone mereka yaitu bat yang menampilkan isi teks lebih cantik dengan syntax highlighting dan line numbers.

Contoh hasil tampilan dari bat

contoh tampilan bat yang menampilkan isi dari file test.md yang berisi syntax Markdown

Instalasi

Untuk instalasinya sendiri, silakan download paket linux (DEB/RPM) maupun source codenya dari laman github mereka gan di https://github.com/sharkdp/bat, kemudian pilih tab release dan pilih file sesuai distro linux anda.

lebih lengkapnya silakan simak video berikut

Cara Menambahkan Watermark di File Gambar/PDF dengan PHP Watermark





Pada tutorial kali ini kita akan menambahkan watermark berupa teks atau gambar pada file Gambar ataupun file PDF yang kita miliki di server dengan PHP. Untuk library yang kita gunakan kali ini adalah library dari AjaxRay, yaitu PHP Watermark.

Implementasinya sih seperti watermark nama/nomor induk di foto pegawai/mahasiswa/siswa, atau menambahkan watermark ‘LUNAS’ pada PDF kuitansi pembayaran. Continue reading Cara Menambahkan Watermark di File Gambar/PDF dengan PHP Watermark



Cara Membuat Visitor Counter di Laravel dengan Laravel Visits





Pada tutorial kali ini kita akan membuat counter pengunjung website yang menggunakan Laravel sebagai framework CMS-nya. Library yang kita gunakan adalah Laravel Visits yang dibuat oleh awssat, di Github. Laravel Visits menyimpan statistik yang diolah dan direkamnya pada database Redis. Jadi wajib server sampeyan sudah terpasang Redis.

Untuk fitur dari Laravel Visits ini antara lain:

  • model item yang bisa disesuaikan dengan kunjungan yang direkam menggunakan tag-tag khusus
  • tidak terbatas pada satu model counter,
  • rekam per visitor dan tidak melulu menggunakan deteksi ip address

Instalasi

Untuk instalasinya sendiri, sudah mendukung penggunaan Composer. Jadi tinggal ketik saja perintah

composer require awssat/laravel-visits

Konfigurasi Database Redis

Bagi yang sudah biasa konfigurasi Redis, silakan dilewati saja gan. Sampeyan terusin baca yang lain saja.

Buka file config/database.php. Disana ada satu bagian khusus untuk konfigurasi Redis. Nah, otak-atik disitu saja, sesuaikan dengan konfigurasi masing-masing.

'redis' => [

    'client' => 'predis',

    'default' => [
        'host' => env('REDIS_HOST', 'localhost'),
        'password' => env('REDIS_PASSWORD', null),
        'port' => env('REDIS_PORT', 6379),
        'database' => 0,
    ],

],

tambahkan koneksi Redis baru:

'laravel-visits' => [
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', 6379),
            'database' => 3, // anything from 1 to 15, except 0 (or what is set in default)
        ],

Simpan.

Buka file config/visits.php. Dan sesuaikan koneksinya:

'connection' => 'default'

Penggunaan

Untuk penggunaanya, Laravel Visits sudah menyediakan helper function yang bisa kita panggil di View maupun di Controller.

Contohnya:

visits($model)->{method}()

dimana $model adalah model menggunakan Eloquent dalam project sampeyan, dan
{method} adalah method yang didukung oleh Library ini. Misalnya Increment, Decrement, tambah lebih satu (dll).

Contohnya:

visits($post)->increment(); // tambah visit counter 1 kali
#
visits($post)->increment(10); // tambah visit counter 10 kali
#
visits($post)->decrement(); // kurangi visit counter 1 kali
#
visits($post)->decrement(4); // kurangi visit counter 4 kali
#
visits($post)->seconds(30)->increment() // tambah visit counter 1 kali tiap 30 detik

Referensi lebih lanjut, silakan sampeyan baca-baca disini: https://github.com/awssat/laravel-visits



Berkenalan dengan Stacer, CCleaner-nya Linux





Bagi pengguna Windows atau Mac, pasti akrab dengan software bersih-bersih cache dan file metadata seperti CCleaner atau CleanMyMac. Apa di Linux tidak ada? Ada lah! Namanya Stacer.

Stacer adalah sistem optimizer yang bisa mengelola dan menyajikan informasi seputar sistem kita. Dulu, Stacer dibuat dengan Electron Framework, tapi sekarang Stacer sudah ditulis ulang dengan C++ dan hanya membutuhkan CURL dan systemd saja.

Sebenarnya Stacer ini khusus didesain untuk distro linux berbasis Debian/Ubuntu. Tapi sekarang bisa juga berjalan di distro linux lain seperti Fedora dan Manjaro Linux. Continue reading Berkenalan dengan Stacer, CCleaner-nya Linux



Cara Install FFmpeg di Ubuntu 18.04/18.10





FFmpeg adalah tool command line yang bisa melakukan transcoding file multimedia, bersifat gratis dan open-source. FFmpeg sudah dibekali dengan berbagai codec audio dan video, dari mulai standar yang lawas sampai yang paling baru. Tidak hanya mengubah satu format audio video ke format lain, ffmpeg juga bisa resize, reset sample rate, ngasih watermark dan lain-lain.

Untuk mengikuti tutorial ini, silakan gunakan Ubuntu 18.04/18.10 atau distro turunannya (Lubuntu, Kubuntu, Xubuntu dll). Pastikan ada koneksi internet stabil dan repo yang aktif. Continue reading Cara Install FFmpeg di Ubuntu 18.04/18.10



Cara Auto Backup Repo Git dengan Gitlab





Pernah berpikir ataupun khawatir, repositori git di Github atau Bitbucket yang kita gunakan hilang tak berbekas karena gangguan sistem dari Github/Bitbucket atau vendor lainnya? Pernah terbesit untuk membackup repositori itu secara berkala?

Pada tutorial kali ini kita akan memanfaatkan fasilitas Repository Mirroring yang dimiliki oleh Gitlab. Silakan install Gitlab dulu jika belum punya.

Secara umum, mirroring repo yang bisa dilakukan oleh Gitlab itu ada dua:

  • Push: melakukan push repo di Gitlab ke platform lain
  • Pull: melakukan pull repo dari platform lain ke Gitlab

Untuk keperluan tutorial kali ini, tampaknya kita akan menggunakan mode Pull saja. Pastikeun Gitlab yang dipakai sudah versi 8.2 atau lebih baru. Continue reading Cara Auto Backup Repo Git dengan Gitlab



How to Install WSO2 API Manager in Docker Container





WSO2 API Manager is an open source approach to addressing any spectrum of the API lifecycle, monetization and policy enforcement.

WSO2 API Manager features:

  • Design APIs and gather developers’ feedback before implementing (API First Design). Design can be done from the publishing interface or via importing an existing Swagger 2.0 definition
  • Deploy a prototyped API, provide early access to APIs, and get early feedback
  • Mock API implementation using JavaScript
  • Supports publishing SOAP, REST, JSON, and XML style services as APIs
  • Pre-loaded sample APIs for a hassle-free first experience

Build the WSO2 API Manager Images

Create a Dockerfile and write this sample script: Continue reading How to Install WSO2 API Manager in Docker Container



Cara Install Ubuntu Server 18.10 (Cosmic Cuttlefish)





Ubuntu Server 18.10 dirilis bersamaan dengan versi desktop pada tanggal 19 Oktober 2018 kemarin. Pada tutorial kali ini, kita akan menginstall Ubuntu Server 18.10 dengan paket software minimalis, hanya OpenSSH Server saja.

Untuk cara install server web, email dan lainnya, bisa ikuti tutorial selanjutnya.

Download Ubuntu Server 18.10

Untuk link download file ISO dari Ubuntu 18.10, silakan rujuk pada tautan berikut:

http://cdimage.ubuntu.com/releases/18.10/release/ubuntu-18.10-server-amd64.iso

atau dari REPO UNNES/Indonesia: http://repo.unnes.ac.id/iso/ubuntu/18.10/ubuntu-18.10-server-amd64.iso

Cara Install Ubuntu Server 18.10

Masukkan DVD Ubuntu Server yang anda burn ke Server, atau load file ISO itu ke boot device (jika menggunakan virtualisasi VMWare/Virtualbox dll).

  • Pilih bahasa interface, sebaiknya English saja.
  • Kemudian saat ada pilihan booting, pilih Install Ubuntu Server tekan tombol Enter

Lebih lengkapnya, silakan saksikan video berikut:

 



Cara Membatasi Akses API Berdasar IP Address dengan NodeJS





Meneruskan tutorial NodeJS kemarin, kali ini kita akan menambahkan fitur untuk membatasi akses ke API yang kita buat dengan pembatasan IP Address. API yang akan kita buat hanya bisa diakses dari IP Address tertentu saja.

Langsung saja install package express-ipfilter dari NPM. dengan perintah npm install express-ipfilter

Kemudian, masukkan ke aplikasi dengan membuat variabel baru

const ipfilter = require("express-ipfilter").IpFilter

Continue reading Cara Membatasi Akses API Berdasar IP Address dengan NodeJS



Tutorial Ubuntu: Cek Status Baterai dari Terminal/Konsole





Ini hanya tutorial iseng saja, bagaimana cara mengecek status baterai dari terminal/konsole. Masih berapa persen dayanya? atau masih berapa menit baterai bertahan.

Ada tiga metode yang bisa kita coba, menggunakan software  upower, kedua menggunakan fitur acpi, yang ketiga menggunakan software batsat.

Lebih gurih lihat videonya disini:

1. Menggunakan software upower

Untuk software upower sudah tersedia dihampir semua distro linux, karena bagian dari kesepakatan Freedesktop. Untuk cara menggunakannya, silakan buka terminal/konsole dan tulis perintah

$ upower -i /org/freedesktop/UPower/devices/battery_BAT0

atau perintah

upower -i `upower -e | grep 'BAT'`

atau perintah

upower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage"

biar tampilannya cantik.

2. Menggunakan software acpi

tidak semua distro menyediakan acpi secara langsung. khusus Ubuntu, kita bisa menginstall dengan perintah sudo apt install acpi

untuk mendapatkan data baterai, cukup jalankan perintah dan contoh tampilannya

acpi -V

Battery 0: Charging, 99%, 00:02:09 until charged
Battery 0: design capacity 4400 mAh, last full capacity 4013 mAh = 91%
Battery 1: Discharging, 0%, rate information unavailable
Adapter 0: on-line
Thermal 0: ok, 77.5 degrees C
Thermal 0: trip point 0 switches to mode critical at temperature 84.0 degrees C
Cooling 0: Processor 0 of 3
Cooling 1: Processor 0 of 3
Cooling 2: LCD 0 of 15
Cooling 3: Processor 0 of 3
Cooling 4: Processor 0 of 3
Cooling 5: intel_powerclamp no state information available
Cooling 6: x86_pkg_temp no state information available

3. Menggunakan software batstat

Pastikan di komputer sudah terpasang Git. Kalau belum silakan install dulu dengan perintah sudo apt install git

Pertama, download dan clone repo git dari Batstat.

git clone https://github.com/Juve45/batstat.git

kemudian masuk ke direktori batstat hasil clone diatas, dan jalankan perintah ./batstat