Category Archives

76 Articles
Konfigurasi CAS 5.1.2
Arsitektur SSO dasar.

Konfigurasi CAS 5.1.2

Apereo CAS (sebelumnya Jasig CAS) banyak dipakai untuk SSO. Cara pemasangannya agak ribet dan sulit. Kebetulan, versi CAS 5.1.2 sekarang sudah menggunakan Spring Boot sebagai dasarnya.

Keuntungan penggunaan Spring Boot adalah Jasig CAS menggunakan banyak keunggulan framework Spring. Misalnya, teknologi Spring Cloud untuk teknologi devops, Spring Web Flow untuk arsitektur layanan mikro (micro service), service discovery, dan konfigurasi melalui YAML. Sehingga, kita bisa memasang infrastruktur SSO melalui CAS tanpa harus mengoding seperti dahulu. Atau, kita bisa mengembangkan layanan yang terpisah dari SSO ala layanan mikro.

Sebelum infrastruktur bertambah rumit, saya ingin memberikan jembatan keledai. Sebab, saya pikir SSO ini agak sulit pada awalnya kalau tidak tahu caranya. Saya harap ketika selesai membaca artikel ini, pembaca ada gambaran bagaimana SSO bisa dikembangkan.

Arsitektur yang dipilih

Arsitektur SSO

Arsitektur SSO dasar.

Ada banyak pilihan, tetapi saya memilih kapabilitas komponen yang bisa diskalakan secara horizontal dan modern. Misalnya, ada banyak pilihan untuk ruang penyimpan tiket (Ticket Storage), tetapi saya memilih Redis karena dia implementasi modern yang banyak dipakai untuk teknologi dewasa ini.

Setiap komponen yang saya pilih ini dapat dikluster. Saya memilih untuk mengembangkan satu layanan per mesin. Nanti kalau sudah mengerti teknologi perawanan, [uhuk colek Utian Ayuba] Anda bisa mengubah setiap ini menjadi konfigurasi devops macam Ansible, Puppet, Chef, Vagrant,  atau apa pun agama Anda.

CAS IdP

CAS IdP adalah mesin utama yang menyediakan profil, otentikasi, dan otorisasi. Semua klien terhubung ke sana.

Cara buat:

CAS IdP Server

CAS Ticket Storage

Secara baku CAS IdP menyimpan tiket sesi pada memori. Namun, untuk arsitektur kluster dan skalabilitas, lebih baik menggunakan Redis. Mengapa Redis? Karena Redis utamanya menggunakan memori.

Untuk peladen Redis tidak perlu dikluster. Lebih baik satu instans Redis yang memakan memori 24 GB dari pada membuat kluster.

Cara buat:

Redis Ticket Storage

CAS Service Storage

Satu situs/sistem/aplikasi yang menggunakan CAS untuk SSO disebut satu layanan (service). Setiap layanan dapat didefinisikan logo, URL, ACL pengguna, dan sebagainya secara granular. Itu semua secara baku disimpan oleh CAS IdP di berkas JSON.

Untuk pengelolaan yang lebih baik, saya memilih PostgreSQL sebagai ruang penyimpan. Pengalaman saya membandingkan PostgreSQL dengan MySQL mengatakan bahwa PostgreSQL rajanya basisdata untuk basisdata perangkat lunak bebas terbuka. Waktu itu saya membandingkan layanan Roundcube Webmail dengan MySQL dan PostgreSQL. Anda sebagai pengguna Webmail UI pasti merasakan bagaimana Webmail UI itu seperti mengakses sistem HTML statik.

Saya, sih, tidak apa kalau ada yang mau menggunakan MongoDB atau yang lainnya. Tetapi saya memilih karena daftar layanan ini tidak perlu kecepatan khusus. Selain itu, daftar layanan butuh untuk tahan banting, saya lebih memilih PostgreSQL. Tentu saja, saya takkan memilih Redis.

Cara buat:

CAS Service Registry

CAS Authentication Provider

Normalnya CAS menggunakan Spring Security dengan login casuser dan sandi Mellon. Tentunya, ini buat yang main-main. Untuk yang lebih serius, gunakan LDAP, basis data, atau bahkan layanan REST.

Penyedia otentikasi CAS dapat lebih dari satu (komposit). Tetapi, untuk kali ini, gunakan saja LDAP.

Cara buat:

CAS Auth LDAP

CAS Service Management Webapp

Aduh, lupa menulis dokumentasi. Silakan simpan URL ini, nanti saya coba tulis. Untuk sementara, langsung saja buat di basisdata. He… he… he….

Studi Kasus: WordPress

Penasaran dengan hasilnya? Langsung saja, buat aplikasi WordPress. Mengapa WordPress? Karena gampang memasangnya. Tinggal pakai plugin WP Cassify, daftarkan URL WP sebagai satu layanan, dan beres!

Cara buat:

WordPress Cassify

TODO:

  • Personalisasi halaman login.
  • Membuat CAS IdP terkluster (lebih dari satu instans)
  • Entahlah….
Akses Dolphin (Manajer Berkas KDE) ke SMBv2 atau SMBv3
About KDE

Akses Dolphin (Manajer Berkas KDE) ke SMBv2 atau SMBv3

Karena WCry 2.0, protokol SMBv1 sudah tidak berlaku lagi. Kebanyakan peladen berkas sudah berjalan di versi 2 ke atas. Masalahnya, banyak penjelajah berkas masih menggunakan SMBv1 secara baku. Untuk itu, perlu diaktifkan klien versi 2 ke atas.

 “Well, hell! PMP exam topics That’s no excuse for insulting me! You PMP exam topics 300-320 questions pdf are 300-320 questions pdf Ma’s PMP exam topics PMP exam topics own blood son, but did PMP exam topics she take on that time PMP exam topics Tony Fontaine shot you in the leg? 70-532 answer analysis No, she 70-532 answer analysis just 300-320 questions pdf sent for old Doc 70-532 answer analysis Fontaine to dress it and asked the doctor what ailed Tony’s aim. Said she guessed licker was spoiling his marksmanship. Remember how mad that made Tony?”Both boys yelled 70-532 answer analysis with laughter.“Ma’s a card!” said Brent with loving approval. “You can always count on her to do the right thing 300-320 questions pdf and 70-532 answer analysis not embarrass you in front of PMP exam topics folks.”  But Gerald remained Gerald. 300-320 questions pdf His habits PMP exam topics of living and his ideas changed, but his manners he would 300-075 certification exam not change, 300-075 certification exam even had he been 70-532 answer analysis able to change them. He admired 300-320 questions pdf the drawling 300-075 certification exam elegance of the 300-075 certification exam wealthy rice and cotton planters, who rode into Savannah from their moss-hung kingdoms, mounted 70-532 answer analysis on 300-320 questions pdf thoroughbred horses and followed by the carriages of their 300-320 questions pdf equally elegant ladies 70-532 answer analysis and the wagons 300-320 questions pdf of their slaves. But Gerald could never attain elegance. 70-532 answer analysis Their lazy, blurred voices fell pleasantly 300-075 certification exam 300-075 certification exam 300-320 questions pdf on PMP exam topics his PMP exam topics ears, but his 300-075 certification exam PMP exam topics own 300-075 certification exam brisk brogue clung to his tongue. He liked the casual 70-532 answer analysis 300-075 certification exam grace with which they PMP exam topics conducted affairs 300-320 questions pdf of importance, 300-320 questions pdf risking 300-320 questions pdf a fortune, a plantation or a slave 70-532 answer analysis 300-075 certification exam on the 300-075 certification exam turn 70-532 answer analysis of a card and writing off their losses with careless good humor and no more ado than when they scattered 300-320 questions pdf pennies to pickaninnies. But Gerald had known poverty, and PMP exam topics he could never PMP exam topics learn to lose money with 70-532 answer analysis good 300-075 certification exam humor or good 300-320 questions pdf 70-532 answer analysis 300-320 questions pdf grace. They were PMP exam topics a pleasant race, these coastal Georgians, with their soft-voiced, 70-532 answer analysis PMP exam topics quick rages and their charming inconsistencies, and Gerald liked them. But 300-075 certification exam there was a 300-075 certification exam brisk and 70-532 answer analysis restless vitality 300-075 certification exam about the young Irishman, fresh from a country where winds blew wet and chill, where misty swamps held no fevers, that 300-075 certification exam set him apart from these indolent gentle-folk of semi-tropical weather and malarial marshes.

Saya pernah membuat sebuah retasan dengan memasang berkas tersebut menggunakan CIFS. Ternyata ada cara yang lebih baik, yakni dengan mengonfigurasi pustaka klien SMB untuk mengaktifkan sampai versi 3.

Caranya:

$ mkdir ~/.smb
$ cat > ~/.smb/smb.conf  << EOF
[global]
    client max protocol = SMB3
EOF

Selesai.

Bacaan Lebih Lanjut

Memasang Python 3.6.4 pada Debian dan Turunannya
ID Python

Memasang Python 3.6.4 pada Debian dan Turunannya

Cara sebelumnya menggunakan pyenv, sebuah perkakas yang membantu untuk memasang Python 3. Python 3.6 menyatakan bahwa paket pyenv sudah kedaluwarsa, alias sudah tidak akan dipakai lagi. Ya, sudah, dari pada ada masalah, mari memasang dengan mengompilasi dari kode sumber. Sekalian saja, mengoptimasi pemasangan.

Seperti yang lain, pasang paket yang dibutuhkan:

sudo apt install -y build-essential libbz2-dev libssl-dev libreadline-dev libsqlite3-dev tk-dev libpng-dev libfreetype6-dev

