<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Mustafa AKBEL</title>
    <description>The latest articles on Forem by Mustafa AKBEL (@mustafaakbel).</description>
    <link>https://forem.com/mustafaakbel</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F382117%2F3ff557b5-30c1-4d0a-8d5a-fab17c53aead.jpg</url>
      <title>Forem: Mustafa AKBEL</title>
      <link>https://forem.com/mustafaakbel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mustafaakbel"/>
    <language>en</language>
    <item>
      <title>Ansible Yönetim Eklentisi</title>
      <dc:creator>Mustafa AKBEL</dc:creator>
      <pubDate>Thu, 07 Jan 2021 14:44:21 +0000</pubDate>
      <link>https://forem.com/liman/ansible-yonetim-eklentisi-4ina</link>
      <guid>https://forem.com/liman/ansible-yonetim-eklentisi-4ina</guid>
      <description>&lt;p&gt;Eklenti Liman MYS üzerinden ansible platformunu yönetmenizi sağlamaktadır. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Kurulum&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Kurulum için Liman MYS üzerinden sunucunuza eklentiyi ekleyip "Paketleri depodan kur." butonunu kullanmanız yeterlidir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fynhoqk41wi20n8vf2xwr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fynhoqk41wi20n8vf2xwr.png" alt="Paket İndirme Ekranı" width="800" height="96"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Resim 1 :&lt;/strong&gt; Paket İndirme Ekranı&lt;/p&gt;

&lt;p&gt;Kurulacak olan paketler ;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ansible&lt;/li&gt;
&lt;li&gt;sshpass&lt;/li&gt;
&lt;li&gt;unzip&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Açılış Ekranı&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Eklentinin açılış ekranın da ansible hakkında genel bilgiler verilmektedir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fww8wdhujga3h2ujm9xn4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fww8wdhujga3h2ujm9xn4.png" alt="Anasayfa" width="800" height="335"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Resim 2 :&lt;/strong&gt; Anasayfa&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Host Ekranı&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Bu kısımda grup ekleme işlemini yapabilmektesiniz. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fpqnat52ymbh56nyabsxa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fpqnat52ymbh56nyabsxa.png" alt="Grup Ekleme" width="800" height="207"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Resim 3 :&lt;/strong&gt; Grup Ekleme&lt;/p&gt;

&lt;p&gt;Grup içerisine client ekleyebilmektesiniz. Client eklerken ssh password veya ssh key ile ekleme yapabilmektesiniz. Client silme ve grup silme işlemleri de mevcuttur.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9rcn0mgpfl52q3oifpw8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9rcn0mgpfl52q3oifpw8.png" alt="Client Ekleme" width="800" height="356"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Resim 4 :&lt;/strong&gt; Client Ekleme&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fm44s4b7f6g724vl0h2xw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fm44s4b7f6g724vl0h2xw.png" alt="Ssh Key Ekleme" width="800" height="279"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Resim 5 :&lt;/strong&gt; Ssh Key Ekleme&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Dosyalar&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Bu kısım dosya arşivi görevi görmektedir. Zip, tar veya tar.gz formatında dosyalarınızı yükleyebilmektesiniz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F778yqr7472fbuueumkiz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F778yqr7472fbuueumkiz.png" alt="Dosya Yükleme" width="800" height="220"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Resim 6 :&lt;/strong&gt; Dosya Yükleme&lt;/p&gt;

&lt;p&gt;Dosyalarınız tree formatında gözükmektedir. İstediğiniz zaman görüntüleyip düzenleyebilmektesiniz. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjgdihzvxoz1xq0jpyhe4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjgdihzvxoz1xq0jpyhe4.png" alt="Dosya Görünümü" width="800" height="291"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Resim 7 :&lt;/strong&gt; Dosya Görünümü&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Playbook&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Playbook dosyası oluşturup çalıştırma işlemini bu kısımda yapmaktasınız. Dosya oluştur butonu ile dosya adını ve içeriğini girip playbook oluşturabilmektesiniz. Dosyanızı görüntüleyip güncelleyebilirsiniz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhi6n8fojenarbxh77l6s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhi6n8fojenarbxh77l6s.png" alt="Playbook Oluştur" width="800" height="329"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Resim 8 :&lt;/strong&gt; Playbook Oluştur&lt;/p&gt;

&lt;p&gt;Oluşturduğunuz playbook'a sağ tık ile çalıştır diyerek grup seçmektesiniz. Ardından playbook client makinelerde çalışmaya başlamaktadır. Playbook çıktısını log olarak isteğe bağlı şekilde kaydedebilirsiniz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhyifxe1egjnwviwzukcv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhyifxe1egjnwviwzukcv.png" alt="Grup Seçimi" width="800" height="188"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Resim 9 :&lt;/strong&gt; Grup Seçimi&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Foosxffcnj5dlc87an70i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Foosxffcnj5dlc87an70i.png" alt="Playbook Çıktısı" width="800" height="388"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Resim 10 :&lt;/strong&gt; Playbook Çıktısı&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F26dzszbhp0attg5fkeri.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F26dzszbhp0attg5fkeri.png" alt="Log Kaydetme" width="800" height="411"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Resim 11 :&lt;/strong&gt; Log Kaydetme&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Loglar&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Kaydedilen loglar bu kısımda listelenmektedir. Log'a sağ tık yaparak görüntüleme işlemi gerçekleştirilmektedir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fad7n6852og6xjbgzajei.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fad7n6852og6xjbgzajei.png" alt="Log Görüntüleme" width="800" height="288"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Resim 12 :&lt;/strong&gt; Log Görüntüleme&lt;/p&gt;

