Rabu, 26 September 2018

Pelatihan Linux 3

ip addr : cek ip kita
vim /etc/httpd/conf/httpd.conf
systemctl enable httpd
ip addr
cd /etc/sysconfig/network-scripts/
ls ifcfg-*
vim ifcfg-Wired_connection_1
nmcli connection reload
nmcli connection show
nmcli connection up Wired\ connection\ 1
ipaddr show
history : untuk lihat perintah terakhir kita
systemctl restart httpd.service
getenforce : cek aktif keamanan
getsebool -a | grep httpd : cek untuk pengaktifan getenforce (httpd_enable_homedirs --> , httpd_read_user_content --> )
setsebool -P httpd_enable_homedirs on
setsebool -P httpd_read_user_content on
http://localhost/~student25/ : untuk melihat web yang di buat oleh user lain
ls -ld $HOME : menampilkan dan keterangan suata file
vim userdir.conf : untuk mengaktifkan public_html
vim /etc/hosts : untuk membuat alias untuk di alamat web dan di redirect ke ip
mkdir -p /var/www/{default,aliaswww}

Selasa, 25 September 2018

Pelatihan Linux 2

touch file{1..7} : membuat file dari file 1 sampai 7
mkdir -p data1/pegawai/2018 : dengan cek parrent folder jika tidak ada langsung bikin

cd ./episode : masuk dengan relatife
cd /episode : dengan absolute tanpa pakai titik
cd ~namauser : untuk ke home user lain, syarat nya harus ada permisions
rmdir data1/pegawai/2018 data1/pegawai data1 : delete dari child ke parent
ls [fF]* : buka file yang awal nya f besar atau f kecil dan ujung nya bebas
ls f??e* :huruf awal f kecil, huruf ke dua bebas, huruf ke 3 bebas, huruf ke empat e, dan ke 5 bebas
chmod u=rw,g=,o= fi : mengubah akses menjadi kosong semua terkecuali user (u)
chgrp = merubah group
chown student(nama user):student(group) /home/student/f1 : merubah akses user dan grup
chown :student(group) /home/student/f1 : merubah akses grup saja
ls -i z2 (z2 adalah file) : untuk melihat nomor inux dari suatu file
find . -inum 350082738 -exec ls -l {} \; : mencari dengan nomor inux
echo "New File" >> /home/student/z2 : membuat file dengan nama file z2, dengan isi text file New File
1> file 2>&1 : kalau tidak error di redirect ke file dan kalau ada error kembalikan ke decriptor 1
atau
2> file 1>&2
atau
&> file
echo "tambah data" >> z1 : menambahkan isi data ke file z1
echo "ganti data" > z1 : mengganti isi data ke file z1
cat kota z1 > gabung
cat gabung : jalan kan yang atas dulu config nya, untuk mengabungkan file kota dan z1
split -10/etc/passwd pass : membuat file dengan isi file 10
wc-l pass* : untuk menampilkan isi yang sudah di pecah
cat pass* > pass_file : menjumlahkan isi file yang sudah di pecah
cat - kota - z1 >gabung : membuat judul dari setiap data yangs udah di buat
here documen : cat <<++ > peserta : (untuk mengakhiri pembuatan isi file dengan string ++ )
who | sort | cut -c1-8 | paste - - : menggabungkan semua perintah dengan satu perintah
useradd student1
useradd -u 1010 student3
usermod -l admin -d /home/admin -m(membuat folder) student4 : untuk merubah student4 menjadi admin
tail -2 /etc/passwd : melihat log data passwd terakhir
userdel student2 : menghapus user tanpa menghapus history
userdel -r student2 : menghapus user tanpa dengan history
groupadd marketing : membuat group
groupadd -r appweb : membuat group dibawah 1000
groupmod -g 1015 appweb : mengganti group id dengan 1015
groupmod -n javaapp appweb :mengganti nama group
usermod -aG sales student3 : mengganti group suatu user
groups student3 :melihat group suatu user
passwd admin : membuat password suatu user
bc : binary calculator
chage -l admin : melihat status user
chage -m 0 -M 90 -I 7 admin : mengganti status user
date -d "+90 days" : cek tanggal
chage -E 2018-12-24 admin : mengatur experid password user
usermod -L student3 : lock password student3
usermod -U student3 : unlock pasword student3
usermod -s /sbin/nologin student3 : ganti shell menggunakan nologin
-s : untuk shell
udo tail /var/log/secure : log aktivitas user
usermod -o -u 0 admin : membuat user seperti admin dengan id 0
rpm -qa | wc -l : melihat jumlah paket
rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm : install paket
rpm -qa vsftpd : cek install paket
rpm -e vsftpd : delete paket
yum history : melihat history install
yum history undo 3 : uninstall semua paket