Unduh kode sumber, ekstraksi, dan masuk ke direktori:

wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
tar xvfJ Python-3.6.4.tar.xz
cd Python-3.6.4/

Konfigurasi dengan optimasi menyeluruh:

CXX="/usr/bin/g++" CFLAGS="-march=native -mtune=native -pipe" CXXFLAGS=$CFLAGS ./configure --enable-optimizations --with-lto --enable-shared  --with-system-expat --with-system-ffi --with-system-libmpdec --with-ensurepip=yes

Kompilasi:

make -j$(nproc)

Ada sekitar 406 tes yang harus dilewati. Untuk itu, sebaiknya saat kompilasi Anda menyapa keluarga Anda, gebetan Anda, atau pun rekan di sebelah Anda. Ingat! Anda tidak sendirian di dunia ini.

Pasang dengan nama alternatif agar tidak bentrok dengan Python yang telah terpasang di sistem:

sudo make altinstall

Konfigurasi Sebuah Lingkungan Python versi 3.6.4

Cara untuk membuat sebuah lingkungan terisolasi yang didukung oleh Python adalah dengan menggunakan perkakas venv. Perkakas pyenv sudah kedaluwarsa dan tidak disarankan pengembang Python.

Pasang sebuah lingkungan baru:

python3.6m -m venv ~/.local/python-3.6.4

Masukan direktori lingkungan lokal tersebut ke PATH dan simpan di ~/.bashrc agar tersimpan PATH baru tersebut.

echo "PATH=~/.local/python-3.6.4/bin:$PATH" >> ~/.bashrc
source ~/.bashrc

Jalankan Python versi 3.6.4

Untuk menjalankan Python yang sudah terpasang:

source activate

Untuk mematikan — mengembalikan ke Python versi sistem:

source deactivate

Selesai.

Memasang Python 3 Terbaru di Debian dan Turunannya
ID Python

Memasang Python 3 Terbaru di Debian dan Turunannya

Debian menyertakan Python 3 versi 3.5 yang sebenarnya cukup untuk digunakan. Namun, untuk menambah khasanah dan tulisan di blog ini, saya berusaha menulis cara memasang Python versi terbaru. Siapa tahu ada yang berminat. Apalagi, Python menjadi seksi semenjak banyak pustaka seperti Numpy dan Pandas untuk pengolahan data besar.

Paket yang Diperlukan

Pasang pengembangan paket yang diperlukan:

sudo apt install -y build-essential libbz2-dev libssl-dev libreadline-dev \
                         libsqlite3-dev tk-dev libpng-dev libfreetype6-dev  -y

Pasang paket GIT karena perkakas untuk memasang memerlukan akses GIT:

sudo apt install git

Perkakas pyenv

Perkakas pyenv adalah sebuah perkakas yang bisa memasang berbagai versi Python dan mengaktifkannya sesuai selera.

 wget -O- https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer  | bash

Perkakas pyenv akan memasang skrip yang dibutuhkan untuk memasang Python. Setelah memasang pyenv, tambahkan tiga baris berikut ke ~/.bashrc dengan penyunting teks favorit Anda.

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

Untuk bisa langsung mengaktifkan, langsung jalankan:

source ~/.bashrc

Pemasangan Python

Setelah perkakas pemasang selesai dipasang, langsung saja pasang Python 3 terbaru:

pyenv install 3.6.4

Setelah selesai pemasangan, kasih nama lingkungan Python versi 3.6.4 itu agar nanti kalau butuh versi ini gampang diaktifkan.

pyenv virtualenv 3.6.4 versi_3.6.4

Versi Global

Sampai baris ini, bila kita mengetik:

$ python --version
Python 2.7.13

akan terlihat versi baku untuk pengguna yang aktif adalah Python 2.7.13 (Debian Stretch). Agar versi yang telah dikompilasi menjadi versi yang baku, jalankan:

pyenv global versi_3.6.4

Selesai.

Bacaan Lebih Lanjut

Memasang Golang Terbaru

Memasang Golang Terbaru

Debian Jessie memiliki Go versi lawas di repositorinya. Hal ini membuat beberapa aplikasi Go seperti Hydra SSO tidak bisa berjalan. Untuk itu, harus dipasang Go versi manual.

Pertama-tama, pergi ke laman unduh di situs resmi Go. Saat penulisan versi Go yang terbaru adalah 1.8.3. Lalu, salin tautan unduhan untuk dipakai.

Unduh dan taruh Go ke direktori tertentu. Kalau saya, lebih suka di /opt

wget -O- https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz | sudo tar xvfz - -C /opt

Go memerlukan direktori Go untuk pengguna dan direktori Go sendiri untuk bisa dieksekusi. Maka, buatlah berkas /etc/profiles.d/golang.sh yang berisi:

export GOROOT=/opt/go
export GOPATH=$HOME/.go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

Selesai.

Oh, iya, supaya tidak usah keluar, langsung saja eksekusi:

source /etc/profile.d/golang.sh

 

Mount Windows Share on KDE Neon
Wily Broke The Window

Mount Windows Share on KDE Neon

 The twins looked at each other jubilantly but with some surprise. Although 70-534 answer analysis they 70-534 answer analysis considered themselves Scarlett’s favored suitors, they had never before gained tokens ADM-201 exam dumps of this favor so easily. Usually she made them beg and plead, while she put them off, CISSP exam topics refusing to give a 70-534 answer analysis Yes or No answer, laughing if they sulked, growing cool if they became angry. And here she had practically promised them 70-534 answer analysis the ADM-201 exam dumps whole of tomorrow—seats by her at 70-534 answer analysis the barbecue, all the waltzes (and they’d see to it that the dances were CISSP exam topics all waltzes!) and the supper intermission. This was worth getting expelled from the university.Filled ADM-201 exam dumps with new enthusiasm by their success, they CISSP exam topics lingered on, talking about the barbecue 70-534 answer analysis and the ball and Ashley Wilkes 300-208 study material CISSP exam topics and Melanie Hamilton, CISSP exam topics interrupting each other, making jokes and laughing at them, hinting broadly for invitations 300-208 study material to supper. ADM-201 exam dumps Some time had passed before they realized that Scarlett was having very little to say. The atmosphere had somehow changed. Just how, the twins did not know, but the fine glow had gone out of the afternoon. Scarlett seemed to ADM-201 exam dumps be paying little attention to 70-534 answer analysis what they 300-208 study material 70-534 answer analysis ADM-201 exam dumps said, although she made the correct answers. Sensing something they 300-208 study material could not understand, baffled and annoyed by it, the twins struggled along for a while, and then rose reluctantly, ADM-201 exam dumps looking at their 300-208 study material watches.The sun was low CISSP exam topics across the new-plowed fields and the tall woods across the river ADM-201 exam dumps were looming ADM-201 exam dumps blackly in silhouette. Chimney swallows were darting swiftly across the yard, and chickens, ducks and turkeys were waddling 70-534 answer analysis and strutting and straggling in from the fields.Stuart bellowed: “Jeems!” And after an interval a 70-534 answer analysis tall black boy of their own age ran breathlessly around CISSP exam topics the house and out toward the ADM-201 exam dumps tethered horses. Jeems was their 300-208 study material body servant and, like CISSP exam topics the dogs, accompanied them everywhere. He had been CISSP exam topics their childhood playmate and had been given to the twins for their own ADM-201 exam dumps on their tenth birthday. At the sight of him, CISSP exam topics CISSP exam topics the Tarleton hounds rose up out of the red dust and stood waiting expectantly for their masters. The 300-208 study material boys bowed, shook hands and 300-208 study material told CISSP exam topics Scarlett they’d be over 300-208 study material at the 300-208 study material Wilkeses’ early in the morning, waiting for her. Then CISSP exam topics they were ADM-201 exam dumps off down the 70-534 answer analysis walk CISSP exam topics at a rush, mounted their horses and, followed by ADM-201 exam dumps ADM-201 exam dumps Jeems, went down the avenue of cedars at a gallop, waving their hats and yelling back to her.When they had rounded the curve of the dusty road that hid them from Tara, Brent drew his horse to a ADM-201 exam dumps stop under a clump of dogwood. Stuart halted, 70-534 answer analysis too, and the darky boy pulled up a few paces behind 300-208 study material them. The horses, feeling slack reins, 300-208 study material stretched down their necks to crop the tender spring grass, and the patient hounds lay down again in the 300-208 study material CISSP exam topics soft red dust and looked up longingly at the chimney swallows circling in the gathering dusk. 300-208 study material Brent’s wide ingenuous face was puzzled and mildly indignant.“Look,” he said. “Don’t it look to you like she 70-534 answer analysis would of asked us to stay for supper?”  Nor did 70-534 answer analysis James and Andrew, who took him into their store in Savannah, regret his lack of education. His clear hand, his 300-208 study material accurate CISSP exam topics figures and his shrewd ADM-201 exam dumps ability in bargaining won their respect, where a knowledge 70-534 answer analysis of literature and a fine appreciation of music, had young 300-208 study material Gerald possessed them, would have moved them to snorts of contempt. America, in the early years of the century, had been kind to the Irish. James and Andrew, who had begun by hauling goods in covered wagons 70-534 answer analysis from Savannah to Georgia’s inland towns, had prospered into a store of their own, and Gerald prospered with them.

Because of WCry 2.0, people turned off SMBv1 protocol. So, to mount that Windows Share folder, we need to adjust by defining the protocol version. Thus, mounting:

sudo mount -t cifs //[WINDOWS_IP]/[WINDOWS_FOLDER] /mnt -o username=guest,uid=1000,vers=2.1

