Yazar arşivleri: Ramazan Tüfekçi

Github Signing commits GPG kullanımı

Github da yapılan değişikliklerin doğrulanması
Github da yapilan değişiklikler commit edildiğinde verified olarak görünmez.
Verified olarak görünmesi için github hesabimiza şunları eklemiz gerekmekte

  • Ssh key
  • Gpg key
  • Ben bu yazıda github hesabımıza nasıl gpg key ekleyeceğimiz anlatmaya çalışacağım.
    ilk olarak windows işletim sistemi kullanıyorsak bilgisayarımıza gpg4win uygulamamızı kurmamız lazım.
    Bu programı kurduğumuz da hem gui olarak hemde komut olarak gpg key oluşturabiliyoruz.
    Yazımızın devamına video ile devam edelim.
    Kullanılan kodlar:

    git config --global commit.gpgsign true
    git config --global user.signingkey 19BCE90830430D5A
    git config --global gpg.program "C:\Program Files (x86)\GnuPG\bin\gpg.exe"

    gpg4win uygulaması ile komut satırından key oluşturmak için:

    gpg --full-generate-key
    gpg --list-secret-keys --keyid-format LONG
    gpg --armor --export key id

    Haftalık hava durumu uygulaması

    Merhaba arkadaşlar.
    Haftalık hava durumunu gösteren örnek uygulama kodlarına GitHub hesabımdan ulaşabilirsiniz.
    Bu uygulama da newtonsoftjson svg paketleri kullanıldı.
    Bu paketlere aşina olmayan arkadaşlar içinde güzel bir örnek olacaktır.
    Uygulama da control kullanmadım geliştirmek isteyen arkadaşlar ona dikkat etsin.
    Uygulama görseli:

    Bu linkten çalışır halini indirebilirsiniz.
    Yararlı olması dileğiyle.

    Windows search servisini yeniden kurmak

    Windows search servisini yeniden kurmanız gerekiyor.Fakat windows search servisi windows özellik aç kapat da görünmüyor.
    Nasıl yeniden kurulum yapacaksınız?
    Powershell i yönetici olarak açalım.
    Windows search servisini kaldırmak için aşağıdaki komutu kullanıyoruz.

    Dism /Online /Disable-Feature  /FeatureName:SearchEngine-Client-Package

    Tekrar aktif etmek için aşağıdaki komutu kullanıyoruz.

    Dism /Online /Enable-Feature  /FeatureName:SearchEngine-Client-Package

    Let’s Encrypt Free ssl sertifika kurulumu

    Merhaba arkadaşlar.
    Bugün sizlere let’s encrypt free ssl nasıl kurulur.Nasıl otomatik yenileme yapılır onu anlatacağim.
    Elimizde bulunan sunucuya ssh ile bağlanıyoruz.
    Sunucumuzda git kurulu değilse git i sunucumuza kuruyoruz.
    Let’s encrypt GitHub deposundan klon oluşturuyoruz.

    sudo git clone https://github.com/certbot/certbot /opt/letsencrypt(Siz kendinizin kullanmak istediği yolu yazabilirisiniz.)

    Klon oluşturduktan sonra klon oluşturduğumuz dizine geçiyoruz.

    cd /opt/letsencrypt

    Kurulum için aşağıdaki komutu kullanıyoruz.

    ./certbot-auto certonly --standalone

    küçük bir yükleme yapacak sonra size mail adresinizi ve ssl oluşturmak istediğiniz site adresini soruyor.Buraya kullanmak istediğiniz alan adını yazın.
    Örnek

    example.com, www.example.com

    Oluşturulan keyleri

    /etc/letsencrypt/live/domain ismi/

    dizininin altına oluşturuyor.
    Daha sonra kullandığınız webserver a göre ayarlarınızı yapmanız gerekiyor.
    Örnek olarak nginx de şu şekilde yapılır.

    server {
     #http ye geln istekleri https e yönlendiriyoruz.
           listen 80;
            server_name example.com www.example.com;
            return 301 https://$host$request_uri;
    }

    server {
            listen 443 ssl;
            server_name example.com www.example.com;

            ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
            ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
            ssl_prefer_server_ciphers on;
            ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

            root /var/www/example.com;
            index index.php;
    #
           location / {
                    try_files $uri /index.php;
            }

            location ~ /.well-known{
                    allow all;
            }

            location ~ \.php$ {
                    try_files $uri =404;
                    fastcgi_pass unix:/var/run/php5-fpm.sock;
                    fastcgi_index index.php;
                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    include fastcgi_params;

            }
    }

    Ayarlarımızı yaptıktan sonra webserver restart ediyoruz.
    Sitemize tekrar giriş yaptığımızda https ile bağlantı yaptığımızı göreceksiniz.
    Gelelim ssl sertifikasının yenilenme ayarlarının yapılmasına.
    web serverimizda location izni veriyoruz.

    location ~ /.well-known{
                    allow all;
            }

    Aşağıdaki kodu kullanarak ayar dosyasının örneğini kopyalıyoruz.

    cp /opt/letsencrypt/examples/cli.ini /usr/local/etc/le-renew-webroot.ini

    Daha sonra editor ile ayar dosyamızı açıyoruz.

    nano /usr/local/etc/le-renew-webroot.ini

    içeriği şu şekilde olmalı

    rsa-key-size = 4096

    email = info@example.com(buraya sizin mail adresiniz gelecek)

    domains = example.com, www.example.com(Buraya sizin sertifika oluşturduğunuz domainler)

    webroot-path = /var/www/example.com(Buraya websitenizin dizini gelecek)

    Dizin olarak letsencrypt i indirdiğimiz dizine geçiyoruz.

    cd /opt/letsencrypt/

    Aşağıdaki komutu çalıştırıyoruz.

    ./letsencrypt-auto certonly -a webroot --renew-by-default --config /usr/local/etc/le-renew-webroot.ini

    Kontrol yapacak dosyayı curl ile indiriyoruz.

    curl -L -o /usr/local/sbin/le-renew-webroot http://do.co/le-nginx-renew

    Çalışma izni verelim.

    chmod +x /usr/local/sbin/le-renew-webroot

    Kaç gün kaldığını control etmek için indirdimiz komut dosyasını kullanacağız.

    le-renew-webroot

    Bunu cron la otomatik hale getirelim.

    crontab -e
    30 2 * * 1 le-renew-webroot >> /var/log/le-renewal.log

    Cron servisini tekrar başlatıyoruz.

    service cron restart

    işlemimiz tamamlanmıştır.
    yararlı olması dileğiyle.

    GitHub temel biçimlendirme sözdizimi

    Merhaba arkadaşlar.
    GitHub üzerinde basit söz dizimleriyle etkili belgeler oluşturun.
    Kullanabileceğiniz söz dizimleri başlıca şunlardır.

  • Headings
  • Styling text
  • Quoting text
  • Quoting code
  • Links
  • Section links
  • Relative links
  • Lists
  • Task lists
  • Mentioning users and teams
  • Referencing issues and pull requests
  • Using emoji
  • Paragraphs and line breaks
  • Ignoring Markdown formatting

  • Başlıklar(Headings):
    Başlıklarda # işareti kullanılır.# işaretinden sonra boşluk bırakıyoruz başlık olabilmesi için.# işaretini html deki h1 tag ı gibi düşünebilirsiniz.
    Bir # işareti en büyük başlık iki ## işareti bir alt başlık üç ### işareti onun bir altı diye devam eder.
    Örnek vermek gerekirse

    # Birinci başlık
    ## ikinci başlık
    ### üçüncü başlık

    Yazıları biçimlendirme(Styling text):

    Stil Söz dizimi Klavye kısayolu Örnek Çıkış
    Kalın ** ** veya __ __ command/ctrl +b **Kalın yazı örneği** Kalın yazı örneği
    italik * * veya _ _ command/ctrl +i **italik yazı örneği** italik yazı örneği
    Üstü çizili ~~ ~~ ~~çizili yazı örneği~~ çizili yazı örneği
    Kalın ve italik ** ** ve _ _ **Kalın ve _itailk_ yazı** Kalın ve itailk yazı

    Metni alıntı yapma(Quoting text):
    Metnin alıntı olduğunu göstermek için başına > işareti koyuyoruz.

    > Metin alıntısı

    | Metin alıntısı


    Kod alıntı yapma(Quoting code):
    Kod alıntısı yapmak için ` ` işareti kullanılır.
    Örnek vermek gerekirse

    Bu gün günlerden `Kod yazma` günü

    Bu gün günlerden kod yazma günü

    Satır birden fazla olacaksa

    Kod yazmak
    ````
    Sabır
    Emek
    Dikkat
    ````
    ister.

    Liste kullanımı (Lists):
    GitHub belgelerinde liste yapmak için – veya * işareti kullanılır.
    Eğer listeyi tab tuşu yaparak girintili bir şekilde yazarsanız gruplayarak yazar.

    - ekmek
    - su
    - peynir
  • ekmek
  • su
  • peynir

  • Görev listesi (Task lists):
    Görev listeleri oluşturmak için – [] işareti kullanılır.
    Tamamlanmış görev için – [x] yazın.
    Örnek

    - [x] ekmek alındı
    - [] su al
    - [] peynir al
  • ekmek alındı
  • su al
  • peynir al

  • Mention kullanma (Mentioning users and teams):
    GitHub belgelerinde mention kullanmak için @ işareti kulanmalısınız.
    Örnek

    @gitHub/ramazantufekci
    Issue ve pull isteklerine referans verme (Referencing issues and pull requests):
    Belge de referans vermek istediğiniz ıssue ve pull isteklerin numarasının başına # işareti koyuyoruz.

    Emoji kullanmak (Using emoji):
    Belgelerde emoji kullanmak için iki nokta(:emoji: ) arasına kullanmak istediğimiz emojiyi yazıyoruz.
    Örnek

    :shipit:

    Paragraf ve satır sonları (Paragraphs and line breaks):
    Satırlar arası boş bir satır bırakarak paragraf oluşturabilirsiniz.
    Örnek

    Bu bir satırdır.

    Bu ikinci satırdır.

    Escape işlemi (Ignoring Markdown formatting):
    Özel karekterlere izin vermek için başına \ işareti kullanıyoruz.

    Windows komut satırından mail atmak

    Merhaba arkadaşlar
    Windows makinelerde kontroller için yazdığımız batch lerin işini yaptıktan sonra mail atmasını istiyoruz.Bunun için farklı yollar olsada(powershell vb) ben onlarla uğraşmak yerine C# da kendim kodladım.
    Programın kullanımı basit yazdığınız batch de mail atmak istediğiniz yere aşağıdaki kodları yazmanız yeterli.

    mailto.exe konu="konu kısmı" msj="mesaj içeriği" alici="ramazan@example.com;info@example.com;tc@example.com"

    Alıcı mail adreslerini ; ile ayırırsanız tek seferde birçok kişiye mail atabilirsiniz.
    Kurulumu yok batch I oluşturduğunuz klasörün içine program dosyalarını atmanız yeterli.
    Aşağıdaki link den indirebileceğiniz zip dosyasının içinde bulunan ayar.xml dosyasını kendi mail ayarlarınıza göre düzenlemelisiniz.
    Mailto programını indir.
    Uygulamnın kaynak kodlarına bu adresden ulaşabilirsiniz.

    Php ile hürriyet rss den haber çekme

    Hürriyet haber sitesinin sunduğu rss ile sitenize ,facebook sayfalarınıza (vb) yerlerde kullanmak için rss kaynağındaki haberlerden yararlanabilirsiniz.Aşağıdaki kodları kullanarak rss kaynağında bulunan haberleri parse edebilirsiniz.Örnek olması için gündem rss kaynağını kullandım.Siz url değişkenini değiştirerek kullanmak istediğiniz rss kaynak url sini yazabilirsiniz.
    Yararlı olması dileğiyle.

    <?php
    $url = "http://www.hurriyet.com.tr/rss/gundem";
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    $data = curl_exec($ch);
    curl_close($ch);

    $parse = new SimpleXMLElement($data);
    foreach($parse->channel->item as $item){
        echo "Haber resmi :".str_replace("file://","http://",$item->enclosure["url"])."<br />";
        echo "Haber başlığı : ".$item->title."<br />";
        echo "Haber içeriği : ".$item->description."<br />";
        echo "Haber linki : ".$item->link."<br />";
    ?>

    Outlook 2007 Çince oldu düzeltme aracı

    Office 2007 güncelleme sonrası outlook programı çince oluyor.Bu sorunu gidermek için son yüklenen gülcellemeleri kaldırabilir veya sistem geri yükleme yapabilirsiniz.Başka bir yol olarak da bizim hazırladığımız düzeltme aracını kullanabilirsiniz.Düzeltme aracını aşağıdaki link ten windows sürümünüze uygun olanı indirin. Uygun bir yere rar veya zip dosyasını açın çalıştırıp onar butonuna basın.
    Windows xp için Düzeltme aracını Indirin.
    Windows 8-10 için Düzeltme aracını Indirin.
    Not :Windows 7-8-10 sürümlerinde uygulamaya sağ tıklayıp yönetici olarak çalıştır demeniz gerekmekte.

    wordpress de wp-json özelliğinin kapatılması

    WordPress 4.7.1 sürümüyle res-api özelliğini duyurdu.Bizde güncelleme var diye wordpress i güncelledik.Fakat wordpress in 4.7.1 sürümüyle gelen rest-api de açık bulundu.Kötü niyetli kişi post id ile içeriği değiştirebiliyor.Bu yüzden rest-api yi kapatmak isteyebilirsiniz.Wordpress in bunun için bir plugini var.isterseniz wp-includes/rest-api/class-wp-rest-server.php php dosyasını düzenleyerek kapatabilirsiniz.Bu dosya bir class __construct() yapıcı methoduna die(); eklerseniz sayfa bilgi sağlamayacaktir.Aynı işlemi wp-includes/rest-api/class-wp-rest-request.php php dosyasında da yapabilirsiniz.Bazen güncellemek sizi korumuyor demek ki.

    Windows 8.1 ve Windows 10 da .NET Framework 3.5’i aktif etme

    Merhaba arkadaşlar bu yazı da windows 8 ve üzeri sürümlerde .Netframework nasıl aktif edilir onu anlatacağım.
    Normal yoldan(Denetim masası>program yükle kaldır>windows özelliklerini ac/kapa) kurmayı herkes bildiği için ben komut satırından nasıl kurulur onu anlatacağım.Yükleme yapacağımız bilgisayara windows 8 se, windows 8 dvd si windows 10 sa, windows 10 dvd si takıyoruz.Komut satırını administrator mode da çalıştırıyoruz.Yazacağımız komut

    DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:E\sources\sxs

    Komutu yazdık çalıştırdık gerekli kopyalamayı yaptıktan sonra kurulumu yapacaktır.
    Eğer kurulumu bu şekilde tamamlayamadıysanız.Windows settings
    Bilgisayar ayarlarını değiştiri tıklıyoruz.
    Windows recovery update
    Güncelleştirme ve kurtarma ya basıyoruz.
    windows adventage startup
    Kurtama yı tıklıyoruz.Gelen ekranda gelişmiş başlangıç yeniden başlat diyoruz.
    Önümüze sorun gider ekranı geliyor orayı tıklıyoruz.Gelen ekrandan komut istemini tıklıyoruz.
    Bilgisayar komut ekranında bizi karşılıyor burada şu komutu veriyoruz.

    DISM /Image:C:\ /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:E:\sources\sxs

    Bur da dikkat etmemiz gereken yer Image:C: yazdığımız yer bizim Windows umuzun kurulu olduğu yer.
    Source:E:\sources\sxs yazan yer ise Windows dvd mizin içindeki dosyaların yoludur.
    yararlı olması dileğiyle.