Manage Password
-----------------------
- passwd
-

Senin, 24 September 2018

Pelatihan Linux 1

Sesi console
- F1 GUI
- F2 - F6

console terminal :
tty : cek session posisi user dimana
ssh student@localhost : remote ke diri sendiri
who : cek aktivitas user
id : untuk cek dengan user siapa kita login
echo $TERM : untuk cek layar kita(sinkron untuk clear screen)
w : aktivitas secara detail kita
who -u : mengeluarkan aktivitas id nya, untuk memberhentikan proses (task manajer)
man man : membuka kamus per bab bertanya ke man
man passwd : default bab
man 5 passwd : menentukan bab
man -k zip : find kamus yang berhubungan dengan kata zip
updatedb : untuk mengupdate database lokal (kamus) su -
mandb : sama seperti updatedb, lebih fokus
cp /etc/passwd(folde yang akan di copy) pass(folder baru) : cara copy
cp -i /etc/passwd(folde yang akan di copy) pass(folder baru) : cara copy dengan alert
alias cp="cp -i"
file : untuk membaca propertis file
grep user(katauser) backup/fi(file nya)
grep -i user(katauser) backup/fi(file nya) tidak mengaharaukan besar kecil
grep -iv user(katauser) backup/fi(file nya) tidak menggunakan kata user
grep "bash$"(yang di akhirnya ada kata2 bash) backup/fi(posisi file)
grep "^student"(awal dengan kata) backup/f1
vim latihan.txt : membuat file dan mengeluar kan text editor
:q! : untuk keluar vim
vim $HOME/.exrc : pengaturan satu folder, jika membuat vim di situ otomatis config terbaca
atau vim ~/.exrc


vim mode :
- command -- input dianggap perintah
- editing/insert -- input dimasukan ke buffer
- last line mode -- :,/(find dari atas ke bawah),?(find dari bawah ke atas)

Linux Shell : regular user admin
-> sh (born shell) from nya : $ #
-> csh (c-shell) % #
-> ksh (korn shell) $ #
-> bash (born again shell) $ #

Windows Shell :
-> command
-> cmd
-> Powershell

database user
-----------------
- /etc/passwd -- database user
- /etc/group -- database group
- /etc/shadow -- database password

..................
Latihan Editor vim
..................

untuk masuk editing
- i,I = untuk insert
- a,A = Append
- o,O = Open Line

pergerakan kursor 
h = panah kiri
j = panah bawah
k = panah atas
l = panah kanan
0 = ke awal baris
$ = ke akhir baris
G = ke akhir file
nG = ke akhir baris n
w,W = kekanan 1 kata
b,B = kekiri 1  kata
 
change  dan replace 
...................

r = ganti 1 karakter
cw = replace
cc = ganti 1 baris

hapus 
.......
x = hapus 1 karakter 
dw = hapus
dd = hapus 1 baris
u = undo (membatalkan perintah)
ctrl+R = redo

copy, paste
..........

yw = copy 1 kata
yy, y = copy 1 baris
p = paste

cari string 
..........
/string = cari string dari atas ke bawah
?string = cari string dari bawah ke atas
n = pencarian string berikut nya
. = mengulang perintah terakhir 


ex mode
.......
:w = save
:w nama_file = simpan file dengan nama_file
:1,20 w nama_file = baris 1 s.d 20 simpan degan  nama_file
:wq = simpan dan keluar
:x = simpan dan keluar
ZZ = simpan dan keluar
:q = keluar tanpa menyimpan
:q! = keluar tanpa menyimpan

