<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Edi Santoso</title>
    <description>Python &amp; Odoo Developer who drink tea to enjoying the life</description>
    <link>https://me.repodevs.com</link>
    <atom:link href="https://me.repodevs.com/feed.xml" rel="self" type="application/rss+xml" />
    <pubDate>Tue, 31 Mar 2026 21:19:26 +0700</pubDate>
    <lastBuildDate>Tue, 31 Mar 2026 21:19:26 +0700</lastBuildDate>
    <generator>Jekyll v3.10.0</generator>
    
      <item>
        <title>Setup Odoo Development using Zed + OdooLS as Symlink User</title>
        <description>&lt;p&gt;Setup Odoo Development using Zed + OdooLS as Symlink User cukup challenging, mengingat kedua Tools tersebut tidak support &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;symlink&lt;/code&gt; by default. pada tulisan ini, saya akan membagikan cara saya untuk mengatasi masalah tersebut.&lt;/p&gt;

&lt;h2 id=&quot;challenges&quot;&gt;Challenges&lt;/h2&gt;

&lt;p&gt;Sebagai pengguna &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;symlink&lt;/code&gt; dalam kehidupan depan laptop sehari-hari, setup Zed + OdooLS cukup challenging karena kedua &lt;em&gt;Tools&lt;/em&gt; tersebut tidak support &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;symlink&lt;/code&gt; by default.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Zed&lt;/code&gt; - tidak support &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;symlink&lt;/code&gt; pada Search Project files (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CMD&lt;/code&gt; + &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;p&lt;/code&gt;) dan Project Search (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;g&lt;/code&gt; + &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/&lt;/code&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Odoo-ls&lt;/code&gt; - tidak support &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;symlink&lt;/code&gt; pada saat read config dan module resolvers.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Odoo-ls&lt;/code&gt; - tidak support Odoo Version &amp;lt; 14.0 (saya masih menggunakan Odoo 13.0)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;solutions&quot;&gt;Solutions&lt;/h2&gt;

&lt;p&gt;Setelah menghabiskan 7 Jam lebih, akhirnya saya dapat &lt;em&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;monkey patch&lt;/code&gt;&lt;/em&gt; untuk mengatasi kebutuhan saya. yaitu dengan compile &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Zed&lt;/code&gt; dan &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Odoo-ls&lt;/code&gt; sendiri dengan beberapa perubahan code yang saya butuhkan.&lt;/p&gt;

&lt;h2 id=&quot;building-the-tools&quot;&gt;Building the Tools&lt;/h2&gt;

&lt;h3 id=&quot;dependencies&quot;&gt;Dependencies&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rust&lt;/code&gt; - Using rustup &lt;a href=&quot;https://rust-lang.org/tools/install/&quot;&gt;https://rust-lang.org/tools/install/&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;XCode&lt;/code&gt; - Install dari App Store&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cmake&lt;/code&gt; - Install via Homebrew &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;brew install cmake&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;building-custom-zed&quot;&gt;Building custom Zed&lt;/h3&gt;

&lt;p&gt;Setelah malukan perubahan dari source dengan bantuan AI, saya melakukan build Zed dengan mengikuti tutorial: &lt;a href=&quot;https://zed.dev/docs/development/macos&quot;&gt;https://zed.dev/docs/development/macos&lt;/a&gt;&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git clone https://github.com/zed-industries/zed.git
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Patch menggunakan code dari &lt;a href=&quot;https://github.com/zed-industries/zed/pull/51382&quot;&gt;https://github.com/zed-industries/zed/pull/51382&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kemudian lakukan build&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# /inside/directory/of/zed&lt;/span&gt;
cargo run &lt;span class=&quot;nt&quot;&gt;--release&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;NOTE: pertama kali build akan lama karena download semua dependencies&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Hasil build akan berada di &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;target/release&lt;/code&gt; dengan nama file &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;zed&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Jika menggunakan Zed Editor dari Application MacOS, dan ingin menggunakan hasil build ini. lakukan copy &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;zed&lt;/code&gt; kedalam &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/Applications/Zed.app/Contents/MacOS&lt;/code&gt;&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;cp &lt;/span&gt;target/release/zed /Applications/Zed.app/Contents/MacOS
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Taraa 🙌 kamu sudah berhasil build &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;zed&lt;/code&gt; dari source code&lt;/p&gt;

&lt;h3 id=&quot;build-custom-odoo-ls&quot;&gt;Build custom Odoo-ls&lt;/h3&gt;

&lt;p&gt;Clone custom Odoo-ls&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git clone &lt;span class=&quot;nt&quot;&gt;-b&lt;/span&gt; patch-symlink https://github.com/repodevs/odoo-ls.git
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Build odoo-ls&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;odoo-ls/server
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;cargo build &lt;span class=&quot;nt&quot;&gt;--bin&lt;/span&gt; odoo_ls_server &lt;span class=&quot;nt&quot;&gt;--release&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--target&lt;/span&gt; aarch64-apple-darwin
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Hasil output berada di &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;target/aarch64-apple-darwin/release/&lt;/code&gt; dengan nama &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;odoo_ls_server&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Kemudian copy hasil release kedalam Zed Extension Odoo&lt;/p&gt;

&lt;p&gt;&lt;em&gt;NOTE: pastikan remove &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;odoo_ls_server&lt;/code&gt; terlebih dahulu&lt;/em&gt;&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;~/Library/Application Support/Zed/extensions/work/odoo/1.2.0/odoo_ls_server&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;kemudian copy&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;cp &lt;/span&gt;target/aarch64-apple-darwin/release/odoo_ls_server &lt;span class=&quot;s2&quot;&gt;&quot;~/Library/Application Support/Zed/extensions/work/odoo/1.2.0&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Kemudian Restart Zed Language Servers&lt;/p&gt;

&lt;h3 id=&quot;setup-odoo-ls-in-zed&quot;&gt;Setup Odoo-ls in Zed&lt;/h3&gt;

&lt;p&gt;Workspace directory contohnya adalah &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;~/workspace/myodooproject&lt;/code&gt; yang berisi:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;tree &lt;span class=&quot;nt&quot;&gt;-a&lt;/span&gt;    
&lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;
├── .zed
│   └── settings.json
├── custom_addons -&amp;gt; ~/workspace/labs/odoo/addons/oca/payroll
├── odoo -&amp;gt; ~/workspace/labs/odoo/master/odoo13
└── odools.toml
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Buat file &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;odools.toml&lt;/code&gt; didalam Workspace&lt;/p&gt;

&lt;div class=&quot;language-toml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nn&quot;&gt;[[config]]&lt;/span&gt;
&lt;span class=&quot;py&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;myprofile&quot;&lt;/span&gt;
&lt;span class=&quot;py&quot;&gt;odoo_path&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;~/workspace/myodooproject&quot;&lt;/span&gt;
&lt;span class=&quot;py&quot;&gt;addons_paths&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;~/workspace/myodooproject/addons&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;~/workspace/myodooproject/custom_addons&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;py&quot;&gt;python_path&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;/Users/repodevs/.pyenv/versions/myodooenv/bin/python&quot;&lt;/span&gt;
&lt;span class=&quot;py&quot;&gt;file_cache&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Kemudian custom zed &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;settings.json&lt;/code&gt;&lt;/p&gt;

&lt;div class=&quot;language-jsonc highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;// .zed/settings.json&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;lsp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;odoo&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
      &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;settings&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Odoo&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
          &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;selectedProfile&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;myprofile&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
      &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Taraa kamu sudah berhasil setup Zed + Odoo-ls dengan Symlink method. Happy Coding 🙌&lt;/p&gt;
</description>
        <pubDate>Wed, 18 Mar 2026 07:30:00 +0700</pubDate>
        <link>https://me.repodevs.com/2026/03/setup-odoo-development-using-zed-and-odools/</link>
        <guid isPermaLink="true">https://me.repodevs.com/2026/03/setup-odoo-development-using-zed-and-odools/</guid>
        
        <category>python</category>
        
        <category>odoo</category>
        
        
        <category>odoo</category>
        
      </item>
    
      <item>
        <title>Odoo Arsitektur</title>
        <description>&lt;p&gt;Di artikel sebelumnya kita telah membahas kenapa memilih Odoo, dan gambaran singkat tentang Odoo.&lt;/p&gt;

&lt;p&gt;Pada artikel kali ini, kita akan membahas mengenai arsitektur Odoo tersebut.&lt;/p&gt;

&lt;h2 id=&quot;odoo-arsitektur&quot;&gt;Odoo Arsitektur.&lt;/h2&gt;

&lt;p&gt;Jika digambarkan dalam bentuk diagram, maka Odoo bisa digambarkan seperti berikut.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2020-10-30/odoo_arsitektur.png&quot; alt=&quot;Odoo Arsitektur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/assets/images/2020-10-30/odoo_arsitektur_exaclidraw.json&quot;&gt;&lt;em&gt;Source Drawing Exaclidraw&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Ehh bentar, ini kok udah sampe arsitektur aja, aku belum begitu paham nih tentang MVC, bisa jelasin ngga?
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Oke, bagian ini dikususkan untuk kamu yang belum terbiasa menggunakan MVC atau malah baru denger istilah tersebut.&lt;/p&gt;

&lt;h3 id=&quot;apa-sih-mvc-itu&quot;&gt;Apa sih MVC itu?&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;MVC adalah sebuah pola arsitektur dalam sebuah desain software, dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller).&lt;/em&gt;&lt;/p&gt;

&lt;/blockquote&gt;

&lt;p&gt;Masih bingung dengan penjelasan di atas?&lt;/p&gt;

&lt;p&gt;Oke, baiklah mari kita ilustrasikan dengan contoh nyata dalam kehidupan.&lt;/p&gt;

&lt;p&gt;Mari kita asumsikan kamu sedang pergi ke restoran untuk makan malam (sendirian pastinya kan. dengan pasangan? emang ada? 😆).&lt;/p&gt;

&lt;p&gt;Disana kamu akan menemukan sebuah meja, daftar menu makanan dan setelah melihat-lihat akhirnya kamu memutuskan untuk memesan sebuah Lychee Tea 🍹kepada &lt;strong&gt;waiter&lt;/strong&gt;. Disini, &lt;strong&gt;waiter&lt;/strong&gt; akan mencatat pesananmu dan memberikan kepada &lt;strong&gt;Kitchen Manager&lt;/strong&gt; (orang yang menerima pesanan dari waiter). Si &lt;strong&gt;Kitchen Manager&lt;/strong&gt; akan meneruskan pesanan itu kepada &lt;strong&gt;Koki&lt;/strong&gt; yang bertugas untuk membuatkan pesanan tersebut. &lt;strong&gt;Disinilah Kitchen Manager berlaku seperti &lt;em&gt;Controller&lt;/em&gt; didalam MVC.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Si &lt;strong&gt;Koki&lt;/strong&gt; akan menganalisa pesanan dan menentukan apa saja bahan yang diperlukan untuk membuat pesanan tersebut dan mengolahnya. Dia mengambil &lt;strong&gt;Lychee, Tea, Gula&lt;/strong&gt; dan pelengkapnya dari tempat penyimpanannya. &lt;strong&gt;Disini Koki bertindak sebagi &lt;em&gt;Model&lt;/em&gt; didalam MVC,&lt;/strong&gt; karena &lt;strong&gt;Model&lt;/strong&gt; menyediakan &lt;strong&gt;data&lt;/strong&gt; untuk memenuhi pesanan.&lt;/p&gt;