e.g.

sudo mount -t cifs //192.168.1.2/jav /mnt -o username=guest,uid=1000,vers=2.1

Change uid with your own UID. We could use protocol 3. But, in this example, I used SMB version 2.1.

Wily Broke The Window

Read more about ..

Kalau KMail mengambek dengan pesan:

org.kde.pim.kmail: "The protocol version of the Akonadi server is incompatible. Make sure you have a compatible version installed. (Protocol version mismatch. Server version is newer (56) than ours (57). If you updated your system recently please restart the Akonadi server.)"
*** KMail got signal 11 (Exiting)
Segmentation fault

Itu berarti Akonadi perlu dinyalakan ulang.

akonadictl restart

 

Membuat Sertifikat Let’s Encrypt Menggunakan certbot Di Debian Wheezy
By The people from the Tango! project, derived RRZEicons (The Tango! Desktop Project) [Public domain], via Wikimedia Commons, color modified by JP

Membuat Sertifikat Let’s Encrypt Menggunakan certbot Di Debian Wheezy

Maaf, ya, saya suka khilaf lupa menulis tulisan lanjutan. Ha… ha… ha….

Berikut ini adalah cara memasang sertifikat SSL yang ditandatangani oleh Let’s Encrypt dengan menggunakan certbot pada Debian Wheezy. Silakan lihat cara pasang di Wheezy untuk keterangan lebih lanjut.

Aktifkan Repo Debian Wheezy Backports

Anda bisa langsung mengaktifkan repo Debian Wheezy Backports:

echo "deb http://kambing.ui.ac.id/debian-backports/ jessie-backports main" | sudo tee /etc/apt/sources.list.d/debian-backports.list
sudo apt update

Atau nanti tunggu ditanyakan pada saat menjalankan certbot.

Pasang certbot

Unduh dengan pengunduh favorit Anda.

sudo wget https://dl.eff.org/certbot-auto -O /usr/local/bin/certbot-auto
sudo chmod +x /usr/local/bin/certbot-auto

Sebelum Memasang Let’s Encrypt

Siapa tahu Anda malas tidak punya waktu untuk membaca artikel sebelumnya, perhatikanlah:

  1. Pastikan semua domain yang didaftarkan sudah terdaftar di DNS publik.
  2. Pastikan bahwa direktori yang memuat URL untuk sertifikasi dapat diakses.

Penulisan DNS di luar cakupan tulisan ini. Berikut contoh direktori .well-known

server {
        listen   80;
        listen  [::]:80 ipv6only=on;
        server_name  example.com www.example.com;
        server_name_in_redirect on;
        port_in_redirect on;
 
        access_log  /var/log/nginx/access.log;
        error_log  /var/log/nginx/error.log;
 
        # For ACME Let's Encrypt challenge
        location /.well-known {
                alias /var/www/html/.well-known; # have this as the webroot
        }
 
        location / {
                return 301 https://$server_name$request_uri;
        }
 
}

Mari memasang certbot.

Sertifikasi

Seperti biasa:

sudo certbot-auto certonly --webroot -w /var/www/html -d example.com -d www.example.com

Seandainya tadi Anda melewati bagian pemasangan repositori Debian Backports, maka Anda akan ditanyakan:

To use the Apache Certbot plugin, augeas needs to be installed from wheezy-backports.
Would you like to enable the wheezy-backports repository [Y/n]? y

Lalu beberapa pesan pemasangan paket Python virtualenv. Kemudian, ditanyakan alamat info:

Installing Python packages...
Installation succeeded.
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel):admin@example.com

Lalu, ditanyakan apakah menyetujui syarat dan ketentuan yang diberikan, jawab A untuk setuju.

-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. You must agree
in order to register with the ACME server at

No Title

No Description

------------------------------------------------------------------------------- (A)gree/(C)ancel: A

Setelah itu, tunggu beberapa saat.

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
Using the webroot path /var/www/html for all unmatched domains.
Waiting for verification...
Cleaning up challenges
Generating key (2048 bits): /etc/letsencrypt/keys/0000_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0000_csr-certbot.pem

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/example.com/fullchain.pem. Your
   cert will expire on 2017-04-19. To obtain a new or tweaked version
   of this certificate in the future, simply run certbot-auto again.
   To non-interactively renew *all* of your certificates, run
   "certbot-auto renew"
 - If you lose your account credentials, you can recover through
   e-mails sent to admin@example.com.
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Kalau sudah sampai sini, Anda sudah selesai mendapatkan sertifikasi dari Let’s Encrypt.

Konfigurasi NGINX

Kalau mau penjelasan, lihat artikel terdahulu.

Berikut blok SSL:

ssl  on;
 
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
        
ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers         "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";
ssl_prefer_server_ciphers on;
ssl_session_cache   shared:SSL:20m;
ssl_session_timeout 60m;
 
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
 
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
resolver 8.8.8.8;
 
add_header Strict-Transport-Security "max-age=31536000" always;

Nah, untuk Debian Wheezy, ada tambahan yang harus dilakukan.

Penambahan Penjadwalan CRON

Pada paket Debian Jessie, jadwal CRON untuk certbot sudah dipasang pada /etc/cron.d/certbot. Mari tambahkan secara manual untuk Debian Wheezy.

Pertama-tama, coba jalankan apakah sukses.

sudo certbot-auto renew --dry-run

Kalau sudah berhasil, maka pasang pada CRON.

sudo crontab -e

Masukkan entri:

0 */12 * * * /usr/local/bin/certbot-auto renew --quiet --no-self-upgrade

Let’s Encrypt memandatkan untuk pengecekan sehari dua kali.

Terakhir

Selesai.

 

Bacaan Lebih Lanjut

Membuat Sertifikat Let’s Encrypt Menggunakan certbot Di Debian Jessie
By The people from the Tango! project, derived RRZEicons (The Tango! Desktop Project) [Public domain], via Wikimedia Commons, color modified by JP

Membuat Sertifikat Let’s Encrypt Menggunakan certbot Di Debian Jessie

Untuk mendukung web yang aman dan dalam rangka HTTP/2 yang sudah menggunakan SSL sebagai dasar koneksi, diperlukan sertifikat digital yang ditandatangani oleh pihak yang terpercaya. Situs yang memiliki sertifikat digital yang ditandatangani sendiri bahkan sudah ditandai oleh beberapa peramban sebagai situs tak aman. Tak ayal lagi, diperlukan tanda tangan digital yang terpercaya.

Kali ini kita menggunakan sebuah sertifikat gratis yang bernama Let’s Encrypt. Penyedia sertifikat ini (CA) didukung oleh EFF (Electronic Frontier Foundation), sebuah organisasi nirlaba yang bergerak dalam aktivitas digital. Bahkan, organisasi nirlaba ini menyediakan perkakas untuk sertifikasi tanda tangan digital, certbot.

Mungkin Anda bertanya, bagaimana dengan Sivion? Sivion adalah salah satu usaha dari Indonesia untuk itu. CA (penyedia sertifikat) dari Indonesia ini saat ini menyediakan tanda tangan gratis bagi kita. Namun, sayangnya mereka belum menyediakan perkakas sertifikasi seperti Let’s Encrypt.

Artikel kali ini membahas bagaimana memasang sertifikat Let’s Encrypt dengan certbot. Artikel ditulis untuk Debian Jessie.

Aktifkan Repo Debian Jessie Backports

Tambahkan ke daftar repo dan perbaharui daftar paket.

echo "deb http://ftp.debian.org/debian jessie-backports main" | sudo tee /etc/apt/sources.list.d/debian-backports.list
sudo apt update

Saya tidak arahkan ke Kambing karena saya sedang malas membetulkan Kambing. Mungkin nanti setelah betul, saya arahkan ke Kambing. ;-P

Pasang certbot

Perkakas certbot ada di repo Jessie Backports.

sudo apt-get install certbot -t jessie-backports

Sebelum Memasang Let’s Encrypt

Ada dua hal yang menjadi kewajiban kita:

  1. Pastikan semua domain yang didaftarkan sudah terdaftar di DNS publik.
  2. Pastikan bahwa direktori yang memuat URL untuk sertifikasi dapat diakses.

Untuk pembuatan entri DNS di luar cakupan tulisan ini.