:f = mengingat nama file yang sedang di edit
:1,10 co 20 = baris 1 s.d 20 di copy ke baris 20
:1,10 d = hapus baris 1 s.d 10
:1,10 m $ = baris 1 s.d 10 dipindah ke akhir file
:r nama_file = insert nama_file ke file yang sedang di edit
:set nu = menampilkan no baris
:set nonu = menghilangkan no baris
:set tabstop=5 = untuk mengatur tabulasi 5 karakter
:set autoindent = set untuk auto indent
:e nama_file = pindah edit ke nama_file
:!command = menjalankan shell command
!!command = output perintah masukan ke editor vim

find and replace
...............
:l,$s/lama/baru/g = cari dari baris 1 s.d terakhir kata lama, kalau ketemu diganti dengan kata baru dengan global 


:%s/lama/baru/g = cari dari baris 1 s.d terakhir kata lama, kalau ketemu diganti dengan kata baru dengan global 

Visual Mode
..........
v = block per karakter
ctrl+v =  block per kolom
V = block baris

Selasa, 18 September 2018

script elasticsearch : tambah hapus lihat (add delete)


elasticsearch 2.4 :
- per id : http://localhost:9200/index(index)/pemda(document)/D489(id)?pretty
- per document : http://localhost:9200/index/aktivitas_realisasi/_search
- limit record/page : http://localhost:9200/index/aktivitas_pp/_search?from=0&size=20
- melihat semua document : http://localhost:9200/index/_mapping?pretty=true
- membuat index baru : http://localhost:9200/index_test?pretty=true (method put)
- hapus satu index : http://localhost:9200/index_test?pretty=true (method delete)
- membuat document : http://localhost:9200/index_test_lagi/document?1pretty=true (method pos)
- memeriksa satu document : http://localhost:9200/index_test_lagi/document/1?pretty=true
- menghapus 1 document : http://localhost:9200/index_test_lagi/document/1=true (method delete)
- insert bulk : http://localhost:9200/index_test_lagi/document/_bulk?pretty&refresh (post)
- count jumlah semua index : http://localhost:9200/index_test_lagi/_count?pretty=1
- memeriksa semua dokumen : http://localhost:9200/index_test_lagi/document/_search?pretty=true
- search berdasarkan nama field : http://localhost:9200/katalog_test/document_test/_search?q=nama:Jasuindo

console :
- delete index : curl -XDELETE localhost:9200/nama_index (tanpa http dan di local server/tempat elastic di install)

elasticsearch 7.10 :
- menghapus 1 document : http://localhost:9200/index_test_lagi/_doc/product_619931(method delete)

Minggu, 16 September 2018

Kamis, 28 Juni 2018

Play Framework cara save data ke file text (how to save data on file text play framework)

save data dengan menambahkan garis baru :

Writer output = new BufferedWriter(new FileWriter("e-katalog-5/public/chat/chat-XbGjF6QV.txt", true));output.append(txtnama+" : "+txtpesan+" ; \n \r ");output.close();

save data ke file dengan replace data, tanpa garis baru :
        PrintWriter writer = new PrintWriter("e-katalog-5/public/chat/chat-XbGjF6QV.txt", "UTF-8");        writer.println(txtnama+" : "+txtpesan+" \n ");
        writer.close();

Play Framework Membuat pop up sederhana (create simple pop up)

<script>
    window.alert(5 + 6);
</script>

Senin, 04 Juni 2018

Play Framework Cara membuat CRUD Dasar (How to create basic CRUD)

route :
# LatihGET     /cms/latih                                          cms.Latih.index
GET     /cms/create                                         cms.Latih.create
GET     /cms/latih/edit                                     cms.Latih.edit
GET       /cms/latih/delete/{id}                         cms.Latih.delete

controller :

package controllers.cms;
import controllers.BaseController;import controllers.security.AllowAccess;import models.cms.LatihMdl;import models.secman.Acl;import play.i18n.Messages;
public class Latih extends BaseController {

    @AllowAccess({Acl.COM_BERITA})
    public static void index()
    {
        render();    }

    @AllowAccess({Acl.COM_BERITA_ADD})
    public static void create(){
        render("cms/Latih/create.html");    }

    public static void createSubmit(String form_nama_lengkap, String form_alamat) {
        LatihMdl latih = new LatihMdl();        latih.nama_lengkap = form_nama_lengkap;        latih.alamat = form_alamat;        latih.active = true;        latih.save();        index();
    }