&lt;p&gt;Setalah &lt;strong&gt;Lychee Tea&lt;/strong&gt; 🍹 &lt;strong&gt;**telah siap, **Kitchen Manager&lt;/strong&gt; akan menginstrusikan &lt;strong&gt;Waiter&lt;/strong&gt; untuk &lt;em&gt;meladeni&lt;/em&gt; / memberikan kepadamu. Untuk memberikan tampilan yang &lt;em&gt;aesthetic&lt;/em&gt; &lt;strong&gt;Waiter&lt;/strong&gt; akan memberikan sedotan, tisue, dan sebagainya. &lt;strong&gt;Disini Waiter berlaku seperti &lt;em&gt;View&lt;/em&gt; didalam MVC.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Semoga penjelasan tersebut dapat dimengerti, jika sekiranya kurang jelas pengertian tentang MVC bisa dilihat di &lt;a href=&quot;https://en.wikipedia.org/wiki/Model–view–controller&quot;&gt;&lt;strong&gt;Wikipedia&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;mvc-pada-odoo-seperti-apa&quot;&gt;MVC pada Odoo seperti apa?&lt;/h3&gt;

&lt;p&gt;Sebelum kita melihat lebih dalam tentang penerapan MVC pada Odoo. mari kita lihat apa saja teknologi yang digunakan Odoo.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;Python adalah sebuah bahasa pemrograman yang bersifat terbuka yang pertama kali dibuat oleh Guido van Rossum. Odoo menggunakan python sebagai &lt;strong&gt;Business Logic&lt;/strong&gt; dan &lt;strong&gt;Business Object&lt;/strong&gt; dalam aplikasinya. Odoo menggunakan Python2.7 untuk versi Odoo 10 dan sebelumnya, sedangkan untuk Odoo versi 11 dan yang terbarunya menggunakan Python3.6 atau yang terbaru.&lt;/p&gt;

    &lt;p&gt;Didalam pengembangnya Odoo mencoba untuk &lt;strong&gt;&lt;em&gt;respect terhadap PEP8.&lt;/em&gt;&lt;/strong&gt; PEP8 adalah sebuah standart dalam penulisan kode python &lt;em&gt;(Style Guide)&lt;/em&gt;. tetapi ada beberapa yang dikesampingkan seperti:&lt;/p&gt;

    &lt;ul&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;E301: expected 1 blank line, found 0&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;E501: line too long&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;E302: expected 2 blank lines, found 1&lt;/code&gt; .&lt;/li&gt;
    &lt;/ul&gt;

    &lt;p&gt;Odoo juga &lt;a href=&quot;https://github.com/odoo/documentation/blob/8061470577388754999d75e3ecb6d7ca3533bbe4/content/contributing/development/coding_guidelines.rst#idiomatics-of-programming-python&quot;&gt;sangat menyarankan&lt;/a&gt; dalam setiap baris pertama pada python file untuk diawali dengan   &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;# -*-*coding: utf-8 -*-&lt;/code&gt; ,* ini gunanya untuk menandakan bahwa file python tersebut menggunakan Unicode UTF-8 sebagai &lt;a href=&quot;https://docs.python.org/3/reference/lexical_analysis.html#encoding-declarations&quot;&gt;Encoding&lt;/a&gt;nya.&lt;/p&gt;

    &lt;div class=&quot;language-text highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Mulai odoo version 14 dan/atau yang terbaru atau yang sudah menggunakan Python 3, sudah tidak lagi diperlukan untuk mengawali setiap file python dengan `# -*-*coding: utf-8 -*-`.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Frontend (XML/Html Templates)&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;Odoo menggunakan XML file untuk menentukan sebuah tampilan, yang kemudian akan secara otomatis terbuat (&lt;em&gt;render&lt;/em&gt;) sebuah HTML ketika User mengakses melalui Web Browser. Didalam file XML ini kita bisa mendefinisikan sebuah Menu, Action, View dan juga kita bisa melakukan pengolahan data dalam sebuah model.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;CSV&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;Odoo juga menggunakan sebuah file CSV untuk melakukan pengolahan data (memasukan data kedalam sistem Odoo). file ini biasanya digunakan untuk menentukan Access Control List pada Module Odoo.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;Odoo menggunakan PostgreSQL sebagai Databasenya. versi yang direkomendasikan untuk digunakan yaitu versi 10 atau yang terbaru. Didalam Odoo kita hampir tidak memerlukan untuk pembuatan table secara manual, karena kita hanya memerlukan pendefinisian nama field kedalam Class didalam pytho file, Odoo akan otomatis membuatkan table dan column/field tersebut kedalam database.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Setelah kita melihat apa saja teknologi yang digunakan oleh Odoo. kita bisa mengambil kesimpulan bahwa penerapan MVC pada Odoo yaitu:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Model:&lt;/strong&gt; PostgreSQL tables.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;View:&lt;/strong&gt; XML files / HTML Templates.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Controller:&lt;/strong&gt; Python Class dan function didalamnya.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Menggunakan Odoo kita akan “dimanjakan” dengan ORM dan Frameworknya yang begitu Powerfull ketika mengembangakan sebuah module/addons.&lt;/p&gt;
</description>
        <pubDate>Sat, 31 Oct 2020 03:14:33 +0700</pubDate>
        <link>https://me.repodevs.com/2020/10/odoo-arsitektur/</link>
        <guid isPermaLink="true">https://me.repodevs.com/2020/10/odoo-arsitektur/</guid>
        
        <category>python</category>
        
        <category>odoo</category>
        
        
        <category>odoo</category>
        
      </item>
    
      <item>
        <title>Kenapa pilih Odoo?</title>
        <description>&lt;p&gt;Simpelnya, Odoo itu kayak Swiss Army Knife-nya dunia ERP, satu tools buat semua kebutuhan bisnis lo, mulai dari sales, inventory, accounting, sampe e-commerce jadi satu. Yang bikin keren, dia open source jadi gratis (ga kayak SAP atau Oracle yang bikin kantong jebol), web-based jadi bisa diakses dari mana aja pake HP sekalipun, plus modular jadi tinggal install yang lo butuhin aja. Dari sisi teknis, dia pake Python sama PostgreSQL yang udah proven, arsitekturnya pake MVC yang rapih,cuma butuh beberapa baris kode Python &amp;amp; XML udah bisa bikin aplikasi lengkap karena semua “magic”-nya udah di-handle sama framework-nya.&lt;/p&gt;

&lt;h2 id=&quot;odoo-dari-segi-bisnis&quot;&gt;Odoo dari segi bisnis&lt;/h2&gt;

&lt;p&gt;Ngomongin tentang Odoo kita pasti tidak jauh dengan ERP. ada 2 jenis tipe sebuah ERP, yaitu &lt;strong&gt;Proprietary&lt;/strong&gt; dan &lt;strong&gt;Open Source.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Proprietary&lt;/strong&gt; adalah sebuah ERP yang dikembangkan, didistribusikan dan disupport oleh private company. Misalnya: Oracle, SAP, Microsoft Dynamics, dan lainnya.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open Source&lt;/strong&gt; adalah sebuah sistem ERP yang source code nya yang tersedia secara publik, mudah untuk dicustom dan juga biasanya tidak ada biaya lisensi alias free (bebas). Misalnya: Odoo, ERPnext, dan lainnya.&lt;/p&gt;

&lt;h3 id=&quot;kenapa-harus-odoo&quot;&gt;Kenapa harus Odoo?&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Open Source based!. -&lt;/strong&gt; Souce Code Odoo tersedia secara publik, semua orang bisa menggunakan dan mengcustomnya. tentu tidak perlu mengeluarkan biaya yang sangat mahal untuk membeli lisensi dibanding dengan ERP lainnya yang menawarkan solusi yang serupa. Odoo juga menyediakan aplikasi versi berbayar dan juga support jika diperlukan.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Web Based ERP.&lt;/strong&gt; - Odoo dibangun dengan sistem web based. Ini menguntungkan kita, kita tidak lagi perlu dikantor atau didepan komputer kita untuk mengakasesnya. kita bisa dari mana saja dan kapan saja untuk mengaksesnya, mulai dari menggunakan Laptop, Tablet, ataupun Smartphone kita.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;All-in-one solution.&lt;/strong&gt; - Odoo menawarkan solusi dengan menggabungkan segala kebutuhan bisnis menjadi satu. mulai dari Sales, Purchasing, Inventory, Accounting bahkan hingga e-Commerce menjadi satu.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Highly Modular.&lt;/strong&gt; - Jika Anda hanya memerlukan aplikasi &lt;strong&gt;Sales,&lt;/strong&gt; Anda hanya perlu memasang aplikasi tersebut tanpa perlu melakukan pemasangan semua aplikasi yang ada&lt;strong&gt;. Odoo&lt;/strong&gt; bisa melakukan itu, karena Odoo dirancang secara modular.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Scalable and Flexible. -&lt;/strong&gt; Aplikasi yang telah disediakan Odoo tidak memenuhi kebutuhan bisnis Anda? Anda ingin menambahkan aplikasi baru untuk melengkapinya? Dengan Fleksibilitas Odoo mudah melakukan itu!.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;User-friendly Experience. -&lt;/strong&gt; Odoo dirancang untuk memudahkan user dalam pengoperasian aplikasinya, tanpa harus &lt;em&gt;membayar&lt;/em&gt; waktu yang lama dan mahal untuk melatih user dalam menggunakannya.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Easily Integrate with Third-party.&lt;/strong&gt; - Odoo sangat mudah diintegrasikan dengan aplikasi pihak ketiga jika diperlukan, misal anda memerlukan aplikasi CRM yang otomatis mengirimkan SMS atau WhatsApp kepada pelanggan Anda tanpa perlu &lt;em&gt;bolak-balik&lt;/em&gt; pindah aplikasi. Semua bisa menjadi satu didalam Odoo.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Proven Product.&lt;/strong&gt; - Odoo telah digunakan lebih dari 5 juta orang diseluruh dunia, dan terus bertambah setiap harinya.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2020-10-29/odoo_comparison.png&quot; alt=&quot;Odoo vs Aplikasi Bisnis lainnya. *Gambar dari Odoo.*&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Odoo vs Aplikasi Bisnis lainnya. &lt;em&gt;Gambar dari Odoo.&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;odoo-dari-segi-teknikal&quot;&gt;Odoo dari segi teknikal&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Open Source based!&lt;/strong&gt; - Base Odoo dibuat secara Open Source dan bisa di akses di halaman &lt;a href=&quot;https://github.com/odoo/odoo&quot;&gt;Repository GitHub&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Modular&lt;/strong&gt; - Odoo dirancang secara modular (biasa disebut Addons atau Module) ini memudahkan kita untuk &lt;em&gt;bongkar&lt;/em&gt; dan &lt;em&gt;pasang&lt;/em&gt; module yang kita perlukan.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Mudah Integrasi&lt;/strong&gt; - Odoo dibuat menggunakan &lt;strong&gt;Python&lt;/strong&gt; sebagai Backend dan &lt;strong&gt;PostgreSQL&lt;/strong&gt; sebagai database. ini memudahkan kita untuk melakukan integrasi dengan thrid-party, misal SMS atau WhatsApp untuk notifikasi. Atau membuatkan sebuah API untuk digunakan oleh aplikasi client.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Komunitas&lt;/strong&gt; - Odoo memiliki sebuah komunitas yang menyediakan banyak sekali addons/module yang biasa disebut &lt;a href=&quot;https://github.com/oca&quot;&gt;OCA&lt;/a&gt; dan selain itu Odoo juga memiliki sebuah Forum dan Mailing list, ini memudahkan kita untuk bertanya jika ada kesulitan dalam pengembangan aplikasi.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;kenapa-sih-harus-odoo-untuk-bikin-aplikasi&quot;&gt;Kenapa sih harus Odoo untuk bikin aplikasi?&lt;/h3&gt;