&lt;p&gt;Eklenti 6 Ocak 2021 tarihinde açık kaynak olarak sunulmuştur. Aşağıdaki linkten kaynak kodlarına erişebilirsiniz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/limanmys/liman-ansible"&gt;https://github.com/limanmys/liman-ansible&lt;/a&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ansible</category>
      <category>limanmys</category>
      <category>github</category>
    </item>
    <item>
      <title>Python Betiği İle Eklenti Geliştirme</title>
      <dc:creator>Mustafa AKBEL</dc:creator>
      <pubDate>Wed, 02 Sep 2020 12:46:32 +0000</pubDate>
      <link>https://forem.com/liman/python-betigi-i-le-eklenti-gelistirme-5240</link>
      <guid>https://forem.com/liman/python-betigi-i-le-eklenti-gelistirme-5240</guid>
      <description>&lt;p&gt;Liman MYS üzerinde python, bash veya powershell betikleri çalıştırabilmekteyiz.   &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt;İlk olarak &lt;strong&gt;Sistem Ayarları &amp;gt; Eklenti &amp;gt; Yeni&lt;/strong&gt; yolunu izleyerek eklenti oluşturuyoruz. Yaptığımız işlem bize varsayılan olarak views klasör altında index.php ve functions.php olmak üzere iki dosya oluşturmaktaydı.&lt;/p&gt;

&lt;p&gt;Visual Studio Code ile Liman sunucusuna bağlanıp eklenti dosyalarına erişebiliyoruz. Bu konu hakkında Mert Çelen'in yazdığı yazıya &lt;a href="https://dev.to/liman/eklenti-gelistirme-ortami-kurulumu-3ofm"&gt;buradan&lt;/a&gt; ulaşabilirsiniz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4w134awibwmjwybkr1ac.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4w134awibwmjwybkr1ac.JPG" alt="Alt Text" width="235" height="157"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt;Scripts klasörü içine liman sunucusunda liman user'ı ile aşağıdaki kod yardımıyla devtopython adında python dosyası oluşturulur.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;touch /liman/extensions/devtopython/scripts/devtopython.py&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Veya Visual Studio Code arayüzü ile scripts klasörüne sağ tıklayıp new file diyerek oluşturabilirsiniz.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt;index.blade.php dosyasına gerekli kod parçacıkları yazılır. Aşağıdan erişebilirsiniz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;button class="btn btn-primary mb-2" onclick="runScript()"&amp;gt;Python scriptini çalıştır&amp;lt;/button&amp;gt;
&amp;lt;div id="devtoPython"&amp;gt;&amp;lt;/div&amp;gt;

&amp;lt;script&amp;gt;
    function runScript(){
        var form = new FormData();
        request("{{API('runPythonScript')}}", form, function(response) {
            message = JSON.parse(response)["message"];
            $('#devtoPython').html(message);
        }, function(error) {
            $('#devtoPython').html("Hata oluştu");
        });
    }
&amp;lt;/script&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Butona tıklandığında anda javascript fonksiyonu çalışıp backend de &lt;strong&gt;runPythonScript&lt;/strong&gt; php fonksiyonuna gidecek.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.&lt;/strong&gt;functions.php sayfasının içeriği ise aşağıdaki gibidir.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php 

    function index(){
        return view('index');
    }

    function runPythonScript(){
        $output = runScript("devtopython.py","",false);
        return respond($output,200);
    }

?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;runScript helperı Liman üzerinden betik çalıştırmamızı sağlamaktadır. 3 parametre almaktadır. Birinci parametre betik adı, ikinci parametre betiğe gönderilmek istenen parametrelerdir, üçüncüsü ise betiğin sudo veya normal çalışacağını belirtmektedir. Üçüncü parametre false verilir ise normal, true verilir ise betik sudo ile çalıştırılmaktadır.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.&lt;/strong&gt;devtopython.py içerisinde istediğiniz python komutlarını kullanabilirsiniz. Örnek amaçlı kullanılan betiğin içeriği aşağıdadır.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#!/usr/bin/python3
print("Merhaba Dünya !!")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Eklentinin görsel çıktıları aşağıdadır. &lt;br&gt;
Butona basılmadan önceki görsel ;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F108ahxkqkukp73ghmmrq.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F108ahxkqkukp73ghmmrq.JPG" alt="Alt Text" width="736" height="114"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Butona basıldıktan sonraki görsel ;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F10qk05b3jaxyp1pocufw.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F10qk05b3jaxyp1pocufw.JPG" alt="Alt Text" width="730" height="121"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Eklentinin koduna &lt;a href="https://github.com/mustafaakbel/Devto-Python-Extension_Example"&gt;buradan&lt;/a&gt; ulaşabilirsiniz.&lt;/p&gt;