    public static void show(long id) {

        LatihMdl viewlatih = LatihMdl.findById(id);//        response .print(viewlatih.nama_lengkap) ;        render("cms/Latih/show.html",viewlatih);    }

    public static void edit(long id) {

        LatihMdl viewlatih = LatihMdl.findById(id);//        response .print(viewlatih.nama_lengkap) ;        render("cms/Latih/edit.html",viewlatih);    }

    public static void editSubmit(long id, String nama_lengkap, String alamat) {
        LatihMdl latih = LatihMdl.findById(id);        latih.nama_lengkap = nama_lengkap;        latih.alamat = alamat;        latih.active = true;        latih.save();        flash.success("Data berhasil disimpan");        index();    }

    public static void delete(long id) {
        LatihMdl model = LatihMdl.findById(id);        notFoundIfNull(model);            model.softDelete();            flash.success(Messages.get("record_deleted"));        index();    }
}

Model :
package models.cms;
import models.BaseKatalogTable;import models.common.AktifUser;import play.db.jdbc.*;import play.mvc.Scope;
import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;
@Table(name = "latih")
public class LatihMdl extends BaseKatalogTable {
    @Id    public Long id;    public String nama_lengkap;    public String alamat;    public Boolean active;
    public static void deleteById(long id){
        Scope.Session current_session = Scope.Session.current();        Integer user_id = Integer.parseInt(current_session.get(AktifUser.USER_SESSION_ID));
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        Date date = new Date();        String date_now = dateFormat.format(date);
        String query = "update latih set active = 0, deleted_by ="+user_id+", deleted_date = '"+date_now+"' " +
                "where id = ?";
        Query.update(query, id);    }

    public void softDelete() {
        this.active = false;        setDeleted();        save();    }
}

view :
- create :
#{extends 'border.html'/}#{form @cms.Latih.createSubmit(), method:'POST', class:'form-horizontal', enctype:'multipart/form-data'}    <div class="row">        <div class="col-md-12">            <div class="panel panel-default">                <div class="panel-body">                    <ul class="nav nav-tabs" role="tablist">                        <li role="presentation" class="active"><a href="#form-berita" aria-controls="group-role" role="tab" data-toggle="tab">Form Berita</a></li>                        <li role="presentation"><a href="#isi-berita" aria-controls="role" role="tab" data-toggle="tab">Isi Berita</a></li>                    </ul>
                    <div class="tab-content">                        <!-- Form Berita -->                        <div role="tabpanel" class="tab-pane active" id="form-berita">
                            <div class="col-md-12">                                <div class="form-group">                                    <label class="col-md-2 control-label">Nama Lengkap</label>                                    <div class="col-md-8">                                        <input type="text" name="form_nama_lengkap" class="form-control">                                    </div>                                </div>
                            </div>                            <div class="col-md-12">                                <div class="form-group">                                    <label class="col-md-2 control-label">Alamat</label>                                    <div class="col-md-8">                                        <input type="text" name="form_alamat" class="form-control">                                    </div>                                </div>
                            </div>                            <input type="submit" value="Simpan" >
                        </div>                        <!-- End Form Berita -->
                    </div>                </div>            </div>        </div>
    </div>
#{/form}</div>
- index :
#{extends 'border.html'/}<div class="container-fluid">
    <!-- Toolbar -->    <div class="row">        <div class="col-md-12">            <div class="toolbar">            #{addButton action:@create(), title:' Tambah Latih'/}            </div>        </div>    </div>    <!-- End Toolbar -->
    <div class="row">        <div class="col-md-12">        #{alert /}            <div class="panel panel-default">                <div class="panel-body">                    <!-- Data Table -->                    <table class="table table-striped" id="tblBerita">                        <thead>                        <tr>                            <th>#</th>                            <th>Nama Lengkap</th>                            <th>Alamat</th>                            <th></th>                            <th></th>                            <th></th>                        </tr>                        </thead>                    </table>                    <!-- End Data Table -->                </div>            </div>        </div>    </div></div>
#{set 'moreScripts'}<script type="text/javascript">    jQuery(document).ready(function($) {
        $("#tblBerita").dataTable({
            ajax : {
                url : "@{DataTableCtr.cariLatih()}",                cache : true            },            order : [ [ 1, "desc" ], [ 2, "asc" ] ],            columns : [ {
                "searchable" : false,                render: function(data, type, row, meta) {
                    return meta.row + meta.settings._iDisplayStart + 1;                }
            }, {
                "searchable" : true            }, {
                "searchable" : true            }, {
                "searchable" : false            }, {
                "searchable" : false            }
                ]
        });
    });