&lt;p&gt;Bagi yang sudah terbiasa mengembangkan aplikasi tentu kita pernah mendengar istilah framework kan? entah itu yang menggunakan &lt;del&gt;MVC (Model View Controller)&lt;/del&gt; ataupun yang semisalnya.&lt;/p&gt;

&lt;p&gt;Odoo menggunakan &lt;a href=&quot;https://softwareengineering.stackexchange.com/a/299881&quot;&gt;multitier&lt;/a&gt; sumber &lt;a href=&quot;https://github.com/odoo-dev/odoo/blob/saas-13.5-dev_training-nim/doc/howtos/rdtraining/01_architecture.rst&quot;&gt;referensi&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nah Odoo sendiri juga menerapkan konsep tersebut (MVC). Didalam Odoo ini bisa kita bilang banyak sekali “Magic” nya. karena hanya beberapa Line Code Python &amp;amp; Xml kita sudah bisa membuat sebuah aplikasi, tanpa perlu mem&lt;em&gt;pusing&lt;/em&gt;kan tentang pembuatan table di database, HTML/CSS untuk tampilan, Authentication, Access Rule dan &lt;em&gt;teman-temannya&lt;/em&gt;!&lt;/p&gt;

&lt;p&gt;Ingin tau seperti apa arsitektur Odoo? baca post selanjutnya.&lt;/p&gt;

&lt;hr /&gt;
</description>
        <pubDate>Fri, 30 Oct 2020 03:14:33 +0700</pubDate>
        <link>https://me.repodevs.com/2020/10/kenapa-pilih-odoo/</link>
        <guid isPermaLink="true">https://me.repodevs.com/2020/10/kenapa-pilih-odoo/</guid>
        
        <category>python</category>
        
        <category>odoo</category>
        
        
        <category>odoo</category>
        
      </item>
    
      <item>
        <title>Hosting static website on Amazon S3</title>
        <description>&lt;p&gt;Selain untuk penyimpanan media/content, Amazon S3 juga bisa digunakan untuk Hosting Static Web.&lt;/p&gt;

&lt;p&gt;Di tutorial kali ini kita akan melakukan:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Membuat Bucket di Amazon S3&lt;/li&gt;
  &lt;li&gt;Upload Static Web Content ke Bucket&lt;/li&gt;
  &lt;li&gt;Mengaktifkan Akses ke Content&lt;/li&gt;
  &lt;li&gt;Update Content Web&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;membuat-bucket-di-amazon-s3&quot;&gt;Membuat Bucket di Amazon S3&lt;/h2&gt;
&lt;ol&gt;
  &lt;li&gt;Buka &lt;strong&gt;AWS Management Console&lt;/strong&gt;, pada menu &lt;strong&gt;&lt;em&gt;Services&lt;/em&gt;&lt;/strong&gt; pilih &lt;strong&gt;&lt;a href=&quot;https://s3.console.aws.amazon.com/s3/home?region=ap-southeast-1&quot;&gt;S3&lt;/a&gt;&lt;/strong&gt;.&lt;/li&gt;
  &lt;li&gt;Klik button &lt;strong&gt;Create bucket&lt;/strong&gt; &lt;br /&gt;
&lt;em&gt;Nama bucket di Amazon S3 bersifat unik dan berlaku untuk semua pengguna AWS. yang mana berarti ketia nama bucket tersebut telah dipilih, tidak akan bisa dipilih lagi oleh orang lain, sampai bucket tersebut dihapus.&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;Pada kolom &lt;strong&gt;Bucket name&lt;/strong&gt; masukan nama bucket yang diinginkan, cth: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;repodevs-web&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Klik &lt;strong&gt;Next&lt;/strong&gt;. &lt;br /&gt;
&lt;em&gt;Di AWS kita bisa menggunakan sebuah &lt;strong&gt;Tags&lt;/strong&gt; untuk memberikan informasi tambahan.&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;Pada bagian &lt;strong&gt;Tags&lt;/strong&gt; masukan:
    &lt;ul&gt;
      &lt;li&gt;Key: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Service&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;Value: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WebStatic&lt;/code&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Klik &lt;strong&gt;Next&lt;/strong&gt; &lt;br /&gt;
&lt;em&gt;Akses publik terhadap Bucket secara default adalah diblokir. File dari Web Content kita memerlukan akses publik untuk bisa diakses, jadi kita perlu mengaktifkan terlebih dahulu.&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;Hilangkan centang pada pilihan &lt;em&gt;&lt;strong&gt;Block all public access&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;Klik &lt;strong&gt;Next&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;Lakukan Review terhadap Bucket yang akan dibuat, kemudian klik &lt;strong&gt;Create bucket&lt;/strong&gt;
&lt;img src=&quot;/assets/images/2019-10-04/review-create-bucket.png&quot; alt=&quot;Review Create Bucket&quot; /&gt;&lt;/li&gt;
  &lt;li&gt;Klik nama Bucket yang telah dibuat. &lt;br /&gt;
&lt;em&gt;Disini kita akan mengkonfigurasi bucket untuk digunakan sebagai Hosting Static Website.&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;Klik tab &lt;strong&gt;Properties&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;Klik &lt;strong&gt;Static website hosting&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;Klik &lt;strong&gt;Use this bucket to host a website&lt;/strong&gt; kemudian isikan kolom:
    &lt;ul&gt;
      &lt;li&gt;Index document: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;index.html&lt;/code&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Klik &lt;strong&gt;Save&lt;/strong&gt; &lt;br /&gt;
&lt;img src=&quot;/assets/images/2019-10-04/setup-s3-as-static-hosting.png&quot; alt=&quot;Setup S3 as Static Hosting&quot; /&gt;
Bucket kita sekarang telah dikonfigurasi untuk Hosting static website, saatnya kita upload web content kita.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id=&quot;upload-static-web-content-ke-bucket&quot;&gt;Upload Static Web Content ke Bucket&lt;/h2&gt;
&lt;p&gt;Setelah Bucket kita terkonfigurasi untuk Hosting static website, sekarang kita upload static content kita.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Buat sebuah file &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;index.html&lt;/code&gt;.
    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt; &amp;lt;html&amp;gt;
 &amp;lt;head&amp;gt;
     &amp;lt;title&amp;gt;My Website&amp;lt;/title&amp;gt;
 &amp;lt;/head&amp;gt;
 &amp;lt;body&amp;gt;
     &amp;lt;p&amp;gt;&amp;lt;h1&amp;gt; Hello, Welcome to my website&amp;lt;/h1&amp;gt;&amp;lt;/p&amp;gt;
 &amp;lt;/body&amp;gt;
 &amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
  &lt;li&gt;Upload file &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;index.html&lt;/code&gt; ke Bucket dengan cara kembali ke S3 management console dan klik tab &lt;strong&gt;Overview&lt;/strong&gt;.&lt;/li&gt;
  &lt;li&gt;Klik button &lt;strong&gt;Upload&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;Klik &lt;strong&gt;Add files&lt;/strong&gt; kemudian pilih file &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;index.html&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Klik &lt;strong&gt;Upload&lt;/strong&gt;
&lt;img src=&quot;/assets/images/2019-10-04/upload-file-to-s3.png&quot; alt=&quot;Upload file to s3&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id=&quot;mengaktifkan-akses-ke-content&quot;&gt;Mengaktifkan Akses ke Content&lt;/h2&gt;
&lt;p&gt;Setelah kita upload content, content tersebut secara default adalah private. ini memastikan file kita tetap aman.&lt;/p&gt;

&lt;p&gt;Dibagian ini, kita akan mengaktifkan akses publik terhadap content kita.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Lakukan &lt;em&gt;centang&lt;/em&gt; pada checklist yang ada terhadap file &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;index.html&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Pada bagian &lt;strong&gt;Actions&lt;/strong&gt; menu, klik &lt;strong&gt;Make public&lt;/strong&gt;
List file yang akan dibuat publik akan munculkan.&lt;/li&gt;
  &lt;li&gt;Klik &lt;strong&gt;Make public&lt;/strong&gt; &lt;br /&gt;
&lt;img src=&quot;/assets/images/2019-10-04/make-file-as-public.png&quot; alt=&quot;Make file as public&quot; /&gt;
That’s it! static websitemu sekarang sudah bisa diakses.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id=&quot;update-content-web&quot;&gt;Update Content Web&lt;/h2&gt;
&lt;p&gt;Dibagian ini kita akan melalukan update content website yang telah terdeploy.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Update file &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;index.html&lt;/code&gt;. &lt;br /&gt;
&lt;em&gt;Lakukan update pada file tersebut kemudian simpan dan&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;Upload ulang file &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;index.html&lt;/code&gt;. &lt;br /&gt;
&lt;em&gt;Setelah file terupload, kita harus mengaktifkan akses publik lagi, meskipun file yang di upload sama seperti file yang sudah ada di Amazon S3.&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;Pilih  file &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;index.html&lt;/code&gt; kemudian klik &lt;strong&gt;Actions&lt;/strong&gt; menu dan klik &lt;strong&gt;Make Public&lt;/strong&gt; lagi.&lt;/li&gt;
  &lt;li&gt;Selamat content websitemu telah diperbarui!&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Sekian tutorial kali ini, semoga bisa sharing kembali dengan topik yang sama, ya, tentang AWS tentunya!&lt;/p&gt;