</description>
      <category>limanmys</category>
      <category>opensource</category>
      <category>python</category>
      <category>linux</category>
    </item>
    <item>
      <title>Liman MYS'de Eklenti Geliştirilmesi (Tab'lı Yapı)</title>
      <dc:creator>Mustafa AKBEL</dc:creator>
      <pubDate>Wed, 02 Sep 2020 10:51:27 +0000</pubDate>
      <link>https://forem.com/liman/liman-mys-de-eklenti-gelistirilmesi-tab-li-yapi-18h8</link>
      <guid>https://forem.com/liman/liman-mys-de-eklenti-gelistirilmesi-tab-li-yapi-18h8</guid>
      <description>&lt;p&gt;Merhabalar önceki &lt;a href="https://dev.to/liman/liman-icin-eklenti-gelistirme-1jdc"&gt;yazımda &lt;/a&gt; Liman MYS için basit de olsa nasıl eklenti geliştirebileceğimizi anlatmıştım. Şimdi ise biraz daha karmaşık yapılı bir eklenti geliştirilmesini sizlerle paylaşacağım.&lt;/p&gt;

&lt;p&gt;1.İlk olarak &lt;strong&gt;Sistem Ayarları &amp;gt; Eklenti &amp;gt; Yeni&lt;/strong&gt; yolunu izleyerek eklenti oluşturuyoruz. Yaptığımız işlem bize varsayılan olarak views klasör altında index.php ve functions.php olmak üzere iki dosya oluşturmaktaydı. &lt;/p&gt;

&lt;p&gt;Visual Studio Code ile Liman sunucusuna bağlanıp eklenti dosyalarına erişebiliyoruz. Bu konu hakkında Mert Çelen'in yazdığı yazıya &lt;a href="https://dev.to/liman/eklenti-gelistirme-ortami-kurulumu-3ofm"&gt;buradan&lt;/a&gt; ulaşabilirsiniz. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F45ao7caw7yb75g0amf8l.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F45ao7caw7yb75g0amf8l.JPG" alt="Alt Text" width="234" height="153"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.index.php dosyasına gelerek gerekli düzenlemeler yapılır. Tab yapısı ile sekmeler oluşturulur. Her bir sekmeye onclick vererek javascript(JS) ile back-end kısmını bağlarız. Sekmeye tıklandığı anda JS fonksiyonu çalışmaktadır. JS fonksiyonu request atarak back-end ile iletişime geçip dönen cevabı almaktadır. Aşağıdan direkt olarak dosya içeriğine ulaşabilirsiniz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;ul class="nav nav-tabs" role="tablist" style="margin-bottom: 15px;"&amp;gt;
    &amp;lt;li class="nav-item"&amp;gt;
        &amp;lt;a class="nav-link active"  onclick="tab1()" href="#tab1" data-toggle="tab"&amp;gt;Tab1&amp;lt;/a&amp;gt;
    &amp;lt;/li&amp;gt;
    &amp;lt;li class="nav-item"&amp;gt;
        &amp;lt;a class="nav-link "  onclick="tab2()" href="#tab2" data-toggle="tab"&amp;gt;Tab2&amp;lt;/a&amp;gt;
    &amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;

&amp;lt;div class="tab-content"&amp;gt;
    &amp;lt;div id="tab1" class="tab-pane active"&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;div id="tab2" class="tab-pane"&amp;gt;
    &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;