</script>#{/set}
- edit :
#{extends 'border.html'/}<div class="container">#{form @cms.Latih.editSubmit(), method:'POST', class:'form-horizontal', enctype:'multipart/form-data'}
    <div class="row">        <div class="col-md-12">            <!-- Toolbar -->            <div class="toolbar">                #{backButton/}               #{saveButton/}            </div>            <!-- End Toolbar -->        </div>    </div>
    <div class="row">        <div class="col-md-12">            <div class="panel panel-default">                <div class="panel-body">                    <ul class="nav nav-tabs" role="tablist">                        <li role="presentation" class="active"><a href="#form-berita" aria-controls="group-role" role="tab" data-toggle="tab">Form Berita</a></li>                        <li role="presentation"><a href="#isi-berita" aria-controls="role" role="tab" data-toggle="tab">Isi Berita</a></li>                    </ul>
                    <div class="tab-content">                        <!-- Form Berita -->                        <div role="tabpanel" class="tab-pane active" id="form-berita">
                            <div class="col-md-12">                                <div class="panel panel-default">                                    <div class="panel-body">                                        <div class="form-group">                                            <label class="col-md-2 control-label">Nama Lengkap</label>                                            <div class="col-md-8">                                                <input type="text" name="nama_lengkap" value="${viewlatih.nama_lengkap}" class="form-control">                                            </div>                                        </div>                                    </div>                                    <div class="panel-body">                                        <div class="form-group">                                            <label class="col-md-2 control-label">Alamat</label>                                            <div class="col-md-8">                                                <input type="text" name="alamat" value="${viewlatih.alamat}" class="form-control">                                            </div>                                        </div>                                    </div>                                </div>                            </div>
                        </div>                        <!-- End Form Konten Statis -->                    </div>                </div>            </div>        </div>        <input id="input_id" name="id" value="${viewlatih.id}" type="hidden" />    </div>#{/form}</div>
- show :
#{extends 'border.html'/}<div class="container">#{form @cms.Latih.editSubmit(), method:'POST', class:'form-horizontal', enctype:'multipart/form-data'}
    <div class="row">        <div class="col-md-12">            <!-- Toolbar -->            <div class="toolbar">                #{backButton/}            </div>            <!-- End Toolbar -->        </div>    </div>
    <div class="row">        <div class="col-md-12">            <div class="panel panel-default">                <div class="panel-body">                    <ul class="nav nav-tabs" role="tablist">                        <li role="presentation" class="active"><a href="#form-berita" aria-controls="group-role" role="tab" data-toggle="tab">Form Berita</a></li>                        <li role="presentation"><a href="#isi-berita" aria-controls="role" role="tab" data-toggle="tab">Isi Berita</a></li>                    </ul>
                    <div class="tab-content">                        <!-- Form Berita -->                        <div role="tabpanel" class="tab-pane active" id="form-berita">
                            <div class="col-md-12">                                <div class="panel panel-default">                                    <div class="panel-body">                                        <div class="form-group">                                            <label class="col-md-2 control-label">Nama Lengkap</label>                                            <div class="col-md-8">                                                <input type="text" name="nama_lengkap" value="${viewlatih.nama_lengkap}" class="form-control" disabled>                                            </div>                                        </div>                                    </div>                                    <div class="panel-body">                                        <div class="form-group">                                            <label class="col-md-2 control-label">Alamat</label>                                            <div class="col-md-8">                                                <input type="text" name="alamat" value="${viewlatih.alamat}" class="form-control" disabled>                                            </div>                                        </div>                                    </div>                                </div>                            </div>
                        </div>                        <!-- End Form Konten Statis -->                    </div>                </div>            </div>        </div>        <input id="input_id" name="id" value="${viewlatih.id}" type="hidden" />    </div>#{/form}</div>