</description>
        <pubDate>Fri, 04 Oct 2019 12:40:00 +0700</pubDate>
        <link>https://me.repodevs.com/2019/10/hosting-static-website-on-amazon-s3/</link>
        <guid isPermaLink="true">https://me.repodevs.com/2019/10/hosting-static-website-on-amazon-s3/</guid>
        
        <category>aws</category>
        
        <category>devops</category>
        
        
        <category>server</category>
        
        <category>aws</category>
        
        <category>devops</category>
        
      </item>
    
      <item>
        <title>Google Cloud Platform basic</title>
        <description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;a href=&quot;https://google.com&quot;&gt;Google&lt;/a&gt; &lt;a href=&quot;https://cloud.google.com&quot;&gt;Cloud&lt;/a&gt; &lt;a href=&quot;https://en.wikipedia.org/wiki/Google_Cloud_Platform&quot;&gt;Platform&lt;/a&gt;&lt;/strong&gt; atau sering disebut &lt;strong&gt;GCP&lt;/strong&gt; adalah rangkaian layanan komputasi awan (cloud computing) yang berjalan di infrastruktur yang sama yang digunakan oleh Google secara internal untuk produk-produknya, seperti Google Search dan YouTube.&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;apa-saja-yang-akan-dipelajari&quot;&gt;Apa saja yang akan dipelajari?&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;Google Compute Engine Overview&lt;/li&gt;
  &lt;li&gt;Membuat VM Instance dengan Cloud Console&lt;/li&gt;
  &lt;li&gt;Membuat VM Instance dengan &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gcloud&lt;/code&gt; tools&lt;/li&gt;
  &lt;li&gt;Install Nginx web server&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;google-compute-engine-overview&quot;&gt;Google Compute Engine Overview&lt;/h2&gt;
&lt;p&gt;Google Compute Engine adalah salah satu layanan dari Google Cloud Platform yang mana menawarkan layanan untuk kamu bisa membuat &lt;em&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Virtual_machine&quot;&gt;Virtual Machine&lt;/a&gt;&lt;/em&gt; dengan berbagai macam Sistem Operasi, seperti Debian, Ubuntu, Suse, Red Hat, CoreOS dan Windows Server. Kamu bisa membuat Virtual Machine sebanyak mungkin didalam sistem yang telah didesain untuk berjalan cepat dan menawarkan performa yang konsisten.&lt;/p&gt;

&lt;h2 id=&quot;membuat-vm-instance-dengan-cloud-console&quot;&gt;Membuat VM Instance dengan Cloud Console&lt;/h2&gt;
&lt;p&gt;Untuk membuat VM Instance melalu Cloud Console, masuk ke &lt;a href=&quot;https://console.cloud.google.com&quot;&gt;GCP Console&lt;/a&gt; kemudian di pojok kiri atas halaman; pilih Menu Navigasi &amp;gt; &lt;strong&gt;Compute Engine&lt;/strong&gt; &amp;gt; &lt;strong&gt;&lt;a href=&quot;https://console.cloud.google.com/compute/instances&quot;&gt;VM Instances&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2019-03-02/GCP-VM_Instance_menu.png&quot; alt=&quot;VM Instances Menu&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Kemudian membuat VM Instance baru dengan menekan tombol &lt;strong&gt;Create&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Setelah menekan tombol &lt;strong&gt;Create&lt;/strong&gt; akan muncul form seperti berikut, lakukan pengisian form sesuai kebutuhan atau bisa mengisi form seperti contoh berikut:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2019-03-02/GCP-VM_Instance_create.png&quot; alt=&quot;VM Instance Create&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Tekan tombol &lt;strong&gt;Create&lt;/strong&gt; dan tunggu beberapa saat sampai VM Instance kamu siap untuk digunakan.
Kamu juga bisa melihat status proses pembuatan VM Instance-nya didalam &lt;em&gt;Notifications&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2019-03-02/GCP-VM_Instance_create_inprogress.png&quot; alt=&quot;VM Instance Create In Progress&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Setelah pembuatan VM Instance selesai, kamu bisa melihat Virtual Machine tersebut di halaman &lt;strong&gt;VM Instances&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Kamu juga bisa mencoba mengakases VM Instance tersebut dengan menggunakan SSH. Google Cloud menyediakan fasilitas untuk melakukan SSH kedalam Instance langsung dari browser.&lt;/p&gt;

&lt;p&gt;Dari daftar VM Instances, pada pilihan &lt;strong&gt;&lt;em&gt;Connect&lt;/em&gt;&lt;/strong&gt; pilih &lt;em&gt;dropdown&lt;/em&gt; &lt;strong&gt;SSH&lt;/strong&gt; &amp;gt; &lt;strong&gt;Open in browser window&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2019-03-02/GCP-VM_Instance_list.png&quot; alt=&quot;Akses VM Instance menggunakan SSH&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Setelah itu akan ada &lt;em&gt;pop up browser&lt;/em&gt; yang menampilkan &lt;em&gt;Shell&lt;/em&gt; dari Instance tersebut.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2019-03-02/GCP-VM_Instance_ssh.png&quot; alt=&quot;VM Instance Shell&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Kita bisa menggunakan shell tersebut layakanya &lt;em&gt;Terminal&lt;/em&gt; di dalam komputer kita.&lt;/p&gt;

&lt;h2 id=&quot;membuat-vm-instance-dengan-gcloud-tools&quot;&gt;Membuat VM Instance dengan &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gcloud&lt;/code&gt; tools&lt;/h2&gt;
&lt;p&gt;Selain menggunakan GCP Console, kita juga bisa membuat VM Instance menggunakan &lt;em&gt;CLI Tools&lt;/em&gt; dari google yaitu &lt;strong&gt;&lt;a href=&quot;https://cloud.google.com/sdk/gcloud/&quot;&gt;gcloud&lt;/a&gt;&lt;/strong&gt;
yang mana tools tersebut sudah &lt;em&gt;pre-installed&lt;/em&gt; didalam &lt;em&gt;Google Cloud Shell&lt;/em&gt;.
&lt;strong&gt;Google Cloud Shell&lt;/strong&gt; adalah &lt;em&gt;Debian-based&lt;/em&gt; virtual machine yang mana didalamnya telah terpasang semua development tools dari google dan beberapa tools lainnya seperti &lt;a href=&quot;https://git-scm.com/&quot;&gt;git&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Buka Cloud Shell dengan cara menekan icon &lt;em&gt;terminal&lt;/em&gt; pada pojok kanan atas halaman.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2019-03-02/GCP-Activate_cloud_shell.png&quot; alt=&quot;Activate Cloud Shell&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Pada &lt;em&gt;dialog box&lt;/em&gt; klik tombol &lt;strong&gt;START CLOUD SHELL&lt;/strong&gt;, tunggu beberapa saat hingga cloud shell siap digunakan.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2019-03-02/GCP-Cloud_shell_terminal.png&quot; alt=&quot;Cloud Shell Terminal&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Selain didalam cloud shell kamu juga bisa menggunakan &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gcloud&lt;/code&gt; didalam komputermu, silakan baca dokumentasinya &lt;a href=&quot;https://cloud.google.com/sdk/gcloud/&quot;&gt;disini&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Didalam Cloud Shell, buat virtual machine instance baru dengan menggunakan command &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gcloud&lt;/code&gt;.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;gcloud compute instances create gcelab2 &lt;span class=&quot;nt&quot;&gt;--zone&lt;/span&gt; us-central1-c
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;kamu juga bisa menggunakan &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;zones&lt;/code&gt; lainnya, untuk lebih detailnya bisa baca &lt;a href=&quot;https://cloud.google.com/compute/docs/zones&quot;&gt;disini&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Tunggu beberapa saat sampai VM Instance kamu siap digunakan.&lt;/p&gt;

&lt;p&gt;Didalam command diatas akan membuat instance dengan &lt;em&gt;default values&lt;/em&gt;:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Sistem Operasi &lt;a href=&quot;https://cloud.google.com/compute/docs/images#debian&quot;&gt;Debian 9 (stretch)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://cloud.google.com/compute/docs/machine-types&quot;&gt;Tipe &lt;em&gt;Machine&lt;/em&gt;&lt;/a&gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;n1-standard-1&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Sebuah &lt;a href=&quot;https://cloud.google.com/compute/docs/disks/add-persistent-disk&quot;&gt;persistent disks&lt;/a&gt; instance dengan nama yang sama dengan VM Instance; disk/penyimpanan tersebut otomatis akan terhubung (attached) kedalam VM Instance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Kita bisa lihat instance yang kita telah buat didalam halaman &lt;a href=&quot;https://console.cloud.google.com/compute/instances&quot;&gt;VM Instances&lt;/a&gt;. kamu akan melihat 2 instance yang telah kita buat tadi di halaman ini.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2019-03-02/GCP-VM_Instance_list2.png&quot; alt=&quot;GCP VM Instance list&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Kita bisa mencoba melakukan SSH kedalam instance tersebut dari cloud shell menggunakan &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gcloud&lt;/code&gt; command.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;gcloud compute ssh gcelab2 &lt;span class=&quot;nt&quot;&gt;--zone&lt;/span&gt; us-central1-c
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Kamu akan dapatkan sebuah &lt;em&gt;prompt&lt;/em&gt; seperti berikut&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;WARNING: The public SSH key file &lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;gcloud does not exist.
WARNING: The private SSH key file &lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;gcloud does not exist.
WARNING: You &lt;span class=&quot;k&quot;&gt;do &lt;/span&gt;not have an SSH key &lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;gcloud.
WARNING: &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;/usr/bin/ssh-keygen] will be executed to generate a key.
This tool needs to create the directory
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;/home/xxxxxxxxxxxxx/.ssh] before being able to generate SSH
Keys.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Do you want to &lt;span class=&quot;k&quot;&gt;continue&lt;/span&gt;? &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;Y/n&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;ketikan huruf &lt;strong&gt;Y&lt;/strong&gt; untuk melanjutkan.
dan kemudian tekan tombol &lt;strong&gt;Enter&lt;/strong&gt; pada keyboard didalam &lt;em&gt;prompt&lt;/em&gt; berikut&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Generating public/private rsa key pair.
Enter passphrase &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;empty &lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;no passphrase&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Yaps! kamu telah berhasil mengakses VM Instance.&lt;/p&gt;