Halaman HTTP (tanpa SSL) untuk lokasi .well-known/ (http://example.com/.well-known/) harus dapat diakses. Bila Anda seperti saya yang mematikan non-SSL, harus ditambahkan dahulu pengecualian tersebut di peladen. Omong-omong saya menggunakan peladen NGINX. Contoh pengecualian:

server {
        listen   80;
        listen  [::]:80 ipv6only=on;
        server_name  example.com www.example.com;
        server_name_in_redirect on;
        port_in_redirect on;

        access_log  /var/log/nginx/access.log;
        error_log  /var/log/nginx/error.log;

        # For ACME Let's Encrypt challenge
        location /.well-known {
                alias /var/www/html/.well-known; # have this as the webroot
        }

        location / {
                return 301 https://$server_name$request_uri;
        }

}

Berikutnya, pasang.

Sertifikasi

Jalankan sertifikasi

sudo certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com

Ikuti prosesnya, biasanya pertama-tama ditanyakan alamat surel yang bisa dihubungi bila ada apa-apa.

Enter our email address

Enter our email address

Setelah itu, biasanya ditanyakan kesediaan mengikuti syarat dan ketentuan yang ditetapkan oleh Let’s Encrypt. Pencet tombol [ENTER] saja.

Saya lupa menyuplikkan saat sudah berhasil. Ya, coba saja cek direktori /etc/letsencrypt/live yang seharusnya berisi satu direktori bernama domain pertama yang kita daftarkan.

Konfigurasi NGINX

Sebelum saya kasih konfigurasi penuh, saya coba berikan potongan.

SSL Baku

Untuk konfigurasi SSL baku gunakan sertifikat-sertifikat ini:

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

OCSP Stapling

Untuk memanfaatkan OCSP Stapling gunakan sertifikat ini:

ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;

Contoh Penuh

Ini contoh penuh blok SSL saya.

ssl  on;

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
        
ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers         "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";
ssl_prefer_server_ciphers on;
ssl_session_cache   shared:SSL:20m;
ssl_session_timeout 60m;

ssl_dhparam /etc/nginx/ssl/dhparam.pem;

ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
resolver 8.8.8.8;

add_header Strict-Transport-Security "max-age=31536000" always;

Terakhir

Untungnya menggunakan paket Debian Jessie adalah pembaharuan SSL berlangsung otomatis. Setelah ini saya akan buat tulisan untuk Debian Wheezy. Sayangnya, pemasangan Debian Wheezy lebih rumit dari Debian Jessie.

Selamat mencoba dan tinggalkan komentar bila ingin bertanya.

Bacaan Lebih Lanjut

Resep: Jemalloc

Resep: Jemalloc

Pastikan bahwa:

sudo apt-get install build-essential autoconf

terpasang. Perkakas autoconf diperlukan untuk membuat makro-makro yang dibutuhkan. Hal ini karena versi VCS biasanya perlu menjalankan autogen.sh untuk membuat skrip configure.

Ambil dari GIT:

git clone https://github.com/jemalloc/jemalloc.git && cd jemalloc

Lakukan tiga langkah sulap seperti biasa:

./autogen.sh
./configure --prefix=/usr --enable-lazy-lock EXTRA_CFLAGS='-march=native -mtune=native'
make -j$(nproc)
sudo make install_bin install_include install_lib

Eh, empat, deh. Lupa. Kalau memasang dari repositori langsung, bukan versi terbit, harus dibuatkan makronya terlebih dahulu. Baris configure saya tambahkan parameter GCC untuk menggunakan kode-kode ke prosesor saya berhubung jemalloc untuk laptop. Baris make dijalankan sebanyak jumlah prosesor. Baris instalasi secara spesifik dijabarkan untuk hanya memasang pustaka dan binari jemalloc. Ada galat kompilasi dokumentasi di jemalloc yang menyebabkan pemasangan menyeluruh (sudo make install) menjadi gagal.

Memasang Steam Linux pada Tambora

Seperti janji saya, saya akan memaparkan cara saya memasang Steam Linux. Sebenarnya, cara yang saya ikuti sama seperti artikel Wiki Debian. Hanya saja, msohon maaf, kali ini akan ada penjelasan politis yang membuat permainan OpenGL (DoTA 2 misalnya) di Steam Linux dapat dimainkan dengan menggunakan penggerak terbuka (radeon) dari MESA.

Langkah Seperti pada Wiki Debian

Pastikan bahwa pengguna yang hendak memainkan DoTA 2 memilki akses ke akselerasi video dan audio:

sudo usermod -aG audio,video user

Kalau mengikuti cara pemasangan sebelumnya, pasti user sudah tergabung ke kedua grup ini sehingga perintah ini tidak perlu dilakukan. Saya menulis ini hanya demi kelengkapan saja.

Kalau mengikuti cara pemasangan sebelumnya, paket-paket yang tidak bebas juga sudah terpasang. Demi kelengkapan, berikut isi /etc/apt/sources.list BlankOn Tambora saya:

deb http://kambing.ui.ac.id/blankon tambora main extras restricted extras-extricted
deb-src http://kambing.ui.ac.id/blankon tambora main extras 

deb http://kambing.ui.ac.id/blankon tambora-updates main extras restricted extras-extricted
deb-src http://kambing.ui.ac.id/blankon tambora-updates main extras 

deb http://kambing.ui.ac.id/blankon tambora-security main extras restricted extras-extricted
deb-src http://kambing.ui.ac.id/blankon tambora-security main extras

Seharusnya sudah seperti ini bila Anda mengikuti cara pemasangan UEFI saya terdahulu.

Aktifkan repositori untuk arsitektur i386: (Intel 32-bita)

sudo dpkg --add-architecture i386
sudo apt-get update

Nah, berikut ini penjelasan agak politis, supaya Anda tahu apa itu kebebasan.

Memasang Pustaka S3TC

Pustaka S3TC adalah sebuah pustaka yang mengimplementasi algoritma kompresi tekstur S3. Penggunaan algoritma ini secara de facto memasukkan algoritma ini sebagai salah satu standar OpenGL. Sayangnya, MESA secara baku menonaktifkan pustaka ini dan membuat algoritma kompresi dengan jalan memutar sehingga tidak melanggar paten bila digunakan di negara yang mematenkan algoritma ini. Namun, MESA juga menyediakan pustaka kompresi tekstur S3TC untuk negara-negara yang secara legal tidak memperbolehkan paten algoritma.

Bagaimana dengan Indonesia?

Untungnya, sebelum Indonesia mengikuti Trans-Pacific Partnership (TPP), Indonesia belum mengakui adanya paten algoritma. Sepengetahuan saya, Indonesia masih termasuk  negara-negara non-TPP seperti negara-negara di Eropa yang dapat menggunakan pustaka ini. Mudah-mudahan Pak Jokowi atau siapa pun yang berkuasa tidak secara cepat memutuskan untuk masuk ke dalam TPP kendati kaum tekstil mengatakan adanya insentif penghapusan tarif bagi peserta TPP. Hal ini mengingat anggota-anggota TPP yang lain juga penghasil tekstil.

Ada sisi lain yang dikorbankan apabila Indonesia masuk ke TPP. Yang paling penting buat saya adalah potensi hilangnya klausul pengecualian dari paten obat untuk penyakit-penyakit penting yang diatur oleh hukum Indonesia dan bermain DoTA 2 akan terasa lambat dengan penggerak bebas terbuka MESA. Sebelum TPP disahkan, mari bermain DoTA 2 lebih cepat dengan implementasi algoritma yang benar.

Ada dua cara untuk mencapainya, entah langsung memasukkan repositori Deb-Multimedia atau memasang paket-paket yang diperlukan saja. Cara yang baik dan benar adalah yang pertama. Namun, saya lebih memilih cara yang kedua karena algoritma itu tetap dan perubahan paket-paket pustaka S3TC hanya berisi cara pemaketan saja. Mari unduh:

wget http://kambing.ui.ac.id/debian-multimedia/pool/main/libt/libtxc-dxtn/libtxc-dxtn0_1.0.1-dmo2_amd64.deb
wget http://kambing.ui.ac.id/debian-multimedia/pool/main/libt/libtxc-dxtn/libtxc-dxtn0_1.0.1-dmo2_i386.deb

Untuk lebih jelas, buang saja dahulu paket-paket kompresi tekstur yang memutar: (S2TC)

sudo apt-get remove --purge libtxc-*

Pasang pustaka S3TC yang sebenarnya.

sudo gdebi libtxc-dxtn0_1.0.1-dmo2_amd64.deb libtxc-dxtn0_1.0.1-dmo2_i386.deb

Saya membiasakan diri menggunakan gdebi daripada dpkg untuk memasang paket lepas Debian.

Terakhir, pasang langsung Steam Linux:

sudo apt-get install steam

Selesai sampai sini. Anda bisa langsung menjalankan Steam Linux dan mengunduh DoTA 2.

Bonus

Saya sudah lama tidak mengikuti perkembangan MESA semenjak PC saya berubah dari Gentoo menjadi Kubuntu. Saya tidak tahu apakah beberapa variabel berikut secara baku sudah aktif di MESA. Namun, tidak ada salahnya saya mencantumkan tambahan parameter saya untuk aplikasi OpenGL. Saya taruh ini di /home/user/.bashrc (sesuaikan dengan home Anda).

export R600_STREAMOUT=1
export R600_HYPERZ=1
export R600_TILING=1
export R600_SURF=1
export R600_GLSL130=1

Keluar dari sesi destop dan masuk kembali supaya sesi Anda mengaktifkan kelima baris ini.

Kali ini benar-benar selesai.

Memperlengkapi Tambora dengan Paket-paket Dasar

Tambora yang telah saya pasang masih belum lengkap. Terakhir laptop saya baru saja diisi:

  • Penggerak perangkat WiFi Realtek yang sudah dimodifikasi. Hasilnya luar biasa! saya jadikan hotspot sangat stabil.
  • Peluncur synapse untuk meluncurkan aplikasi.
  • Aplikasi blueman untuk menggantikan bluemoon yang tidak bisa mengakses perangkat HCI (bluetooth).

Mari modifikasi lebih lanjut.

Manajer Sesi

Untuk kali ini saya terpaksa melepas Manokwari karena tidak sesuai dengan alur kerja saya:

  • Pintasan papan ketik tidak ada. Saya harus menggunakan tetikus. Untuk trackpad kalau apa-apa pakai itu, sangat merepotkan.
  • Panel tidak dapat disembunyikan/dipindahkan. Bagi saya, kehilangan piksel horisontal sangat disayangkan untuk layar laptop yang lebar.
  • Pintasan kecerahan layar tidak berfungsi, saya tidak tahu aplikasi apa yang harus dipasang.
  • Perpindahan aplikasi (ALT+TAB) hanya terjadi antar dua aplikasi terakhir yang digunakan.

Tentu saja, saya masih menyerempet ke produk BlankOn! Saya menggunakan Cinnamon dengan citarasa BlankOn. Untuk memasang:

sudo apt-get install blankon-branding-cinnamon

Saya mendapati destop ini sesuai dengan cara kerja saya. Tombol META (WIN) membuka menu mulai. Panel dapat disembunyikan. Yang paling penting, bisa dikonfigurasikan.

Paket Kerja

Memasang libreoffice untuk dokumen.

sudo apt-get install blankon-office

Memasang Dia (pembuat diagram) untuk membuat diagram-diagram.

sudo apt-get install dia-gnome dia-rib-network dia-shapes

Memasang paket-paket grafis (GIMP, Inkscape, dan MyPaint) untuk berkreasi.

sudo apt-get install blankon-graphics mypaint

GIMP untuk gambar raster, Inkscape untuk gambar vektor, dan MyPaint untuk gambar kuas.

Memasang OpenVPN untuk Network Manager untuk terhubung ke jaringan kantor. Apa? Anda pikir UI tidak canggih keamanannya seperti Big Four?

sudo apt-get install network-manager-openvpn network-manager-openvpn-gnome

Selanjutnya memasang Slack untuk berlaku seperti DevOps. Yup, kami tidak hidup di zaman batu.

wget https://slack-ssb-updates.global.ssl.fastly.net/linux_releases/slack-desktop-2.0.0-amd64.deb
sudo gdebi slack-desktop-2.0.0-amd64.deb

Saya menggunakan gdebi, bukan apt-get, agar paket-paket yang dibutuhkan juga dipasang.

Memasang Steam Linux Client

Salah satu kebutuhan saya adalah membutuhkan Steam untuk mengakses permainan yang saya beli atau pun secara legal dapat saya mainkan gratis (DoTa 2). Saya menggunakan instruksi dari Wiki Debian. Namun, ada sedikit perubahan yang membuat aplikasi berjalan dengan lancar. Ini akan saya bahas pada selanjutnya.

Paket Sisanya

Mohon maaf, sepertinya kemalasan menimpa saya. Selanjutnya, silakan lihat-lihat saja. Caranya, buka saja Synaptic Package Manager dan cari dengan kata kunci “blankon”. Nanti di sana cari saja yang kira-kira perlu. Kalau ada yang bertentangan, misalnya seperti blankon-panel yang membuang blankon-desktop, abaikan saja.

 

Memasang BlankOn Tambora dengan UEFI

Memasang BlankOn Tambora dengan UEFI

Saya butuh destop yang stabil. Destop KF5 dari Neon Desktop yang saya pasang belum stabil. Wajar, masih versi GIT, sih.

Sepengalaman saya, BlankOn menawarkan kestabilan itu pada versi Suroboyo. Saya pun mencoba memasang Tambora yang dari tahun lalu Beta 1. Mungkin Beta 1 ini sudah terlalu stabil makanya tidak ada pembaharuan lagi.

Saatnya memasang BlankOn Tambora! Saya hendak memasang ini di laptop saya tercinta. Kebetulan kali ini bukan laptop kantor sehingga partisinya bisa saya atur seenak jidat. Merek yang saya pakai tapi masih sama, hanya saja dari model AMD A10-7300.

Saya sudah pernah membahas memasang pada laptop kantor. Saya akan melewati penjelasan detail pada beberapa bagian karena sudah dibahas di tulisan itu. Saya menggunakan HP Pavilion 15 Notebook PC.

Persiapan

Saya menggunakan Installer Kubuntu 15.10 untuk memasang BlankOn. Untuk itu, saya harus menyesuaikan beberapa hal.

Saya asumsikan Anda sudah mengerti tata letak partisi yang Anda buat. Sebagai referensi, saya membuat tata letak mirip dengan artikel saya terdahulu.

  • /dev/sda1 – FAT32 (UEFI) – /boot/efi (200MB)
  • /dev/sda2 – LVM – LVM (Sisanya)
    • /dev/HP/root – EXT4 – / (20GB)
    • /dev/HP/rumah – EXT4 – /home (20GB)

Anda bisa menyusahkan diri dengan cara heker yang ada di artikel saya sebelum ini, atau menggunakan KDE Partition Manager untuk konfigurasi partisi biasa. Lalu,  system-config-lvm untuk membuat partisi LVM. Aplikasi system-config-lvm perlu dipasang karena belum ada pada Installer Kubuntu 15.10.

sudo apt-get install system-config-lvm

Selanjutnya, buka KDE Partition Manager dan bagi dua ruang penyimpan menjadi /dev/sda1 (FAT32/UEFI) dan /dev/sda2 (LVM). Lalu, setelah itu jalankan system-config-lvm untuk membuat volum logikal /dev/HP/root dan /dev/HP/rumah.

Memasang debootstrap

sudo apt-get install debootstrap

Memasang Aturan debootstrap untuk Tambora

Om Aftian pernah menyediakan aturan untuk memasang BlankOn untuk Debian. Nampaknya belum diterima untuk ada d paket resmi Debian. Untuk itu, saat ini gunakan saja versi kontribusi Beliau untuk memasang Tambora.

sudo wget http://pastie.org/pastes/9640013/download -O /usr/share/debootstrap/scripts/tambora

Sekarang sudah siap untuk memasang Tambora.

Memasang Tambora

Memasang Tambora:

mount /dev/HP/root /mnt
debootstrap tambora /mnt http://kambing.ui.ac.id/blankon/

Ingat, pemasangan kali ini menggunakan UEFI. Jadi, mari lakukan hal-hal yang biasa dilakukan untuk UEFI.

Memasang Sistem Berkas

Mari pasang sistemberkas sistem:

mount none /mnt/proc -t proc
mount none /mnt/sys -t sysfs
mount /dev /mnt/dev -o bind
mount none /mnt/dev/pts -t devpts
mount none /mnt/sys/firmware/efi/efivars/ -t efivarfs
mount /run /mnt/run -o bind

Sekalian pasang direktori untuk partisi EFI (/dev/sda1). Partisi EFI berisi semua binari EFI, termasuk GRUB dan Windows Boot Manager.

mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi/
mkdir -p /mnt/boot/efi/EFI

Lalu pasang juga partisi yang lain, misalnya rumah (/home)

mount /dev/HP/rumah /mnt/home

Pasang semua yang diperlukan dan sekali lagi, sesuaikan dengan cetakan partisi yang Anda telah pilih.

Dan setelah itu, mari masuk ke sistem.

chroot /mnt /bin/bash

Pemasangan Biasa

Konfigurasi nama laptop:

echo "nama-laptop" > /etc/hostname
sed -i 's/\(localhost\)/\1 nama-laptop /' /etc/hosts

Ganti “nama-laptop” dengan sesuatu yang lebih kreatif sebagai nama laptop.

Buat daftar sistemberkas yang harus terpasang ke /etc/fstab. Anda bisa melihat satu-satu di /proc/mounts, tetapi saya menggunakan cara heker: (REGEX FTW!)

grep ^\/dev /proc/mounts  > /etc/fstab

Mari betulkan daftar repositori /etc/apt/sources.list dengan daftar yang lebih lengkap.

cat > /etc/apt/sources.list << EOF
deb http://kambing.ui.ac.id/blankon tambora main extras restricted extras-extricted
deb-src http://kambing.ui.ac.id/blankon tambora main extras 

deb http://kambing.ui.ac.id/blankon tambora-updates main extras restricted extras-extricted
deb-src http://kambing.ui.ac.id/blankon tambora-updates main extras 

deb http://kambing.ui.ac.id/blankon tambora-security main extras restricted extras-extricted
deb-src http://kambing.ui.ac.id/blankon tambora-security main extras
EOF

Saya pakai cara heker.  Silakan gunakan cara-cara yang lebih beradab misalnya menggunakan ViM atau membukanya pada aplikasi penyunting pada sistem operasi inang.

Setelah itu, pasang destop BlankOn. Paket blankon-desktop memasang banyak sekali aplikasi.

apt-get update
apt-get install blankon-desktop

Anehnya juga termasuk memasang GDM dan LightDM.

BlankOn menyediakan dua.

BlankOn menyediakan dua.

Saya memilih menggunakan LightDM. Lalu, saya kembali membaca novel. Saya putuskan saya terlalu malas untuk menghapus satu pun. Tapi, kalau Anda butuh ruang penyimpan, Anda dapat memasang GDM.

Konfigurasi Locale untuk menggunakan ID_id.UTF-8

dpkg-reconfigure locales

Konfigurasi zona waktu: (Asia/Jakarta)

dpkg-reconfigure tzdata

Pasang berkas-berkas yang perlu:

apt-get install lvm2
apt-get install vim ssh

Baris pertama untuk perkakas sistemberkas yang tak lazim (tak ikut dalam ketergantungan blankon-desktop). Baris kedua adalah untuk aplikasi favorit yang tidak terpasang pada normalnya.

Setelah itu, memasang kernel. Sebenarnya inilah penyebab saya memilih memasang lewat bootstrap. Terakhir saya memasang BlankOn belum ada dukungan pemasangan UEFI.

apt-get install linux-image-amd64 grub-efi-amd64
grub-install /dev/sda

Terakhir, tambahkan satu atau dua pengguna:

adduser user
usermod -aG sudo,adm,audio,video user

Selesai. Kalau sudah sampai sini, berarti pemasangan lancar. Saatnya menyalakan ulang laptop dan masuk ke BlankOn yang sudah terpasang.

Tambahan untuk Pemilik Laptop dengan Realtek RTL8723BE yang Malang Seperti Saya

Saya tidak tahu apakah HP Indonesia menyediakan fasilitas pengembalian barang. Saya tidak punya waktu untuk itu. Tapi, WiFi RTL8723BE yang tertanam pada laptop saya (nomor SKU: M2W18PA#AR6) atau laptop kantor tidak bisa dijalankan langsung dari Kubuntu 15.10 maupun BlankOn Tambora. Pada artikel sebelumnya, saya mengakali dengan menonaktifkan perangkat keras IOMMU di kernel (iommu=soft).

Waktu itu laptop kantor masih menggunakan Intel. Tapi, sekarang saya menggunakan AMD A10 7300. Laptop saya diiklankan memiliki 10 unit komputasi dengan menggunakan 4 unit dari prosesor dan 6 unit dari keping grafik. Dengan mematikan IOMMU, saya akan kehilangan 6 unit komputasi dari GPU!

HSA harus ada! Kali ini saya tak mau kompromi. Setelah berjibaku dengan kestresan tingkat tinggi, saya pun menemukan proyek penggerak Realtek di Github. Pada salah satu forumnya, ada yang membahas mengenai laptop HP yang menggunakan RTL8723BE.

Sebelum memulai, pasang paket yang perlu:

sudo apt-get install linux-headers-amd64 build-essential git

Pada forum Realtek di Github diberikan tambahan sulaman untuk Realtek. Untuk itu, mari mengunduh dari Github kode sumber penggerak yang sudah ditambal dengan sulaman itu:

git clone git://github.com/lwfinger/rtlwifi_new.git && cd rtlwifi_new
git checkout rock.new_btcoex

Lakukan stanza kompilasi dan pasang seperti biasa.

make && sudo make install

Selanjutnya, tambahkan parameter untuk modul kernel. Ini yang berlaku untuk laptop saya (nomor SKU: M2W18PA#AR6)

echo "options rtl8723be ips=0 ant_sel=1 msi=1" | sudo tee  /etc/modprobe.d/50-rtl8723be.conf

Perhatikan pada ant_sel=1. Pada beberapa laptop, ada yang harus mengaktifkan antena kedua sebagai penghubung radio WiFi agar lancar. Untuk itu, parameter perlu diubah menjadi ant_sel=2. 

Laptop siap dinyalakan ulang untuk mendapatkan perubahan parameter ini. Saya akhirnya bisa mendapatkan HSA dan radio WiFi akur.

Hasil Akhir

Sepertinya memang kualitas masih beta. Atau, bisa jadi ada paket-paket yang belum terpasang kalau hanya memasang blankon-desktop. Berikut yang bisa saya simpulkan dari hasil debootstrap ini:

  1. Ikon-ikon di taskbar menumpuk. Untuk berpindah tugas, hanya antar 2 aplikasi saja. Jadi, kalau ada aplikasi yang ketiga, harus diklik. Ada galat yang terbuka, sih, di situs pengembangan BlankOn. ikon-rusak
  2. Applet Network Manager dan OSD belum jalan. Sepertinya ada XDG autostart yang tidak berjalan di sesi BlankOn.
  3. Bluetooth belum ada applet, bluemoon tidak dapat dijalankan. Diakali dengan memasang Bluetooth Manager:
    sudo apt-get install blueman obexpushd
  4. Tidak ada peluncur aplikasi. Saya suka itu! Saya jadi bisa memasang Synapse kesukaan saya:
    sudo apt-get install synapse
  5. Seperti biasa, BlankOn Tambora menghabiskan memori relatif kecil. Hanya sekitar 1GB (termasuk Chromium)! Untuk aplikasi desktop masa kini, ini sudah sangat wah.
  6. Untuk memperlengkapi, cari semua paket berawalan blankon-branding-* yang belum terpasang dan mau dipasang. Saya lihat ada paket Cinnamon untuk BlankOn juga. Untuk kali ini, saya belum membahas apa saja.

Selanjutnya, saya akan coba belajar memperlengkapi BlankOn Tambora yang saya pasang ini dan mencoba memasang yang lain.

browser: Chromium, console: Gnome Terminal, pemasang: Synaptic

browser: Chromium, console: Gnome Terminal,
pemasang: Synaptic

 

Memasang PostgreSQL Versi Terbaru

Masukkan repo PostgreSQL:

echo "deb http://kambing.ui.ac.id/postgresql/repos/apt/ `lsb_release -cs`-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list

Kalau Anda tidak memasang LSB, ganti lsb_release dengan wily, jessie, wheezy, dan sebagainya silakan lihat di sini.

Setelah selesai, impor kunci:

wget --quiet -O - http://kambing.ui.ac.id/postgresql/repos/apt/ACCC4CF8.asc | sudo apt-key add -

Setelah itu, lakukan hal yang biasa dilakukan:

sudo apt-get update
sudo apt-get install postgresql pgadmin3

Selesai.

Mengubah Format PEM (Apache/NGINX) ke Keystore JAVA

Mengubah Format PEM (Apache/NGINX) ke Keystore JAVA

Untuk organisasi/individu yang memegang domain dengan banyak sub-domain, biasanya dibeli sertifikat wildcard. Dengan sertifikat wilcard, tak perlu membeli sertifikat per sub-domain. Hanya saja, biasanya format yang diberikan adalah PEM untuk peladen HTTP semacam Apache2 atau NGINX.

Bagaimana dengan peladen berbasis Web macam Tomcat?

Saya asumsikan sudah ada tiga berkas ini:

server.key
Kunci privat peladen.
server.crt
Sertifikat peladen yang sudah ditandatangani oleh CA.
ca.cert
Sertifikat CA yang menandatangani sertifikat peladen.

Selanjutnya, ubah bentuk X.509 ke format PKCS12 dengan OpenSSL:

openssl pkcs12 -export -in server.crt -inkey server.key -out keystore.p12 -name red5 -certfile ca.cert

Anda akan ditanyakan sandi baru. Jangan lewati karena proses berikutnya butuh sandi tersebut! Isi sandi dengan sandi yang aman.

Selanjutnya, impor kunci PKCS12 tersebut ke sebuah keystore Java:

keytool -importkeystore -deststorepass ahs8kahLuvu3nahb -destkeypass ahs8kahLuvu3nahb -destkeystore keystore.jks -srckeystore keystore.p12 -srcstoretype PKCS12 -srcstorepass ahs8kahLuvu3nahb -alias red5

Saya menggunakan PWGen untuk membuat sandi acak. Mohon ganti ahs8kahLuvu3nahb dengan sandi yang Anda telah masukkan sebelumnya pada proses openssl.

Selesai. Anda kini sudah memiliki keystore.jks yang siap dipakai oleh aplikasi Java untuk membuat koneksi SSL/TLS.

Selamat mencoba.

HHVM dengan SupervisorD
supervisord spawned two hhvm with one as a backup

HHVM dengan SupervisorD

Sebelum ini saya telah membahas bagaimana menggunakan HHVM dengan Monit. Saat ini saya berusaha mengaplikasikan HHVM dengan Supervisord. Supervisord adalah sebuah aplikasi yang bertugas untuk mengatur proses-proses. Dia mirip dengan uWSGI, unicorn, gunicorn, systemd, dan lain sebagainya.

Eh, systemd? Bukankah systemd sebuah aplikasi init?

Iya, betul! Mereka semua memiliki fungsi yang kurang lebih sama. Namun, supervisord memiliki konfigurasi agnostik dibandingkan systemd. Maklum saja, systemd digunakan untuk sistem juga. Sekarang orang masih merasa ngeri kalau berhubungan dengan sistem. Ya, begitu, deh….

Skenario

Skenario yang digunakan sebagai contoh adalah sebagai berikut:

  • Supervisord akan dipakai untuk meluncurkan 2 proses HHVM.
  • HHVM yang pertama akan dipakai sebagai koneksi utama dengan NGINX.
  • HHVM yang kedua digunakan sebagai cadangan.

Untuk skenario pemasangan virtual host yang dipakai secara beramai-ramai, Anda dapat menyesuaikan dengan kebutuhan.

Pasang HHVM dan Supervisord

Cara memasang repositori Debian 7 dan Debian 8. Untuk Ubuntu dan distro-distro sejenis lainnya silakan cari sendiri. Saya pernah membahas di artikel terdahulu.

Mari pasang secara Debian:

sudo apt-get install hhvm supervisor

Selanjutnya konfigurasi.

Konfigurasi

Untuk konfigurasi HHVM yang sama/generik, saya akan menuliskannya dalam sebuah berkas konfigurasi HHVM. Untuk dua proses HHVM, konfigurasi supervisord akan berisi parameter yang berbeda dalam menjalankan HHVM.

HHVM

Buat sebuah berkas /etc/hhvm/hhvm_generik.ini — saya kurang kreatif memberi nama, silakan ganti dengan nama lain.

; php options

; php options


; hhvm specific
hhvm.server.type = fastcgi
hhvm.server.default_document = index.php
hhvm.log.level = Warning
hhvm.log.always_log_unhandled_exceptions = true
hhvm.log.runtime_error_reporting_level = 8191
hhvm.log.use_log_file = true
hhvm.log.file = /var/log/hhvm/error.log
hhvm.mysql.typed_results = false

hhvm.jit = 1
hhvm.eval.jit_warmup_requests = 1

hhvm.keep_perf_pid_map = 0
hhvm.perf_pid_map = 0
hhvm.perf_data_map = 0

hhvm.server.apc.enable_apc = true

Selanjutnya, konfigurasi berbeda untuk tiap proses HHVM.

supervisord

Konfigurasi untuk proses HHVM utama, /etc/supervisor/conf.d/hhvm.conf

[program:hhvm]
command=/usr/bin/hhvm -c /etc/hhvm/php.ini -c /etc/hhvm/server_wp.ini -m server
     -vPidFile=/var/run/hhvm/pid
     -vServer.FileSocket=/var/run/hhvm/hhvm.sock
     -vRepo.Central.Path=/var/run/hhvm/hhvm.hhbc
directory=/var/www/html
numprocs=1
autostart=true            ; start at supervisord start (default: true)
autorestart=unexpected    ; auto restart if HHVM dies
startretries=3
user=www-data  ; setuid to this UNIX account to run the program

Selanjutnya, saya akan buat konfigurasi untuk proses HHVM cadangan. Saya akan menandai beberapa baris yang berbeda.

[program:hhvm2]
command=/usr/bin/hhvm -c /etc/hhvm/php.ini -c /etc/hhvm/server_wp.ini -m server
     -vPidFile=/var/run/hhvm/pid2
     -vServer.FileSocket=/var/run/hhvm/hhvm2.sock
     -vRepo.Central.Path=/var/run/hhvm/hhvm.hhbc
directory=/var/www/html
numprocs=1
autostart=true            ; start at supervisord start (default: true)
autorestart=unexpected    ; auto restart if HHVM dies
startretries=3
user=www-data  ; setuid to this UNIX account to run the program

Supaya jelas, perubahan yang saya buat untuk proses HHVM kedua:

  • Baris pertama, ubah nama grup proses menjadi hhvm2. Istilah grup proses karena bisa jadi dalam hhvm2 ada beberapa proses.
  • Baris ketiga, ubah nama proses menjadi /var/run/hhvm/pid2
  • Baris keempat, ubah nama socket menjadi /var/run/hhvm/hhvm2.sock]

Saya masih menggunakan konvensi direktori yang lama, /var/run. Untuk konvensi saat ini, sebaiknya ditulis ke direktori /run. Anda sebaiknya membiasakan diri saja dengan direktori itu.

Untuk skenario yang lain, repositori kode HHVM pada baris ke-5 dapat ditaruh pada berkas yang berbeda. Kebetulan saya menggunakan pengguna yang sama, jadi saya menggunakan satu repositori saja.

Pak, itu aman, ‘kah?

Repositori HHVM itu sendiri adalah sebuah berkas SQLite3. Menurut FAQ SQLite, SQLite3 menggunakan penguncian sistemberkas saat menulis. Sehingga, hanya satu saja proses yang bisa menulis. Sayangnya, untuk sistemberkas NFS dan FAT mekanisme itu tidak terjamin. Ingatlah untuk tidak menaruh berkas repositori di NFS.

Repositori HHVM berukuran sangat besar. Hal ini dapat membebankan untuk skenario inang dengan banyak situs. Untuk menghemat, Anda dapat saja membuat repositori HHVM dengan perizinan grup dapat menulis (0660). Lalu, setiap pengguna yang menjalankan HHVM dimasukkan ke grup itu. Ah, tapi ini di luar skenario dan saya takkan membahas untuk saat ini.

nginx

Ubah upstream NGINX untuk menambahkan satu HHVM sebagai cadangan. Sebagai contoh, saya menaruh upstream dalam sebuah berkas /etc/nginx/conf.d/upstream.conf

# Upstream to abstract backend connection(s) for PHP.
upstream php {
  server unix:/var/run/hhvm/hhvm.sock;
  server unix:/var/run/hhvm/hhvm2.sock backup;
}

Kira-kira begitulah untuk setiap konfigurasi. Selanjutnya, mari menjalankan setiap proses.

Jalankan Semua

Selanjutnya, jalankan proses.

supervisord

Pertama-tama, tambahkan aturan-aturan HHVM yang baru dibuat.

sudo supervisorctl reread
sudo supervisorctl add hhvm
sudo supervisorctl add hhvm2

Baris pertama meminta supervisord untuk membaca ulang konfigurasi. Dua baris selanjutnya menjalankan HHVM.

Oh, iya, kalau misalnya ada perubahan di berkas konfigurasi, jalankan:

sudo supervisorctl update hhvm

Ganti hhvm dengan nama grup proses yang lain.

nginx

Jalankan NGINX seperti biasa.

sudo invoke-rc.d nginx restart

Selesai.

Bacaan Lebih Lanjut

Kompilasi PHP 5.2 pada Debian Jessie

Kompilasi PHP 5.2 pada Debian Jessie

Seperti halnya mantan terindah, aplikasi penting sering kali tidak dapat dilupakan begitu saja. Ia menyeruak masuk kembali dan selalu saja menempati ruang pikiran. Di saat keyakinan melangkah untuk maju, kembali hati jatuh ke relung yang sama.

Inilah kisah dari seorang yang gagal move on dari PHP 5.2 untuk semua saudara/i yang juga gagal move on. CMUNGUDH!

Dari pada menambah ketidakjelasan di hati, berikut asumsi saya agar kita tidak salah paham:

  1. Unduh semua pada satu direktori. Ingat! Satu direktori, jangan terpisahkan.
  2. Semua dilakukan sebagai pengguna biasa, bukan yang berkuasa.
  3. Silakan cari paket-paket pengembang yang diperlukan, saya lupa soalnya. Itu ada di masa lalu. Saya berasumsi Anda sudah memasang paket-paket yang dibutuhkan. Nanti sambil konfigurasi bisa tahu, kok, paket apa saja.

Pasang Paket Yang Dibutuhkan

Lupa saya, tee hee…

Unduh PHP dan Semua Tambalannya

Pada satu direktori, mari unduh berkas-berkas yang dibutuhkan.

export PHP_VERSION=5.2.17

# PHP 5.2
wget "http://museum.php.net/php5/php-$PHP_VERSION.tar.bz2"

# PATCHES
wget https://github.com/TommyLau/docker-lnmpa/raw/master/php/5.2/php-5.2.17-libxml2.patch
wget https://github.com/TommyLau/docker-lnmpa/raw/master/php/5.2/php-5.2.17-openssl.patch

# PHP-FPM
wget "http://php-fpm.org/downloads/php-$PHP_VERSION-fpm-0.5.14.diff.gz" -O php-fpm.diff.gz

ABI dan API XML2 dan OpenSSL berubah pada Debian Jessie, sehingga perlu disesuaikan.

Tambal PHP 5.2

Ekstraksi PHP 5.2 dan masuk ke direktori hasil ekstraksi:

tar xvfj php-5.2.17.tar.bz2
cd php-5.2.17

Di direktori PHP, tambal dengan urutan sebagai berikut:

# Patches for Debian Jessie
patch -Np1 -i ../php-5.2.17-libxml2.patch
patch -Np1 -i ../php-5.2.17-openssl.patch

# Patch for PHP-FPM
zcat ../php-fpm.diff.gz | patch -Np1

Saya malas bikin berkas tambalan. Lakukan saja ini untuk memperbaiki skrip konfigurasi dalam mencari pustaka Freetype:

sed -i 's/freetype2\/freetype/freetype/' configure

Konfigurasi PHP 5.2 untuk Siap Dikompilasi

Pada proses ini, mungkin ada paket pengembangan yang lupa terpasang. Silakan ditelusuri saja.

CFLAGS="-O3 -pipe -march=native -mtune=native -fomit-frame-pointer" './configure'  '--prefix=/opt/php52' '--with-config-file-path=/opt/php52/etc' '--disable-debug' '--with-zlib' '--with-pcre-dir' '--with-gd' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--with-zlib-dir=/usr' '--with-freetype-dir=/usr' '--enable-gd-native-ttf' '--with-ldap' '--enable-soap' '--enable-sockets' '--enable-sysvmsg' '--enable-sysvsem' '--enable-sysvshm' '--enable-zip' '--with-mcrypt' '--with-xmlrpc' '--enable-mbstring=shared' '--with-openssl=shared' '--with-mysql=shared' '--with-gettext=shared' '--with-zend-vm=GOTO' '--enable-bcmath' '--with-snmp=/usr' '--with-xsl' '--enable-fastcgi' '--enable-fpm' '--with-mysqli' '--with-libdir=lib/x86_64-linux-gnu'

Yang terpenting ada dua:

CFLAGS=”-O3 -pipe -march=native -mtune=native -fomit-frame-pointer”
ini optimasi kompilasi. Lakukan baris ini bila kompilasi dilakukan pada mesin yang sama atau lingkungan yang sama dengan mesin tujuan.
‘–with-libdir=lib/x86_64-linux-gnu’
Debian Jessie menaruh pustaka 64-bit tidak lagi di /usr/lib64, tetapi di /usr/lib/x86_64-linux-gnu.

Anda dapat juga mengganti direktori pemasangan sesuai selera Anda. Misalnya, Anda penggemar FHS sehingga menggunakan /usr/local atau di tempat lain.

‘–prefix=/opt/php52’
Tempat pemasangan PHP 5.2, Anda dapat mengganti ini sesuai selera.
‘–with-config-file-path=/opt/php52/etc’
Konfigurasi berkas. Anda dapat menaruhnya di /etc/php52, misalnya, agar konsisten dengan Debian.

Sebelum kompilasi, ubah pustaka XML2 dan SSL yang hendak ditautkan ke PHP pada Makefile

sed -i 's/-lxml2 -lxml2 -lxml2/-lcrypto -lssl/' Makefile

Selanjutnya, PHP siap untuk dikompilasi.

Kompilasi dan Pasang PHP

Kompilasi dan PHP 5.2

make -j"$(nproc)"
sudo make install

Sampai sini saya pikir untuk konfigurasi PHP FPM dan pemasangan berkas init tidak perlu saya tulis, ‘kan?

Silakan tulis di komentar kalau memang perlu saya buatkan tutorial memasang skrip SystemD dan Sysvinit.

Ucapan Terima Kasih

Terima kasih kepada

Aktifkan Koneksi ADB dari Komputer ke Perangkat Android

Saya rasa ada di suatu entri di blog ini. Tapi, saya membuat tulisan ini agar lebih jelas.

Aturan UDEV Android

Agar Android dapat dikenali, pasang aturan UDEV untuk Android. Baik systemd maupun sysvinit dapat menikmati ini.

Unduh berkas aturan dan taruh ke direktori aturan UDEV.

sudo wget https://raw.githubusercontent.com/M0Rf30/android-udev-rules/master/51-android.rules -O /etc/udev/rules.d/51-android.rules

Muat ulang UDEV.

sudo /etc/init.d/udev restart

Selanjutnya aktifkan modus USB Debugging.

USB Debugging

Aktifkan USB DEBUG pada menu Pengembang. Caranya:

  1. Masuk ke Setelan => Tentang ponsel
  2. Tap beberapa kali pada Nomor bentukan
  3. OPO akan memberitahukan Anda kalau Anda sudah masuk ke menu pengembang.
  4. Keluar dari menu Tentang ponsel dan masuk ke menu Opsi pengembang
  5. Aktifkan Android Debugging
  6. Hubungkan komputer ke OPO dengan kabel USB. Lalu izinkan debugging USB.
    ADB enable access from PC

    ADB enable access from PC

Selesai.

Contoh Kalau Berhasil

Kalau berhasil, Anda bisa lakukan ini pada mode Recovery atau Normal:

$ adb devices
List of devices attached 
4aea6b78        device

Saat telepon Anda dapat masuk ke dalam mode Fastboot, maka yang terdeteksi adalah sebagai berikut:

$ fastboot devices
4aea6b78        fastboot

Selesai.

Cara Pasang Raspberry Pi 2

Cara Pasang Raspberry Pi 2

Sesuai janji dengan seseorang, inilah tulisan tentang memasang di Raspberry Pi 2. Maaf penulisan tidak rapi.

Persiapan

Saat ini saya lagi menjadi fakir MicroSD. MicroSD saya yang kencang ada di rumah. Saat ini saya hanya menggunakan MicroSD pinjaman dari kelas sebelah. Makanya, untuk menyiasati itu, saya menyediakan satu direktori terpisah di komputer.

Konsepnya, saya pasang segala sesuatu pada direktori tersebut. Setelah semuanya selesai, baru isinya dipindahkan ke MicroSD. Mudah bukan?

Siapkan direktori sementara untuk ditulisi. Saya buat /tmp/ROOTFS, tapi Anda bisa beda. Malah lebih baik. Saya, ‘kan, kebetulan memori 32GB dan /tmp dipasangi tmpfs

Buat konvensi:

export ROOTFS=/tmp/ROOT
export REALROOTFS=/mnt/realroot
export REALBOOTFS=/mnt/realboot

Keterangan:

  • Variabel $ROOTFS merupakan direktori sementara yang akan kita pakai untuk memasang-masang sistem sebelum disalin ke MicroSD.
  • Variabel $REALROOTFS merupakan direktori tempat kita nantinya akan mengaitkan partisi utama MicroSD.
  • Variabel $REALBOOTFS merupakan direktori tempat kita nantinya akan mengaitkan partisi boot MicroSD.

Buat direktorinya kalau belum ada.

sudo mkdir $ROOTFS $REALROOTFS $REALBOOTFS

Firmware

Unduh firmware untuk Raspberry Pi.

wget https://github.com/raspberrypi/firmware/archive/master.zip && unzip master.zip

Atau, salin repositori GIT-nya supaya bisa diperbaharui nanti.

Cara kedua.

git clone https://github.com/raspberrypi/firmware.git firmware

Biar tidak bingung, mari buat konvensi direktori firmware ada di sini:

export FIRMWARE_DIR=/home/user/Unduhan/firmware-master

Atau:

export FIRMWARE_DIR=/home/user/Unduhan/firmware

Selanjutnya memasang perkakas pada sistem.

Persiapan Sistem dengan QEMU

Pasang QEMU.

sudo apt-get install qemu binfmt-support qemu-user-static

Lakukan Debootstrap dengan QEMU.

sudo qemu-debootstrap --no-check-gpg --arch=armhf sid $ROOTFS http://kambing.ui.ac.id/debian/

Setelah selesai memasang sistem, lakukan:

sudo qemu-debootstrap --no-check-gpg --arch=armhf sid $ROOTFS http://kambing.ui.ac.id/debian/

Salin modul kernel ke dalam sistem

sudo cp -r $FIRMWARE_LIB/modules $ROOTFS/lib/

 

Masuk ke sistem:

sudo chroot $ROOTFS

Persiapan Sistem Di Dalam QEMU

Siapkan FSTAB

# cat > /etc/fstab << EOF > /dev/mmcblk0p1          /boot           vfat            defaults        0 2
> /dev/mmcblk0p2          none            swap            sw              0 0
> /dev/mmcblk0p3          /               xfs             defaults,noatime,nodiratime        0 1
> EOF

Siapkan bahasa.

apt-get install locales

Aktifkan Bahasa Indonesia

dpkg-reconfigure locales

Siapkan Zona Waktu

dpkg-reconfigure tzdata

Sampai sini, sih, seharusnya sistem siap dipasangi apa pun. Biar cantik, pasang ini:

apt-get install vim

Yang terakhir tergantung agama dan kepercayaan masing-masing. Saya tidak sedang memaksa Anda pindah agama.

Pengguna

Pasang sudo untuk pengguna admin.

apt-get install sudo

Buat satu pengguna.

# adduser jp
Adding user `jp' ...
Adding new group `jp' (1000) ...
Adding new user `jp' (1000) with group `jp' ...
Creating home directory `/home/jp' ...
Copying files from `/etc/skel' ...
Masukkan sandi Unix yang baru :
Ketik ulang sandi Unix:
passwd: kata sandi diperbaharui dengan sukses
Mengubah informasi pengguna dari jp
Masukkan nilai baru atau tekan ENTER untuk nilai bawaan
        Nama Lengkap []: Jan Peter Alexander Rajagukguk
        Nomor Ruangan []: 1145
        Telepon Kantor []: 
        Telepon Rumah []: 
        Lain-lain []: 
Is the information correct? [Y/n] Y

Buat dia sebagai admin.

adduser jp sudo

Pasang perkakas sistemberkas yang Anda gunakan. Saya menggunakan XFS, jadi saya pasang:

apt-get install xfsprogs dosfstools ntfs-3g

Saya hanya memilih XFS, FAT32/16, dan NTFS. Untuk perkakas EXT2/3/4 nampaknya sudah otomatis terpasang. Selanjutnya memasang sistem dasar.

Siapkan Peladen SSH

Pasang Dropbear, peladen SSH yang lebih ringan dari OpenSSH.

apt-get install dropbear openssh-client

Aktifkan dia supaya jalan di awal.

sed -i 's/NO_START=1/NO_START=0/g' /etc/default/dropbear

Sampai sini sistem dasar sudah selesai. Silakan keluar dari CHROOT dengan CTRL+D atau ketik “quit” atau “exit”. Setelah puas memasang segala sesuatu, saatnya sistem ditaruh ke dalam mount.

Menaruh Aplikasi Ke MicroSD

Saya diberi pinjaman sebuah MicroSD sebesar 4GB. Saya partisi dengan:

  • BOOT: 128MB
  • SWAP: 384MB
  • ROOT: Sisanya.

Saya tidak tahu sisanya itu ada berapa. Tapi silakan lihat gambar. Saya menggunakan pemartisi KDE.

Raspberry Pi 2 Partitions

My Raspberry Pi 2 partition scheme

Partisi BOOT memang harus FAT32 atau FAT16. Ya, saya pilih FAT16 saja. Yang menarik, saya memberikan partisi utama dengan sistemberkas XFS. GUNAKAN SAJA EXT3/4!

Persiapan Partisi BOOT

Anda bisa lakukan ini di penjelajah berbasis GUI favorit Anda (Nautilus/Dolphin/dsb.) atau gunakan cara yang lebih sulit.

Saya asumsikan partisi MicroSD ada di partisi /dev/sde1 ini tergantung sistem Anda. Berikut caranya:

sudo mount /dev/sde1 $REALBOOTFS

Salin dari unduhan kita ke direktori itu

sudo cp -r $FIRMWARE_DIR/boot/* $REALBOOTFS

Tambahkan baris parameter pada berkas cmdline.txt, biasanya belum ada.

 echo "root=/dev/mmcblk0p3 rw rootwait console=ttyAMA0,115200 console=tty1 selinux=0 plymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 kgdboc=ttyAMA0,115200 elevator=noop" | sudo tee $REALBOOTFS/cmdline.txt

Selesai, jangan lupa sinkronisasikan perubahan ke dalam MicroSD.

sync

Persiapan Partisi Utama

Sekali lagi, Anda tidak perlu menyusahkan diri. Tapi, kalau mau pakai cara ini, ya, sudah.

sudo mount /dev/sde3 $REALROOTFS

Salin semua kerjaan kita ke sana.

sudo cp -a $ROOTFS/* $REALROOTFS/

Dan jangan lupa,

sync

Setelah ini selesai, lepas kaitan dan masukkan ke dalam RaspberryPi.

sudo umount $REALROOTFS $REALBOOTFS

Selesai.

Referensi