&amp;lt;script&amp;gt;

   if(location.hash === ""){
        tab1();
    }

    function tab1(){
        var form = new FormData();
        request("{{API('tab1')}}", form, function(response) {
            message = JSON.parse(response)["message"];
            $('#tab1').html(message);
        }, function(error) {
            $('#tab1').html("Hata oluştu");
        });
    }

    function tab2(){
        var form = new FormData();
        request("{{API('tab2')}}", form, function(response) {
            message = JSON.parse(response)["message"];
            $('#tab2').html(message);
        }, function(error) {
            $('#tab2').html("Hata oluştu");
        });
    }
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Aşağıdaki kod bloğu eklentiye ilk girildiğinde bir sekmeye tıklanmamış durumda olduğundan istediğimiz fonksiyonun çalışmasını biz sağlamaktadır.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if(location.hash === ""){
    tab1();
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;3.functions.php dosyasında da gerekli fonksiyonlar oluşturulur. index fonksiyonu index.blade.php dosyasını döndürmektedir. tab1 ve tab2 fonksiyonlarında istediğimiz işlemleri gerçekleştirerek(bu örnekte direkt metin döndürdük) gerekli cevabı döndürdük.  Dosya içeriğine aşağıdan ulaşabilirsiniz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php 
    function index(){
        return view('index');
    }

    function tab1(){
        return respond("Merhaba Dünya !!",200);
    }

    function tab2(){
        return respond("Merhaba Uzaylı !!",200);
    }
?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Aşağıda eklentinin ekran çıktılarını görmektesiniz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7yd7rz2fh2cdvymtatc1.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7yd7rz2fh2cdvymtatc1.JPG" alt="Alt Text" width="723" height="121"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Figfmkf1zguoor4azk7md.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Figfmkf1zguoor4azk7md.JPG" alt="Alt Text" width="760" height="122"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kodlara &lt;a href="https://github.com/mustafaakbel/devto_tab_extension_example"&gt;buradan&lt;/a&gt;  erişebilirsiniz.&lt;/p&gt;

</description>
      <category>limanmys</category>
      <category>linux</category>
      <category>opensource</category>
      <category>php</category>
    </item>
    <item>
      <title>Liman MYS'de Samba DNS Yönetimi</title>
      <dc:creator>Mustafa AKBEL</dc:creator>
      <pubDate>Tue, 18 Aug 2020 14:56:26 +0000</pubDate>
      <link>https://forem.com/liman/liman-mys-de-samba-dns-yonetimi-hkb</link>
      <guid>https://forem.com/liman/liman-mys-de-samba-dns-yonetimi-hkb</guid>
      <description>&lt;p&gt;Liman MYS'de bulunan DNS eklentisi bind9, samba dns ve windows DNS'i yönetmeyi sağlayan bir eklentidir. DNS, makine adlarını ip adreslerine çevirerek makineler arasında iletişim kurulmasını sağlamaktadır. Kullanım amacı ise ip adresi gibi karmaşık yapı ile kolay anlaşılabilir ve kullanabilir makine isimleri arasında çift taraflı dönüşüm sağlamaktır.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Kurulu sistemler üzerinde DNS eklentisi yükleme
&lt;/h3&gt;

&lt;p&gt;Liman MYS'de &lt;strong&gt;Sistem Ayarları &amp;gt; Eklentiler &amp;gt; Yükle&lt;/strong&gt; yolunu izleyerek eklenti yükleyebiliriz. Ardından &lt;strong&gt;Sunucular&lt;/strong&gt; kısmından DNS yönetimini yapacağımız sunucuyu buluruz. Sunucuda &lt;strong&gt;Eklentiler&lt;/strong&gt; sekmesinden eklentimizi sunucuya ekleriz.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Zone Listeleme
&lt;/h3&gt;

&lt;p&gt;DNS eklentisinde Samba DNS, bind9 servisi ve Windows DNS olmak üzere 3 temel DNS yönetimi bulunmaktadır. Eklenti otomatik olarak sunucuda kullanılan DNS yönetimini algılayarak gerekli arayüzü açmaktadır. Şu anki örneklerde Samba DNS kullanılmıştır.&lt;/p&gt;

&lt;p&gt;Aşağıda karşımıza ilk gelecek ekran gözükmektedir. Tablo yapısında primary zone listesi bulunmaktadır.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fpeg9kuokfubu2vzvxbog.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fpeg9kuokfubu2vzvxbog.JPG" alt="Alt Text" width="800" height="148"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Zone Ekleme, Düzenleme ve Silme
&lt;/h3&gt;

&lt;p&gt;Yeni bir zone eklemek için &lt;strong&gt;Primary Zone &amp;gt; Zone Ekle&lt;/strong&gt; butonu ile zone ekleme modalına ulaşırız. Oluşturulmak istenen zone ismi girilerek oluşturma işlemi gerçekleştirilir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fcbrbofsxc3zrzzko5vlt.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fcbrbofsxc3zrzzko5vlt.JPG" alt="Alt Text" width="800" height="210"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Eklediğimiz zone ismine tıkladığımızda zone hakkında detaylar karşımıza gelmektedir. Bu ekranda zone tipi, Zone DN, Fqdn, Allow Update ve kayıtların türleri hakkında bilgiler bulunmaktadır.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fv2px1c1pmupnhpqxpjys.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fv2px1c1pmupnhpqxpjys.JPG" alt="Alt Text" width="800" height="257"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Kayıt Listeleme
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Kayıtlar&lt;/strong&gt; sekmesi ise kayıt ekleme, silme ve güncelleme işlemleri yapabildiğimiz kısımdır. Aşağıdaki ekran kayıtlar sekmesine aittir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fqna4qktiqoo0i9qbxlrn.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fqna4qktiqoo0i9qbxlrn.JPG" alt="Alt Text" width="800" height="219"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Kayıt Ekleme, Düzenleme ve Silme
&lt;/h3&gt;

&lt;p&gt;Yeni kayıt eklemek için &lt;strong&gt;Kayıtlar &amp;gt; Kayıt Ekle&lt;/strong&gt; modalından kayıt tipi, hostlabel ve recor datasını girerek kayıt oluşturulur. Kayıt tipinde A, AAAA, NS, MX, CNAME ve TXT seçilebilir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F8zakkc08joo3xy5sri6d.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F8zakkc08joo3xy5sri6d.JPG" alt="Alt Text" width="800" height="315"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;İstenen kayıta sağ tıklayarak silebilir veya güncelleyebiliriz.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1r2ze7oakwwg6a0dd2uw.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1r2ze7oakwwg6a0dd2uw.JPG" alt="Alt Text" width="800" height="243"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bir A kayıtı ekledikten sonra zone detaylar sekmesindeki chart da değişmektedir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwr8as5amr0c3273quk60.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwr8as5amr0c3273quk60.JPG" alt="Alt Text" width="499" height="472"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>limanmys</category>
      <category>sambadns</category>
      <category>samba</category>
      <category>dns</category>
    </item>
    <item>
      <title>Liman için eklenti geliştirme</title>
      <dc:creator>Mustafa AKBEL</dc:creator>
      <pubDate>Mon, 17 Aug 2020 05:45:59 +0000</pubDate>
      <link>https://forem.com/liman/liman-icin-eklenti-gelistirme-1jdc</link>
      <guid>https://forem.com/liman/liman-icin-eklenti-gelistirme-1jdc</guid>
      <description>&lt;p&gt;Önceki yazılarımızda Liman'da bulunan eklentilerin genel yapısını anlatmıştık.  &lt;a href="https://dev.to/liman/liman-eklenti-yapisi-3jep"&gt;Buradan&lt;/a&gt; ulaşabilirsiniz. Bu yazımızda ise eklenti içerisinde nasıl geliştirmeler yapacağımızı anlatacağım.&lt;/p&gt;

&lt;p&gt;Örnek olarak sunucu adını veren bir eklenti yazalım. &lt;/p&gt;

&lt;p&gt;İlk olarak yeni bir eklenti oluşturalım. &lt;em&gt;Sistem Ayarları &amp;gt; Eklenti &amp;gt; Yeni&lt;/em&gt; diyerek eklenti oluşturma modal'ına ulaşabilirsiniz. Ardından eklenti ismini belirleyerek eklentiyi oluştururuz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhh1n82bj870zfx58fasb.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhh1n82bj870zfx58fasb.JPG" alt="Alt Text" width="800" height="235"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bu eklentide iki adet dosya kullanılacaktır. Bunlardan biri index.blade.php front-end kodlarını içerecek. Diğer dosya ise back-end kodlarını içerecek olan functions.php dosyasıdır.&lt;/p&gt;

&lt;p&gt;Aşağıda &lt;em&gt;index.blade.php&lt;/em&gt; dosyasının içeriğini görmektesiniz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div id="hostname"&amp;gt;&amp;lt;/div&amp;gt;

&amp;lt;script&amp;gt;
    showSwal('{{(__("Yükleniyor"))}}','info',2000);
    let form = new FormData();
    request('{{API('hostname')}}',form,function (response) {
        json = JSON.parse(response),
        $('#hostname').html(json.message);
    },function(error){
        $('#hostname').innerHTML = "Hata oluştu";
    });
&amp;lt;/script&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;İlk olarak oluşturulan div hostname'in yazdırılacağı yerdir. Javascript kodlarında ise bulunan showSwal Limanın hazır fonksiyonlarından biridir. Gerekli parametreleri verip istediğimiz swalı oluşturmamızı sağlamaktadır. Ardından bir form oluşturulmaktadır. Eğer back-end kısmına bir veri yollamak istersek &lt;code&gt;form.append("deger",deger);&lt;/code&gt; şeklinde veriyi back-end'e form ile yollayabiliriz. Şimdilik biz boş yollayacağız. &lt;/p&gt;

&lt;p&gt;Sonrasında bir request gönderilir. Bu request back-end de bulunan &lt;em&gt;hostname&lt;/em&gt; adlı fonksiyona gidip oradaki işlemler sonucu döndürülen cevabı response değişkeni olarak geri almaktadır. Değişken json olarak geldiğinden önce parse edilmektedir. Sonrasında gelen sonuç hostname adlı div'e yazdırılmaktadır.&lt;/p&gt;

&lt;p&gt;Aşağıda &lt;em&gt;functions.php&lt;/em&gt; dosyasının içeriğini görmektesiniz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php 
    function index(){
        return view('index');
    }

    function hostname(){
        return respond(runCommand("hostname"),200);
    }
?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;index&lt;/em&gt; fonksiyonu index.blade.php'yi döndüren bir fonsiyondur. &lt;em&gt;hostname&lt;/em&gt; fonksiyonu ise runCommand fonksiyonu ile sunucunun hostname'ni öğrenip döndürmektedir. runCommand fonksiyonu Limanın fonksiyonlarındandır. Bu fonksiyon sayesinde sunucuda linux komutlarını çalıştırabilmekteyiz. &lt;/p&gt;

&lt;p&gt;Sonuç olarak aşağıdaki çıktıyı vermektedir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F48xron190wub5sk2hdyv.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F48xron190wub5sk2hdyv.JPG" alt="Alt Text" width="800" height="88"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>limanmys</category>
      <category>eklenti</category>
    </item>
    <item>
      <title>Özel Depo Kurulumu</title>
      <dc:creator>Mustafa AKBEL</dc:creator>
      <pubDate>Wed, 12 Aug 2020 08:30:32 +0000</pubDate>
      <link>https://forem.com/liman/ozel-depo-kurulumu-8k2</link>
      <guid>https://forem.com/liman/ozel-depo-kurulumu-8k2</guid>
      <description>&lt;p&gt;Önceki yazımızda sizlere yerel Pardus deposunun nasıl kurulacağını anlatmıştık. &lt;a href="https://dev.to/liman/yerel-pardus-deposu-nasil-olusturulur-3o0"&gt;Buradan&lt;/a&gt; yazıya ulaşabilirsiniz. Bugün ise özel bir depo kurulumunu anlatacağım. Özel depo kurulma amacı istediğimiz paketler ile bir depo oluşturup client bilgisayarlara eklenebilir hale getirebilmektir. Bunun için yine Liman MYS'de bulunan Repository eklentisini kullanacağız.&lt;/p&gt;

&lt;p&gt;İlk olarak eklentimizi özel depoyu kuracağımız sunucuya ekliyoruz. Ardından eklentiye gelip &lt;em&gt;Yerel Depo&lt;/em&gt; sekmesine geçiyoruz. Ekrana aşağıdaki gibi bir görüntü gelmektedir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F3iiwbqmpsbr5lsws7bgb.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F3iiwbqmpsbr5lsws7bgb.JPG" alt="Alt Text" width="800" height="219"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yerel Depo Ekle butonuna tıklayarak modaldaki alanlara depo için gerekli bilgileri giriyoruz.&lt;br&gt;
&lt;strong&gt;Depo Adresi&lt;/strong&gt; : Depoda bulunan paketlerin sunucuda bulunacağı dosya anlamına gelmektedir. Örnek olarak /opt verilebilir.&lt;br&gt;
&lt;strong&gt;Codename&lt;/strong&gt; : Deponun yapısını belirlemek için kullanılır. Örnek olarak debian, trusty veya xenial verilebilir.&lt;br&gt;
&lt;strong&gt;Architectures&lt;/strong&gt; : Depoda bulunacak paketlerin hangi mimariler olacağını belirler.Tek bir mimaride olabilir istenirse birden çok mimaride desteklenebilir. Örnek kullanım  olarak "amd64,i386" gibi yazılabilir.&lt;br&gt;
&lt;strong&gt;Components&lt;/strong&gt; : Paketlerin içe aktarılabileceği bileşenlerin adları. Bileşenleri, bir depodaki paketleri bölümlere ayırmanın bir yolu olarak düşünebiliriz. Örnek kullanım olarak "main contrib non-free" verilebilir.&lt;br&gt;
&lt;strong&gt;Description&lt;/strong&gt; : Depo hakkında açıklama kısmıdır.&lt;/p&gt;

&lt;p&gt;Modal görüntüsü aşağıdaki gibidir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7kie0i7vkivqfjca9jru.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7kie0i7vkivqfjca9jru.JPG" alt="Alt Text" width="800" height="572"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ekle butonuna tıklayıp depoyu oluştururuz. Depo oluşturulurken arkaplanda her özel depo için bir gpg key oluşturulup depoya SignWith olarak eklenmektedir. Gpg key, oluşturulan özel depoyu Client bilgisayarlara eklemek istediğimizde o depoya güvenilmesi için gerekmektedir.&lt;/p&gt;

&lt;p&gt;Özel depo oluşturulduktan sonra karşımıza aşağıdaki gibi bir ekran gelmektedir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1zubnlckbrgshwjv64vb.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1zubnlckbrgshwjv64vb.JPG" alt="Alt Text" width="800" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Listeyi Gör&lt;/em&gt; dedikten sonra karşımıza aşağıdaki ekran gelmektedir. Bu ekranda depomuz hakkında bilgiler gözükmektedir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fvvg4lx2gofk6lku8lc0w.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fvvg4lx2gofk6lku8lc0w.JPG" alt="Alt Text" width="800" height="241"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ardından bizim bilgilerimizin bulunduğu satıra tıklayarak depomuzun detay sayfasına ulaşırız. Detay sayfasının görüntüsü aşağıdaki gibidir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjru70psbetwtyyv040og.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjru70psbetwtyyv040og.JPG" alt="Alt Text" width="800" height="299"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Gözat&lt;/em&gt; tıklayıp eklemek istediğimiz paketi seçerek depomuza ekleyebilmekteyiz. Yükleme kısmı aşağıdaki gibi progress bar'dan takip edilmektedir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fpogtwmxh7ssfluo55pek.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fpogtwmxh7ssfluo55pek.JPG" alt="Alt Text" width="800" height="68"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Eklendikten sonra tabloda paket hakkında bilgiler gözükmektedir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F74btpcf63pol8gwgxtec.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F74btpcf63pol8gwgxtec.JPG" alt="Alt Text" width="800" height="121"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Depoyu başka client bilgisayara eklemek istediğimizde &lt;em&gt;Gpg Key Export&lt;/em&gt; butonuna tıklayarak gpg keyi ftp sunucusuna koyarak erişilebilir hale getirmekteyiz. Bilgi olarak verilen alert aşağıdaki gibidir. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F35ytk6czqxfci6k5bbf8.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F35ytk6czqxfci6k5bbf8.JPG" alt="Alt Text" width="378" height="236"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sadece key eklemek yeterli değildir. /etc/apt/sources.list dosyasına giderek&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;deb http://XXX.XXX.XXX.XXX/Devto debian main contrib non-free
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;özel depomuzu bu şekilde eklemeliyiz. Ardından&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt update; sudo apt upgrade 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;diyerek depoda bulunan paketleri kullabiliriz.&lt;/p&gt;

</description>
      <category>limanmys</category>
      <category>repository</category>
      <category>depo</category>
    </item>
    <item>
      <title>Yerel Pardus deposu nasıl oluşturulur ?</title>
      <dc:creator>Mustafa AKBEL</dc:creator>
      <pubDate>Tue, 11 Aug 2020 18:25:14 +0000</pubDate>
      <link>https://forem.com/liman/yerel-pardus-deposu-nasil-olusturulur-3o0</link>
      <guid>https://forem.com/liman/yerel-pardus-deposu-nasil-olusturulur-3o0</guid>
      <description>&lt;p&gt;Yerel Pardus deposunun amacı internete erişimin olmadığı yerlerde Pardus paketlerine erişim sağlamak istenmesi ile yerel Pardus deposuna ihtiyaç duyulmaktadır. Liman eklentisi olarak Repository eklentisi ile bu ihtiyacı karşılamak çok kolaydır.&lt;/p&gt;

&lt;p&gt;Deponun kurulacağı sunucuya eklentiyi yükledikten sonra eklentiye girilir. Girildiğinde aşağıdaki ekran gelmektedir. Otomatik olarak gerekli paketler yüklenmektedir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjrikar4prducg0fjt57e.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjrikar4prducg0fjt57e.JPG" alt="Alt Text" width="800" height="129"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Paketlerin kurulumunda sonra eklentide sağlık durumuna gelip sistemi yapılandır diyoruz. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F5084fbdmpec0yv4aedn0.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F5084fbdmpec0yv4aedn0.JPG" alt="Alt Text" width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bu işlemlerden sonra eklenti kullanılabilir hale gelmektedir. Ardından &lt;em&gt;Ayna Depo Listesi &amp;gt; Depo Listesi &amp;gt; Depo Ekle&lt;/em&gt; işlemlerini takip ederek depo ekleme modal'ına ulaşılır. Depo ismi ve deponun kurulacağı dizin belirlenerek depo dosyaları oluşturulur.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4ocp15qmwedy8vwhj7td.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4ocp15qmwedy8vwhj7td.JPG" alt="Alt Text" width="800" height="265"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Oluşan görsel aşağıdaki gibidir. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fbojgrug8is4vht3jcrdp.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fbojgrug8is4vht3jcrdp.JPG" alt="Alt Text" width="510" height="505"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ardından *Listeyi Gör &amp;gt; Kayıt Ekle * diyerek deponun içerisine indirilecek depo adresi eklenir. &lt;/p&gt;

&lt;p&gt;Adres aktif veya pasif olarak eklenebilmektedir.&lt;br&gt;
&lt;em&gt;Depo&lt;/em&gt; kısmına indirilecek depo adresi yazılır.&lt;br&gt;
&lt;em&gt;Link Adı&lt;/em&gt; kısmına ise sunucuda apache üzerinden hangi uzantı ile erişim sağlanacağı belirlenir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7tb5l46rz7fom47gcbdo.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7tb5l46rz7fom47gcbdo.JPG" alt="Alt Text" width="800" height="332"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bu işlemlerin ardından anasayfaya gelerek eklenen depoda indirme ikonlu butona basılarak deponun indirilmesine başlanır. Arayüzden indirilen boyut, indirme durumu ve son çalıştırma zamanı görülebilmektedir. Ayrıca cron tanımlanarak istenilen zamanda indirme işlemi yaptırılabilmektedir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fzhegch77zi7n0f2y7qcq.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fzhegch77zi7n0f2y7qcq.JPG" alt="Alt Text" width="495" height="544"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>limanmys</category>
      <category>pardus</category>
      <category>depo</category>
    </item>
    <item>
      <title>Liman eklenti yapısı</title>
      <dc:creator>Mustafa AKBEL</dc:creator>
      <pubDate>Tue, 21 Jul 2020 16:12:25 +0000</pubDate>
      <link>https://forem.com/liman/liman-eklenti-yapisi-3jep</link>
      <guid>https://forem.com/liman/liman-eklenti-yapisi-3jep</guid>
      <description>&lt;p&gt;Bu yazıda Liman'da kullanılan eklentilerin genel yapısı hakkında bilgiler verilecektir. &lt;/p&gt;

&lt;p&gt;İlk olarak Liman'a eklenti geliştirmek için Liman'ın dosya yapısında bulunan /liman/server/.env dosyasındaki EXTENSION_DEVELOPER_MODE kısmı true yapılmalıdır.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;EXTENSION_DEVELOPER_MODE = true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bu işlemden sonra &lt;em&gt;Sistem Ayarları &amp;gt; Eklentiler&lt;/em&gt; sekmesinden yeni butonunu kullanarak eklenti ismini belirledikten sonra oluştur diyebiliriz. Liman eklenti dosyalarını otomatik olarak /liman/extensions/eklenti_adı dizinine oluşturmaktadır.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ftelelacju26a30dni90r.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ftelelacju26a30dni90r.JPG" alt="Alt Text" width="450" height="93"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Klasör yapısında bulunan scripts klasöründe eklentide çalıştırabileceğimiz Python betikleri veya Windows betikleri tutulur. Views klasöründe ise varsayılan olarak index.blade.php ve functions.php dosyaları bulunmaktadır. Bu dosyalardan index.blade.php dosyası aslında eklentinin front-end kısmıdır. Eklentinin ana sayfasını oluşturmaktadır. Eklentinin back-end kısmı için ise functions.php dosyası kullanılır. Eklentinin bilgileri ve ayarları db.json dosyasında tutulmaktadır. Örnek db.json içeriği aşağıda verilmiştir.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "name": "Devto",
    "publisher": "Administrator",
    "version": "0.0.1",
    "database": [],
    "widgets": [],
    "views": [
        {
            "name": "index",
            "scripts": ""
        }
    ],
    "language": "php",
    "status": 0,
    "service": "",
    "supportedLiman": "1.1.7a",
    "support": "administrator@liman.app",
    "icon": ""
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Genel anlamda yeni bir eklentinin klasör yapısı bu şekildedir. &lt;/p&gt;

</description>
      <category>limanmys</category>
      <category>eklenti</category>
      <category>gelistirme</category>
      <category>dev</category>
    </item>
    <item>
      <title>Liman üzerinde sunucular sayfasına yeni sekme eklenmesi</title>
      <dc:creator>Mustafa AKBEL</dc:creator>
      <pubDate>Tue, 21 Jul 2020 16:12:01 +0000</pubDate>
      <link>https://forem.com/liman/liman-uzerinde-sunucular-sayfasina-yeni-sekme-eklenmesi-1pbe</link>
      <guid>https://forem.com/liman/liman-uzerinde-sunucular-sayfasina-yeni-sekme-eklenmesi-1pbe</guid>
      <description>&lt;p&gt;Bu yazıda Liman MYS'de bulunan bir Linux sunucu üzerindeki kullanıcının, sudo yetkisinin kontrolü nasıl yapılır onu anlatacağım.&lt;/p&gt;

&lt;p&gt;İlk olarak sunucular sayfasına yeni bir tab sekmesi eklenir. Ancak eklerken dikkat edilmesi gereken nokta sunucu tipinin Linux olduğu kontrol edilmelidir. Liman'da bu kontrol aşağıdaki gibi yapılmaktadır.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@if(server()-&amp;gt;type == "linux_ssh" || server()-&amp;gt;type == "linux_certificate")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ardından if içeriğine tab sekmesi oluşturulur. Onclick özelliğine javascript fonksiyon ismi yazılır. &lt;/p&gt;

&lt;p&gt;Bu javascript fonksiyonunda bir request gönderilir. Request'in gönderimi aşağıda verilmiştir.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let data = new FormData();
request('{{route('server_user_permission')}}', data, function (response) { }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bu request isteği aşağıdaki gibi sunuculara ait route işlemi ile kullanacağımız controller sayfası ve fonksiyonu belirterek gerekli fonksiyona yönlendirme yapılır. Aşağıda route işlemi gösterilmiştir.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Route::post('/sunucu/userpermission', 'Server\OneController@getUserPermission')-&amp;gt;name(
    'server_user_permission'
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Gerekli controller sayfasına giderek kullanacağımız fonksiyonu oluştururuz. Fonksiyon aşağıda verilmiştir.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public function getUserPermission(){

    $output = server()-&amp;gt;run(
        sudo() . "-v"
    ); 
    if(empty($output)){
        $output =  true;
    }else{
        $output = false;
    }

    return [
        "result" =&amp;gt; 200,
        "data" =&amp;gt; $output,
    ];
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Aldığımız sonucu javascript'te işleyerek kullanıcının sudo yetkisinin olup olmadığını arayüze aktarırız.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let output = JSON.parse(response);
if(output.data){
    result = "Server kullanıcısının sudo yetkisi vardır"
    classname = "alert alert-success"
}else{
    result = "Server kullanıcısının sudo yetkisi yoktur"
    classname = "alert alert-danger"
}
$('#serverUserPermissionDiv').html(result);
$('#serverUserPermissionDiv').addClass(classname);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sonuç olarak aşağıdaki çıktı elde edilir. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fl32n8xopcr3qhqyyn9al.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fl32n8xopcr3qhqyyn9al.JPG" alt="Alt Text" width="800" height="110"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>liman</category>
      <category>dev</category>
      <category>gelistirme</category>
    </item>
  </channel>
</rss>