&lt;p&gt;untuk keluar dari SSH, ketikan command berikut&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;exit&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;kamu akan kembali kedalam cloud shell.&lt;/p&gt;

&lt;h2 id=&quot;install-nginx-web-server&quot;&gt;Install Nginx web server&lt;/h2&gt;
&lt;p&gt;Setelah kita membuat VM Instance, saatnya kita coba instance tersebut dengan cara melakukan installasi &lt;a href=&quot;https://nginx.org/&quot;&gt;nginx&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Lakukan SSH ke VM Instance &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gcelab&lt;/code&gt;&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;gcloud compute ssh gcelab &lt;span class=&quot;nt&quot;&gt;--zone&lt;/span&gt; us-central1-c
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;setelah masuk kedalam Instance nya, lakukan &lt;em&gt;switch user&lt;/em&gt; sebagai &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;root&lt;/code&gt; dengan cara&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;su -
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;setelah berhasil menjadi &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;root&lt;/code&gt; user, lakukan &lt;em&gt;update OS&lt;/em&gt;&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;apt-get update
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;setelah &lt;em&gt;update OS&lt;/em&gt; selesai, lakukan install Nginx.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;apt-get &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;nginx &lt;span class=&quot;nt&quot;&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;setelah selesai, &lt;em&gt;check&lt;/em&gt; nginx telah &lt;em&gt;running&lt;/em&gt; atau belum dengan cara&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;ps auwx | &lt;span class=&quot;nb&quot;&gt;grep &lt;/span&gt;nginx
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;jika berhasil terinstall, akan ada &lt;em&gt;output&lt;/em&gt; kurang lebih&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;root      2104  0.0  0.0  91180  2960 ?     Ss  03:59  ... &lt;span class=&quot;nt&quot;&gt;-g&lt;/span&gt; daemon on
&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; master_process on&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
www-data  2105  0.0  0.0  91544  3652 ?     S   03:59  ... worker process
root      2115  0.0  0.0  12784  976 pts/0  S+  02:32  ... &lt;span class=&quot;nb&quot;&gt;grep &lt;/span&gt;nginx
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Setelah berhasil, mari kita lihat hasilnya dengan cara mengakses &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;External IP&lt;/code&gt; instance tersebut.
masuk ke halaman VM Instances, kemudian klik &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IP&lt;/code&gt; pada bagian &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;External IP&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2019-03-02/GCP-VM_Instance_external_ip.png&quot; alt=&quot;GCP VM Instance External IP&quot; /&gt;&lt;/p&gt;

&lt;p&gt;kamu akan melihat &lt;em&gt;default web page&lt;/em&gt; dari nginx seperti berikut&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2019-03-02/GCP-Nginx_default_page.png&quot; alt=&quot;GCP Nginx default page&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Selamat! kamu telah berhasil menggunakan Google Cloud Platform :)&lt;/p&gt;

&lt;p&gt;Sampai jumpa di tutorial selanjutnya!&lt;/p&gt;
</description>
        <pubDate>Sat, 02 Mar 2019 02:33:00 +0700</pubDate>
        <link>https://me.repodevs.com/2019/03/google-cloud-platform-basic/</link>
        <guid isPermaLink="true">https://me.repodevs.com/2019/03/google-cloud-platform-basic/</guid>
        
        <category>gcp</category>
        
        <category>gcloud</category>
        
        <category>devops</category>
        
        
        <category>server</category>
        
        <category>gcp</category>
        
        <category>devops</category>
        
      </item>
    
      <item>
        <title>Bypass situs diblokir di smartphone berbasis Android</title>
        <description>&lt;p&gt;Assalamu’alaykum Warohmatullahi Wabarakatuh&lt;/p&gt;

&lt;p&gt;Tulisan kali ini akan berbagi tentang cara Bypass situs diblokir di smartphone berbasis Android.&lt;/p&gt;

&lt;p&gt;Saya menggunakan aplikasi &lt;a href=&quot;https://github.com/x-falcon/Virtual-Hosts&quot;&gt;Virtual Hosts&lt;/a&gt; by &lt;a href=&quot;https://github.com/x-falcon&quot;&gt;x-falcon&lt;/a&gt;. &lt;br /&gt;
Menurutku ini aplikasi paling simple dan mudah untuk digunakan. sederhananya kita hanya perlu install, cari hosts file, dan fire! jalan sudah.&lt;/p&gt;

&lt;h2 id=&quot;download-virtual-hosts&quot;&gt;Download Virtual Hosts&lt;/h2&gt;
&lt;p&gt;Download Virtual Hosts dari play store jika kamu ingin support kerja keras dia.
&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.github.xfalcon.vhosts&quot;&gt;Vpn Hosts (ad blocker &amp;amp; no root &amp;amp; support ipv6 ) - Apps on Google Play&lt;/a&gt; &lt;br /&gt;
atau kamu bisa download dari &lt;a href=&quot;https://github.com/x-falcon/Virtual-Hosts/releases/latest&quot;&gt;GitHub Release Page&lt;/a&gt; atau langsung &lt;a href=&quot;https://github.com/x-falcon/Virtual-Hosts/releases/download/2.0.2.1/app-Github-release.apk&quot;&gt;Download APK-nya&lt;/a&gt; (&lt;em&gt;release terbaru ketika tulisan ini dibuat&lt;/em&gt;)&lt;/p&gt;

&lt;h2 id=&quot;install-virtual-hosts&quot;&gt;Install Virtual Hosts&lt;/h2&gt;
&lt;p&gt;Setelah aplikasinya sudah didownload, selanjutnya kita install aplikasi tersebut. lakukan installasi seperti biasanya. &lt;br /&gt;
jika kamu aware tentang permission, berikut permission yang digunakan oleh aplikasi tersebut. &lt;br /&gt;
&lt;img src=&quot;/assets/images/2018-11-25/1.png&quot; alt=&quot;App Permission&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;jalankan-virtual-hosts&quot;&gt;Jalankan Virtual Hosts&lt;/h2&gt;
&lt;p&gt;Setelah aplikasi terinstall, kita tinggal jalankan aplikasi tersebut.&lt;/p&gt;

&lt;h3 id=&quot;menggunakan-local-hosts-file&quot;&gt;Menggunakan local &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;hosts&lt;/code&gt; file&lt;/h3&gt;
&lt;p&gt;Download &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;hosts&lt;/code&gt; file yang kamu inginkan, atau bisa menggunakan hosts file yang kadang saya gunakan. &lt;a href=&quot;https://gist.githubusercontent.com/repodevs/0eec9b86bf9dfcef9c8bd3822d52a708/raw/999fb929d2eaa21b15868a17b3367ffeffa40d89/hosts&quot;&gt;Download Disini&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Setelah file terdownload, buka aplikasi dan pilih &lt;strong&gt;RE-SELECT HOSTS FILE&lt;/strong&gt;, Cari dan pilih &lt;strong&gt;hosts&lt;/strong&gt; file yang sudah terdownload. setelah itu tekan button switch yang di tengah layar.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Buka aplikasi&lt;/strong&gt;
&lt;img src=&quot;/assets/images/2018-11-25/2.png&quot; alt=&quot;Open App&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pilih hosts file&lt;/strong&gt;
&lt;img src=&quot;/assets/images/2018-11-25/3.png&quot; alt=&quot;Select hosts file&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Switch on&lt;/strong&gt;
&lt;img src=&quot;/assets/images/2018-11-25/4.png&quot; alt=&quot;Switch on&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;menggunakan-internet-hosts-file&quot;&gt;Menggunakan internet &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;hosts&lt;/code&gt; file&lt;/h3&gt;
&lt;p&gt;Selain menggunakan local hosts file. kita bisa menggunakan &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;hosts&lt;/code&gt; file dari internet.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Tekan dan tahan button &lt;strong&gt;RE-SELECT HOSTS FILE&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;Masukan url hosts file pada form yang ada&lt;/li&gt;
  &lt;li&gt;Pilih &lt;strong&gt;from internet&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;Tekan &lt;strong&gt;Confirm&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2018-11-25/5.png&quot; alt=&quot;Using hosts from internet&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Sekian tulisan kali ini, silakan tuliskan dikomentar jika ada pertanyaan.&lt;/p&gt;

&lt;p&gt;Selamat ber-internetan, hati-hati semoga nggak ketemu mantan dengan gandengan barunya!&lt;/p&gt;
</description>
        <pubDate>Sun, 25 Nov 2018 15:20:00 +0700</pubDate>
        <link>https://me.repodevs.com/2018/11/bypass-situs-diblokir-di-android/</link>
        <guid isPermaLink="true">https://me.repodevs.com/2018/11/bypass-situs-diblokir-di-android/</guid>
        
        <category>android</category>
        
        
        <category>android</category>
        
      </item>
    
      <item>
        <title>Tutorial Android CI dengan GitLab</title>
        <description>&lt;p&gt;Assalamu’alaykum Warohmatullahi Wabarakatuh&lt;/p&gt;

&lt;p&gt;Hallo temen-temen semua, pada tulisan kali ini saya ingin berbagi tutorial tentang Continuous Integration (CI) pada Android development dengan memenfaatkan CI dari GitLab. &lt;br /&gt;
Saya sendiri sebenarnya bukan Android Developer, jadi disini saya hanya berbagi pada bagian CI nya saja.&lt;/p&gt;

&lt;p&gt;Okay hal pertama yang harus di lakukan yaitu membuat repository dari aplikasi Android mu di GitLab. Saya asumsikan disini temen-temen sudah mempunyai repositorynya.&lt;/p&gt;

&lt;p&gt;lakukan perubahan pada &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;build.gradle&lt;/code&gt; temen-temen menjadi seperti&lt;/p&gt;

&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;// file app/build.gradle&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;...&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;//Signing configurations for build variants &quot;release&quot;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;signingConfigs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;release&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;storeFile&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;file&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;my.keystore&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;storePassword&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getenv&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;KEYSTORE_PASSWORD&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;keyAlias&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getenv&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;KEY_ALIAS&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;keyPassword&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getenv&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;KEY_PASSWORD&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;...&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;dan jangan lupa sertakan keystore temen-temen dalam folder &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;app/&lt;/code&gt;, jadi kurang lebih seperti ini strukturnya&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2017-09-09/1.png&quot; alt=&quot;struktur file&quot; /&gt;&lt;/p&gt;

&lt;p&gt;kemudian kita buat file &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitlab-ci.yml&lt;/code&gt; pada root directory project kita&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2017-09-09/4.png&quot; alt=&quot;file gitlab-ci.yml&quot; /&gt;&lt;/p&gt;

&lt;p&gt;dan kemudian isi sebagai berikut.&lt;/p&gt;

&lt;div class=&quot;language-yml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;# file .gitlab-ci.yml&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# docker container yang sudah terinstall android development&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# container menggunakan SDK 25, dan BUILD TOOLS 24.0.3&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# untuk container lainnya lihat gitlab.com/repodevs/android-ci&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;registry.gitlab.com/repodevs/android-ci:T25-B24.0.3&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;before_script&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;export GRADLE_USER_HOME=`pwd`/.gradle&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;chmod +x ./gradlew&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;cache&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;$CI_COMMIT_REF_NAME&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;paths&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
     &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;.gradle/&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;stages&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;build&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;build&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;stage&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;build&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;only&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;tags&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
     &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;./gradlew assemble&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;artifacts&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;paths&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;app/&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Script di atas akan menjalankan CI pada ketika ada sebuah &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tags&lt;/code&gt; di buat, jika ingin setiap commit atau lainya silahkan lihat disini &lt;a href=&quot;https://docs.gitlab.com/ee/ci/yaml/#only-and-except-simplified&quot;&gt;https://docs.gitlab.com/ee/ci/yaml/#only-and-except-simplified&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;setelah itu commit semua perubahannya, tetapi jangan di push dulu. kita akan settings Environment / Secret variables pada repository GitLabnya terlebih dahulu.&lt;/p&gt;

&lt;p&gt;Masuk ke GitLab -&amp;gt; Repository -&amp;gt; Settings -&amp;gt; CI/CD atau mudahnya&lt;br /&gt;
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;https://gitlab.com/[USERNAME]/[NAMA-REPOSITORY]/settings/ci_cd&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;dan settings variable yang kita butuhkan tadi yaitu &lt;br /&gt;
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;KEYSTORE_PASSWORD&lt;/code&gt; &lt;br /&gt;
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;KEY_ALIAS&lt;/code&gt; &lt;br /&gt;
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;KEY_PASSWORD&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2017-09-09/2.png&quot; alt=&quot;add variables&quot; /&gt;&lt;/p&gt;

&lt;p&gt;jika sudah dimasukan akan menjadi seperti ini&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2017-09-09/3.png&quot; alt=&quot;all variables&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Setelah itu kita buat tags dari commitan kita terakhir dan kemudian push tags tersebut.&lt;/p&gt;

&lt;p&gt;atau kita bisa membuat tags melalui web gitlabnya.&lt;/p&gt;

&lt;p&gt;Masuk ke halaman pembuatan tags, atau mudahnya &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;https://gitlab.com/[USERNAME]/[NAMA-REPOSITORY]/tags&lt;/code&gt; kemudan klik &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;New tag&lt;/code&gt; dan isi field-field yang dibutuhkannya.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2017-09-09/5.png&quot; alt=&quot;create tag&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Ketika tags dibuat, GitLab akan otomatis men-trigger CI nya, untuk melihat semua status CI bisa dilihat di &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;https://gitlab.com/[USERNAME]/[NAMA-REPOSITORY]/pipelines&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Ketika CI berjalan dengan normal, status pada pipelinesnya akan menjadi &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;passed&lt;/code&gt; dan kita bisa langsung mendownload file apk kita &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(Artifacs)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2017-09-09/6.png&quot; alt=&quot;status CI&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Sekiah tutorial kali ini, InsyaAllah akan di sambung lagi tentang CI/CD ini :D&lt;/p&gt;
</description>
        <pubDate>Sat, 09 Sep 2017 14:22:00 +0700</pubDate>
        <link>https://me.repodevs.com/2017/09/tutorial-android-ci-dengan-gitlab/</link>
        <guid isPermaLink="true">https://me.repodevs.com/2017/09/tutorial-android-ci-dengan-gitlab/</guid>
        
        <category>CI</category>
        
        <category>android</category>
        
        <category>gitlab</category>
        
        
        <category>android</category>
        
      </item>
    
      <item>
        <title>Tutorial Install NFS Linux File Sharing di CentOS &amp; Ubuntu</title>
        <description>&lt;p&gt;Assalamu’alaykum &lt;br /&gt;
Saya kali ini akan berbagi catatan tentang sharing file antar linux dengan berbeda jaringan.&lt;/p&gt;

&lt;p&gt;Sebenarnya ada beberapa cara untuk sharing file yang berbeda jaringan pada linux, tetapi kali ini saya akan menulis tentang sharing file menggunakan NFS.&lt;/p&gt;

&lt;p&gt;Apa sih sebenarnya NFS itu?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Network_File_System&quot;&gt;Network File System (NFS)&lt;/a&gt;&lt;/em&gt; is a distributed file system protocol originally developed by Sun Microsystems in 1984,[1] allowing a user on a client computer to access files over a computer network much like local storage is accessed. NFS, like many other protocols, builds on the Open Network Computing Remote Procedure Call (ONC RPC) system. The NFS is an open standard defined in Request for Comments (RFC), allowing anyone to implement the protocol.&lt;/p&gt;

&lt;p&gt;Jadi bahasa mudahnya, NFS adalah sebuah system yang di rancang oleh Sun Microsystems pada tahun 1984. yang fungsinnya digunakan untuk sharing files antar jaringan komputer.&lt;/p&gt;

&lt;p&gt;Pada tutorial kali ini saya menggunakan CentOS untuk master nya, dan menggunakan Ubuntu untuk slave nya, kurang lebih begini:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;NFS Server:
    &lt;ul&gt;
      &lt;li&gt;OS: &lt;strong&gt;CentOS 7&lt;/strong&gt;&lt;/li&gt;
      &lt;li&gt;IP: &lt;strong&gt;45.76.163.12&lt;/strong&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;NFS Client:
    &lt;ul&gt;
      &lt;li&gt;OS: &lt;strong&gt;Ubuntu 16.04&lt;/strong&gt;&lt;/li&gt;
      &lt;li&gt;IP: &lt;strong&gt;45.76.113.15&lt;/strong&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Untuk merubah konfigurasi saya akan menggunakan text editor &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nano&lt;/code&gt;, jadi pastikan terinstall terlebih dahulu pada kedua server&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# Pada CentOS&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;root@master ~]# yum &lt;span class=&quot;nt&quot;&gt;-y&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;nano

&lt;span class=&quot;c&quot;&gt;# Pada Ubuntu&lt;/span&gt;
root@slave1:~# apt-get &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;nano &lt;span class=&quot;nt&quot;&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;konfigurasi-firewall-pada-centos&quot;&gt;konfigurasi Firewall pada CentOS&lt;/h3&gt;
&lt;p&gt;Disini saya akan menggunakan firewall di server (CentOS), jika firewall belum terinstall maka install terlebih dahulu&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;root@master ~]# yum &lt;span class=&quot;nt&quot;&gt;-y&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;firewalld
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Setelah terinstall, jalankan servicenya dan tambahkan autostart saat booting.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;root@master ~]# systemctl start firewalld.service
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;root@master ~]# systemctl &lt;span class=&quot;nb&quot;&gt;enable &lt;/span&gt;firewalld.service
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Selanjutnya buka port untuk SSH dan NFS port agar client kita bisa terhubung dengan server nantinya.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;root@master ~]# firewall-cmd &lt;span class=&quot;nt&quot;&gt;--permanent&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--zone&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;public &lt;span class=&quot;nt&quot;&gt;--add-service&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;ssh
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;root@master ~]# firewall-cmd &lt;span class=&quot;nt&quot;&gt;--permanent&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--zone&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;public &lt;span class=&quot;nt&quot;&gt;--add-service&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;nfs
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;root@master ~]# firewall-cmd &lt;span class=&quot;nt&quot;&gt;--reload&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;menginstall-nfs-pada-centos&quot;&gt;Menginstall NFS pada CentOS&lt;/h3&gt;

&lt;p&gt;lakukan install nfs dengan menjalankan perintah&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;root@master ~]# yum &lt;span class=&quot;nt&quot;&gt;-y&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;nfs-utils
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;kemudian jalankan servicenya&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;root@master ~]# systemctl &lt;span class=&quot;nb&quot;&gt;enable &lt;/span&gt;nfs-server.service
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;root@master ~]# systemctl start nfs-server.service
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;konfigurasi-folder-yang-akan-di-share&quot;&gt;konfigurasi folder yang akan di share&lt;/h3&gt;

&lt;p&gt;Disini saya akan meng-share 2 folder, yaitu &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/home/repodevs&lt;/code&gt; dan &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/var/nfs&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Ketika client kita mengkases komputer server, secara default akan menggunakan user &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nfsnobody&lt;/code&gt;. kecuali folder &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/home/repodevs&lt;/code&gt; ini biasanya folder tersebut tidak dimiliki atau dibuat oleh &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nfsnobody&lt;/code&gt; (dan saya tidak menyarakan untuk merubah owner nya menjadi &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nfsnobody&lt;/code&gt;). dan karena disini kita akan membaca dan menulis di folder &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/home/repodevs&lt;/code&gt; maka kita akan memerintahkan NFS untuk mengkases folder tersebut sebagai &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;root&lt;/code&gt;. dan pada contoh ini folder &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/var/nfs&lt;/code&gt; belum ada. maka kita buat terlebih dahulu&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;root@master ~]# &lt;span class=&quot;nb&quot;&gt;mkdir&lt;/span&gt; /var/nfs
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;root@master ~]# &lt;span class=&quot;nb&quot;&gt;chown &lt;/span&gt;nfsnobody:nfsnobody /var/nfs/
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;root@master ~]# &lt;span class=&quot;nb&quot;&gt;chmod &lt;/span&gt;755 /var/nfs/
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Kemudian kita konfigurasi &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/etc/exports&lt;/code&gt;, di file inilah kita akan menentukan folder mana yang akan di share.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;root@master ~]# nano /etc/exports

&lt;span class=&quot;c&quot;&gt;### ISI FILE `/etc/exports`&lt;/span&gt;
...
/home/repodevs        45.32.113.15&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;rw,sync,no_root_squash,no_subtree_check&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
/var/nfs        45.32.113.15&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;rw,sync,no_subtree_check&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
...
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;IP yang dimasukan disana, adalah IP target / IP client kita. &lt;br /&gt;
Dan opsi &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;no_root_squash&lt;/code&gt; adalah yang membuat folder kita akan di akses sebagai root&lt;/p&gt;

&lt;p&gt;Setiap kali kita merubah file &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/etc/exports&lt;/code&gt; kita harus menjalankan perintah berikut, ini perlukan agar konfigurasi kita berjalan secara efektif.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;root@master ~]# exportfs &lt;span class=&quot;nt&quot;&gt;-a&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;melakukan-konfigurasi-client-ubuntu-1604&quot;&gt;Melakukan Konfigurasi Client (Ubuntu 16.04)&lt;/h2&gt;

&lt;p&gt;Install NFS pada client&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;root@slave1:~# apt &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;nfs-common
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;selanjutnya kita buat folder tempat dimana kita akan &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mount&lt;/code&gt; NFS kita.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;root@slave1:~# &lt;span class=&quot;nb&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; /mnt/nfs/home/repodevs
root@slave1:~# &lt;span class=&quot;nb&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; /mnt/nfs/var/nfs
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Setelah itu lakukan &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mount&lt;/code&gt; NFS kita ke folder tersebut.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;root@slave1:~# mount 45.76.163.12:/home/repodevs /mnt/nfs/home/repodevs
root@slave1:~# mount 45.76.163.12:/var/nfs /mnt/nfs/var/nfs/
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Sekarang kita cek hasil &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mount&lt;/code&gt; kita.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;root@slave1:~# &lt;span class=&quot;nb&quot;&gt;df&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-h&lt;/span&gt;
Filesystem             Size  Used Avail Use% Mounted on
udev                   477M     0  477M   0% /dev
tmpfs                  100M  3.1M   97M   4% /run
/dev/vda1               25G  1.8G   22G   8% /
tmpfs                  497M     0  497M   0% /dev/shm
tmpfs                  5.0M     0  5.0M   0% /run/lock
tmpfs                  497M     0  497M   0% /sys/fs/cgroup
tmpfs                  100M     0  100M   0% /run/user/0
45.76.163.12:/var/nfs   25G  1.3G   23G   6% /mnt/nfs/var/nfs
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;testing&quot;&gt;TESTING&lt;/h3&gt;

&lt;p&gt;Setelah semua konfigurasi sudah selesai, selanjutnya kita lakukan testing.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;root@slave1:~# &lt;span class=&quot;nb&quot;&gt;cd&lt;/span&gt; /mnt/nfs/var/nfs/
root@slave1:/mnt/nfs/var/nfs# &lt;span class=&quot;nb&quot;&gt;ls
&lt;/span&gt;root@slave1:/mnt/nfs/var/nfs# &lt;span class=&quot;nb&quot;&gt;touch &lt;/span&gt;hallooo
root@slave1:/mnt/nfs/var/nfs# &lt;span class=&quot;nb&quot;&gt;ls
&lt;/span&gt;hallooo
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;root@master ~]# &lt;span class=&quot;nb&quot;&gt;ls
&lt;/span&gt;hallooo
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;mount-nfs-pada-setiap-boot&quot;&gt;Mount NFS pada setiap boot&lt;/h3&gt;

&lt;p&gt;selanjutnya kita akan membuat NFS kita &lt;em&gt;automount&lt;/em&gt; setiap server kita booting.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;root@slave1:/mnt/nfs/var/nfs# nano /etc/fstab

....
&lt;span class=&quot;c&quot;&gt;# &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# / was on /dev/vda1 during installation&lt;/span&gt;
....
45.76.163.12:/home/repodevs	/mnt/nfs/home/repodevs/	nfs	rw,sync,hard,intr  0	0
45.76.163.12:/var/nfs	/mnt/nfs/var/nfs/	nfs	rw,sync,hard,intr  0	0
....
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;selain pilihan  &lt;em&gt;rw,sync,hard,intr&lt;/em&gt; kamu dapat memilih cara mounting yang lain.
silahkan lihat &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;man mount&lt;/code&gt; untuk melihat pilihan yang lain&lt;/p&gt;

&lt;p&gt;untuk menguji apakah automount mu sudah berjalan atau belum. lakukan reboot server (ubuntu 16.04) mu.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;root@slave1:/mnt/nfs/var/nfs# reboot
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;cek hasilnya menggunakan&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;root@slave1:/mnt/nfs/var/nfs# df -h
Filesystem             Size  Used Avail Use% Mounted on
udev                   477M     0  477M   0% /dev
tmpfs                  100M  3.1M   97M   4% /run
/dev/vda1               25G  1.8G   22G   8% /
tmpfs                  497M     0  497M   0% /dev/shm
tmpfs                  5.0M     0  5.0M   0% /run/lock
tmpfs                  497M     0  497M   0% /sys/fs/cgroup
tmpfs                  100M     0  100M   0% /run/user/0
45.76.163.12:/var/nfs   25G  1.3G   23G   6% /mnt/nfs/var/nfs
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Selesai !!!&lt;/p&gt;

&lt;p&gt;Sekian Tutorial kali ini, See you and stay tune !!! :D&lt;/p&gt;
</description>
        <pubDate>Tue, 22 Aug 2017 08:00:00 +0700</pubDate>
        <link>https://me.repodevs.com/2017/08/install-nfs-linux-file-sharing/</link>
        <guid isPermaLink="true">https://me.repodevs.com/2017/08/install-nfs-linux-file-sharing/</guid>
        
        <category>sharing</category>
        
        <category>linux</category>
        
        <category>servering</category>
        
        
        <category>linux</category>
        
        <category>server</category>
        
      </item>
    
      <item>
        <title>Real-Time monitoring linux server menggunakan netdata</title>
        <description>&lt;p&gt;Halo apakabar temen-temen? Semoga baik-baik saja ya.
Kali ini saya akan menulis tentang monitoring linux server menggunakan netdata.&lt;/p&gt;

&lt;p&gt;Sebenarnya apa sih netdata itu? kalau boleh saya kutipkan dari web resminya.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;netdata&lt;/strong&gt; is a system for &lt;strong&gt;distributed real-time performance and health monitoring&lt;/strong&gt;. It provides &lt;strong&gt;unparalleled insights, in real-time&lt;/strong&gt;, of everything happening on the system it runs (including applications such as web and database servers), using &lt;strong&gt;modern interactive web dashboards.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Jadi untuk bahasa mudahnya, netdata ini adalah sebuah system yang dibuat untuk monitoring / pemantuan sebuah performa system server, yang menampilkan laporan dengan menggunakan web dashboard yang interaktif.&lt;/p&gt;

&lt;p&gt;netdata ini selain mempunyai tampilan yang interaktif, system aplikasi ini juga open source. bisa dilihat langsung untuk repositorynya di &lt;a href=&quot;https://github.com/firehol/netdata&quot;&gt;https://github.com/firehol/netdata&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;untuk dokumentasinya sendiri pun cukup lengkap, tetapi disini saya akan sedikit menulis ulang untuk bagian instalasi dan konfigurasi yang saya gunakan untuk memonitoring beberapa server yang saya gunakan.&lt;/p&gt;

&lt;p&gt;ditulisan ini server yang saya gunakan yaitu ubuntu 16.04, yang sudah saya pasang nginx didalamnya, untuk tutorial instalasi &amp;amp; konfigurasi nginx mungkin lain waktu akan saya tuliskan di blog saya ini.&lt;/p&gt;

&lt;p&gt;baiklah, pertama kita login ke vps / server kita, setelah itu kita install dependencies yang dibutuhkan&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;apt-get &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;zlib1g-dev uuid-dev libmnl-dev gcc make autoconf autoconf-archive autogen automake pkg-config curl
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;untuk dependencies dibawah ini adalah sebetulnya hanya opsional, tetapi ini disarankan untuk di install oleh netdata itu sendiri.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;apt-get &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;python python-yaml python-mysqldb python-psycopg2 nodejs lm-sensors netcat
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Selanjutnya kita clone project’s netdata dari repositorynya.&lt;/p&gt;

&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;git clone https://github.com/firehol/netdata.git &lt;span class=&quot;nt&quot;&gt;--depth&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;1 ~/netdata

&lt;span class=&quot;c&quot;&gt;# setelah projects selesai di clone, kita masuk kedalam foldernya tersebut&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cd&lt;/span&gt; ~/netdata
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;setelah masuk kedalam folder &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;netdata&lt;/code&gt; kita install aplikasi menggunakan script &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;netdata-installer.sh&lt;/code&gt; yang sudah ada.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;sudo&lt;/span&gt; ./netdata-installer.sh
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;akan ada contoh output seperti berikut:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Installer Output
&lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;
  It will be installed at these locations:

   - the daemon    at /usr/sbin/netdata
   - config files  at /etc/netdata
   - web files     at /usr/share/netdata
   - plugins       at /usr/libexec/netdata
   - cache files   at /var/cache/netdata
   - db files      at /var/lib/netdata
   - log files     at /var/log/netdata
   - pid file      at /var/run
&lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;jika ingin merubah folder instalasi bisa menggunakan command&lt;/em&gt;&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;sudo&lt;/span&gt; ./netdata-installer.sh &lt;span class=&quot;nt&quot;&gt;--install&lt;/span&gt; /opt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Jika target folder penginstalan sudah benar, tekan &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ENTER&lt;/code&gt; untuk melanjutkan prosess instalasi.
setelah itu akan keluar seperti berikut&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;
Installer Output
&lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;
  ^
  |.-.   .-.   .-.   .-.   .-.   &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;  netdata                          .-.   .-
  |   &lt;span class=&quot;s1&quot;&gt;&apos;-&apos;&lt;/span&gt;   &lt;span class=&quot;s1&quot;&gt;&apos;-&apos;&lt;/span&gt;   &lt;span class=&quot;s1&quot;&gt;&apos;-&apos;&lt;/span&gt;   &lt;span class=&quot;s1&quot;&gt;&apos;-&apos;&lt;/span&gt;   &lt;span class=&quot;s1&quot;&gt;&apos;-&apos;&lt;/span&gt;   is installed and running now!  -&lt;span class=&quot;s1&quot;&gt;&apos;   &apos;&lt;/span&gt;-&lt;span class=&quot;s1&quot;&gt;&apos;  
  +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+---&amp;gt;

  enjoy real-time performance and health monitoring...
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Sekarang netdata sudah berhasil di install, sekarang kita bisa lihat hasilnya di &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;http://YOUR_SERVER_ADDRESS:19999&lt;/code&gt;&lt;/p&gt;

&lt;h3 id=&quot;custom-configuration&quot;&gt;Custom Configuration&lt;/h3&gt;

&lt;p&gt;Setelah selesai melakukan penginstalan dan aplikasi sudah berjalan, kita akan mencoba melakukan custom konfigurasi.&lt;/p&gt;

&lt;p&gt;pertama buka file &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/etc/netdata/netdata.conf&lt;/code&gt; dari folder install netdata tadi, dari contoh ini tadi, saya install netdata saya di folder &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/opt&lt;/code&gt;, berarti untuk mengakses path penuh dari aplikasi netdata ini berada di &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/opt/netdata/etc/netdata/netdata.conf&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Pada contoh custom konfigurasi ini saya akan merubah lamanya history yang di simpan oleh netdata, secara default netdata akan menyimpan history selama 1 jam atau 3600 detik.&lt;/p&gt;

&lt;p&gt;untuk penyimpanan history ini juga akan memepengaruhi terhadap RAM kita, berikut gambaran RAM yang akan digunakan untuk menyimpan history kita ini&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;3600 seconds (1 hour of chart data retention) uses 15 MB of RAM&lt;/li&gt;
  &lt;li&gt;7200 seconds (2 hours of chart data retention) uses 30 MB of RAM&lt;/li&gt;
  &lt;li&gt;14400 seconds (4 hours of chart data retention) uses 60 MB of RAM&lt;/li&gt;
  &lt;li&gt;28800 seconds (8 hours of chart data retention) uses 120 MB of RAM&lt;/li&gt;
  &lt;li&gt;43200 seconds (12 hours of chart data retention) uses 180 MB of RAM&lt;/li&gt;
  &lt;li&gt;86400 seconds (24 hours of chart data retention) uses 360 MB of RAM&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;setelah mendapatkan gambaran RAM yang akan kita gunakan, kita langsung saja lakukan konfigurasinya.&lt;br /&gt;
Buka file &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/etc/netdata/netdata.conf&lt;/code&gt;&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;nano /opt/netdata/etc/netdata/netdata.conf
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;cari parameter &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;history&lt;/code&gt; pada bagian &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[global]&lt;/code&gt;&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# file `/etc/netdata/netdata.conf`&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;   
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;global]   
        &lt;span class=&quot;c&quot;&gt;# glibc malloc arena max for plugins = 1   &lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;   
        &lt;span class=&quot;c&quot;&gt;# hostname = test-netdata   &lt;/span&gt;
        &lt;span class=&quot;c&quot;&gt;# history = 3600 # BARIS YANG AKAN KITA RUBAH&lt;/span&gt;
        &lt;span class=&quot;c&quot;&gt;# update every = 1   &lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;   
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;hilangkan tanda &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;#&lt;/code&gt; di depan &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;history&lt;/code&gt; dan rubah value nya menjadi &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;14400&lt;/code&gt;, sehingga konfigurasinya akan menjadi seperti ini.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# file `/etc/netdata/netdata.conf`&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;   
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;global]   
        &lt;span class=&quot;c&quot;&gt;# glibc malloc arena max for plugins = 1   &lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;   
        &lt;span class=&quot;c&quot;&gt;# hostname = test-netdata   &lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;history&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; 14400 &lt;span class=&quot;c&quot;&gt;# BARIS YANG KITA RUBAH&lt;/span&gt;
        &lt;span class=&quot;c&quot;&gt;# update every = 1   &lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;simpan dan keluar setelah melakukan perubahan.&lt;/p&gt;

&lt;h3 id=&quot;mengaktifkan-kernel-same-page-merging-atau-ksm&quot;&gt;Mengaktifkan Kernel Same-page Merging atau KSM&lt;/h3&gt;

&lt;p&gt;Dengan mengaktifkan fitur KSM ini. netdata akan meningkan optimasi dan mengurangi penggunaan RAM antara 40-60%.&lt;/p&gt;

&lt;p&gt;untuk mengkatifkan fitur KSM ini secara permanent kita akan masukan kedalam file &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/etc/rc.local&lt;/code&gt;&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;nano /etc/rc.local
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;tambahkan command berikut sebelum command &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;exit 0&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;echo 1 &amp;gt; /sys/kernel/mm/ksm/run&lt;/code&gt;&lt;br /&gt;
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;echo 1000 &amp;gt; /sys/kernel/mm/ksm/sleep_millisecs&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;jadi secara lengkap file &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/etc/rc.local&lt;/code&gt; akan menjadi seperti berikut&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;#!/bin/sh -e&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# rc.local&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# This script is executed at the end of each multiuser runlevel.&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Make sure that the script will &quot;exit 0&quot; on success or any other&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# value on error.&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# In order to enable or disable this script just change the execution&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# bits.&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# By default this script does nothing.&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;echo &lt;/span&gt;1 &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; /sys/kernel/mm/ksm/run
&lt;span class=&quot;nb&quot;&gt;echo &lt;/span&gt;1000 &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; /sys/kernel/mm/ksm/sleep_millisecs

&lt;span class=&quot;nb&quot;&gt;exit &lt;/span&gt;0
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;setelah kita selesai melakukan konfigurasi kita lakukan restart pada netadata kita.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;systemctl restart netdata
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;kita cek kembali pada dashboard untuk melihat hasilnya.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Setelah kita sudah melakukan sedikit konfigurasi, selanjutnya kita akan mencoba menampilkan dashboard dengan menggunakan &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nginx&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;kita install dependencies terlebih dahulu, dependencies ini akan digunakan untuk encrypt password.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;apt-get &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;apache2-utils nginx
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;setelah kita install dependencies, kita buat hash username &amp;amp; password yang akan kita gunakan untuk mengakses nginx kita&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;htpasswd &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; /etc/nginx/netdata-access repodevs
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;masukan password yang akan kita gunakan, pada prompt yang ada.&lt;/p&gt;

&lt;p&gt;setelah itu kita konfigurasi nginx kita&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;nano /etc/nginx/sites-available/default
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;upstream netdata-backend &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
    server 127.0.0.1:19999&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    keepalive 64&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;

server &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
    listen 80&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;c&quot;&gt;# server_name monitor.domainmu.com;&lt;/span&gt;
    server_name _&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

    auth_basic &lt;span class=&quot;s2&quot;&gt;&quot;Authentication Required&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    auth_basic_user_file netdata-access&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

    location / &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
        proxy_set_header X-Forwarded-Host &lt;span class=&quot;nv&quot;&gt;$host&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        proxy_set_header X-Forwarded-Server &lt;span class=&quot;nv&quot;&gt;$host&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        proxy_set_header X-Forwarded-For &lt;span class=&quot;nv&quot;&gt;$proxy_add_x_forwarded_for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        proxy_pass http://netdata-backend&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        proxy_http_version 1.1&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        proxy_pass_request_headers on&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        proxy_set_header Connection &lt;span class=&quot;s2&quot;&gt;&quot;keep-alive&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        proxy_store off&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;selanjutnya kita restart nginx kita&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;service nginx restart
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;setelah kita restart nginx, kita akses dashboard dengan url yang sudah kita konfigurasi tadi.&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;monitor.domainmu.com&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Sekian catatan kali ini, InsyaAllah akan ada pembahasan selanjutnya :)&lt;/p&gt;
</description>
        <pubDate>Sun, 20 Aug 2017 20:00:00 +0700</pubDate>
        <link>https://me.repodevs.com/2017/08/real-time-monitoring-linux-server-using-netdata/</link>
        <guid isPermaLink="true">https://me.repodevs.com/2017/08/real-time-monitoring-linux-server-using-netdata/</guid>
        
        <category>monitoring</category>
        
        <category>linux</category>
        
        <category>servering</category>
        
        
        <category>linux</category>
        
        <category>server</category>
        
      </item>
    
      <item>
        <title>Pengalaman pertama mengikuti IDNCOMPETITION2017 - Bag I</title>
        <description>&lt;p&gt;Beberapa waktu yang lalu &lt;a href=&quot;http://idn.id&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;ID-Networkers&lt;/a&gt; atau biasa disebut dengan nama IDN, mengadakan sebuah kompetisi yang diberi nama &lt;a href=&quot;https://www.facebook.com/hashtag/idncompetition2017&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;idncompetition2017&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;didalam kompetisi ini ada 3 kategori yang akan di adakan yaitu:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Networking
    &lt;ul&gt;
      &lt;li&gt;&lt;em&gt;(pentujuk dan kisi-kisi bisa dilihat &lt;a href=&quot;/assets/media/docs/idn_networking_competition2017.pdf&quot;&gt;disini&lt;/a&gt;)&lt;/em&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Android
    &lt;ul&gt;
      &lt;li&gt;&lt;em&gt;(pentujuk dan kisi-kisi bisa dilihat &lt;a href=&quot;/assets/media/docs/idn_android_competition2017.pdf&quot;&gt;disini&lt;/a&gt;)&lt;/em&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Sysadmin
    &lt;ul&gt;
      &lt;li&gt;&lt;em&gt;(pentujuk dan kisi-kisi bisa dilihat &lt;a href=&quot;/assets/media/docs/idn_sysadmin_competition2017.pdf&quot;&gt;disini&lt;/a&gt;)&lt;/em&gt;&lt;/li&gt;
      &lt;li&gt;&lt;em&gt;(soal soal windows server bisa dilihat &lt;a href=&quot;/assets/media/docs/idn_soal_windows_server_2017.pdf&quot;&gt;disini&lt;/a&gt;)&lt;/em&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2017-08-13/idncompetition.png&quot; alt=&quot;jadwal competition&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Didalam competition ini saya mengikuti 1 bidang saja, yaitu sysadmin.&lt;br /&gt;
sysadmin sendiri dimulai pada tanggal 12-agustus-2017 yang di mulai dengan bagian Windows Server.&lt;/p&gt;

&lt;p&gt;Ada sekitar 44 peserta yang mengikuti bagian Windows Server ini, walau sedikit ada problem saat proses kompetisi yaitu adanya trouble dalam pembuatan VM setiap peserta, akhiranya kompetisi resmi dimulai semuanya pada waktu sehabis dzuhur.&lt;/p&gt;

&lt;p&gt;Ada 10 soal dalam bagian windows server ini, dan soal-soal itu lumayan membuatku bingung, karena ini adalah pengalaman pertama saya melihat dan harus mengkonfigurasi yang namanya windows server hahaha. tapi aku tahu, dari sini aku punya pengalaman &amp;amp; pengetahuan baru :D&lt;/p&gt;

&lt;p&gt;kompetisi bagian windows server ini berakhir pada pukul 10:00 WIB malam, dan pengumuman jumlah skor nilai windows server ini di umumkan sekitar jam 12 siang pada hari berikutnya,&lt;/p&gt;

&lt;p&gt;berikut hasil nilai untuk bagian windows server&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/2017-08-13/idn_windows_server_result.png&quot; alt=&quot;jadwal competition&quot; /&gt;&lt;/p&gt;

&lt;p&gt;dan yahh, pastinya kompetisi akan di lanjutkan minggu depannya lagi :)&lt;/p&gt;

&lt;p&gt;stay tuned yaghh !!!, InsyaAllah akan terus di update :D&lt;/p&gt;
</description>
        <pubDate>Sun, 13 Aug 2017 20:00:00 +0700</pubDate>
        <link>https://me.repodevs.com/2017/08/pengalaman-pertama-mengikuti-idncompetition2017-bag-1/</link>
        <guid isPermaLink="true">https://me.repodevs.com/2017/08/pengalaman-pertama-mengikuti-idncompetition2017-bag-1/</guid>
        
        <category>competition</category>
        
        <category>sysadmin</category>
        
        <category>servering</category>
        
        
        <category>competition</category>
        
      </item>
    
  </channel>
</rss>
