Kategori arşivi: Kendime Not

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.

    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.

    WordPress de eklentisiz facebook share button ekleme

    Merhaba arkadaşlar bu yazımda sizlere wordpress üzerinde eklenti kurmadan facebook share button nasıl eklenir onu göstereceğim.
    Wordpress de kullandığımız tema klasöründeki header.php dosyasını açıyoruz.
    Facebook share button
    Resimde görüldüğü gibi

    <div id="main" class="wrapper">

    div in altına aşağıdaki kodu yapıştırıyoruz.

    <div id="fb-root"></div>
    <script>(function(d, s, id) {
      var js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) return;
      js = d.createElement(s); js.id = id;
      js.src = "//connect.facebook.net/tr_TR/sdk.js#xfbml=1&version=v2.7";
      fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));</script>

    Paylaş butonunun her yazının altında çıkması için tema klasörümüzdeki content.php dosyasını açıyoruz.

    <footer class="entry-meta">

    tag ını buluyoruz.
    Aşağıdaki kodları hemen altına yapıştırıyoruz.

    <div class="fb-share-button" data-href="<?php the_permalink();?>" data-layout="button_count" data-size="small" data-mobile-iframe="true"><a class="fb-xfbml-parse-ignore" target="_blank" href="#">Paylaş</a></div>

    Not : Benim kullandığım tema twentytwelve örnek de ona göre yapılmıştır.Siz kendi temanıza göre düzenlersiniz.

    ilk verilen kodlar body tag ı içinde olmalı.

    MySQL de son satırdaki veriyi alma

    Merhaba arkadaşlar
    Bu gün MySQL de tablolarda bulunan son satırdaki veriyi nasıl alabiliriz onu anlatacağım.
    MySQL de tablolar oluştururken genelde id oluştururuz.Bu id ler benzersiz ve sırayla gidecek şekilde ayarlanır.
    Biz burdan yola çıkarak id leri büyükten küçüğe doğru sıralayacağız.Bu şekilde oluşturacağımız sorgu tablodaki son satırı getirecektir.
    Örnek kod

    SELECT * FROM `city` ORDER BY ID DESC LIMIT 1

    Yukarıdaki sorgu kodumuzla city tablosunda id değeri en yüksek bir satırı getirdik. Mysql Order by

    Limit değerini yükselterek daha çok satır elde edebiliriz.

    SELECT * FROM `city` ORDER BY ID DESC LIMIT 5

    Mysql Order By LIMIT 5
    Birde php de örnekleyelim.

    <?php
    /*
    *mysqli db connect
    *site:http://www.ramazantufekci.com
    */
    /*
    *Bağlantı Kuruluyor
    *parametreler sırasıyla host,kullanıcı ismi,şifre,database ismi
    */
    $db = new mysqli("127.0.0.1","root","şifre","world") or die("mysql bağlantısı yapılamadı !");
    //Mysql bağlantısı yapılmışsa karakter set ini ayarlıyoruz
    if(!$db->set_charset("utf8")){
        echo "karakter set i ayarlandi";
    }
    //City tablosundaki son satırı getirelim.
    $kaynak = $db->query("SELECT * FROM city ORDER BY ID DESC LIMIT 1");
    var_export($kaynak->fetch_object());
    $db->close();

    ?>

    Kodları çalıştırdığımızda aşağıdaki gibi bir sonuç elde etmiş olacağız.
    Php Mysql Order By LIMIT
    Yararlı olması dileğyle

    C# Regedit de Outlook ayarlarını düzenleme kodu

    Selamun aleykum
    Program regedit de bulunan outlook profilinde verdiğiniz değerlere göre değişiklik yapar.
    Geliştirilmeye açık olduğundan programın açık kaynak koduna Buradan erişebilirsiniz.
    Outlook un versiyona göre regedit kayıtları farklı yerlerdedir.
    Outlook 2007 için alttaki yoldayken.

    HKEY_CURRENT_USER\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows Messaging Subsystem\\Profiles\\Outlook\\9375CFF0413111d3B88A00104B2A6676

    Outlook 2013 için ise alttaki yoldadır.

    HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Office\\15.0\\Outlook\\Profiles\\Outlook\\9375CFF0413111d3B88A00104B2A6676

    Programı geliştirirken bunlara dikkat ettiğiniz taktirde sorun yaşamazsınız.
    Örnek kod da outlook 2007 ve outlook 2013 için office365 ayarları yapmak için ayarlanmıştır.
    yararlı olması dileğiyle

    C# Jdownloaderın folder watch eklentisi için örnek kod

    Merhabalar Bu gün c# la jdownloaderin folder watch eklentisi için nasıl otomatik dosyalar oluşturabiliriz onu göstermeye çalışacağım.Projenin kodları GitHub adresinde.jdfolder
    Örnek uygulamamız verilen youtube kanalının video linklerini çekip jdownloader a indirmesi için ekler.

    Outlook 2013 de nk2 dosyasini import etme

    Merhaba arkadaşlar bu aralar firmadaki bilgisayarlarda office uygulamalarını güncelliyoruz.
    Güncellerken sorunlarla karşılaşıyoruz.Eski kurulumlarda pst dosyalarını ve nk2 dosyalarını yerlerine koyduğumuzda outlook uygulaması bunları sorun yapmadan görüyordu.
    Fakat office 2013 de nk2 dosyalarını yerine koysanız bile ön tanımlı mailler outlook da çıkmıyor.
    Bir kaç denemeden sonra arama motorlarına başvurdum.
    Microsoft un sitesinde

    outlook.exe /importnk2

    diye bir kod buldum.
    Office 2013 kurulu olan makineye bu komutu çalıştırdan verdiğinizde nk2 dosyasını outlook görüyor ve ön tanımlı mailler mail adreslerini yazarken ekranda çıkıyor.
    Bu konu da dikkat etmeniz gereken outlook profiliyle nk2 dosyasının isimlerinin aynı olması.
    Nk 2 dosyaları office 2007 ve 2010 için

    C:\Users\<kullanıcı ismi>\AppData\Roaming\Microsoft\Outlook

    bu kullanılmaktadır.
    office 2013 içinse

    C:\Users\<kullanıcı ismi>\AppData\Local\Microsoft\Outlook\RoamCache

    bu yol kullanılmaktadır.klasörün içindeki *.dat uzantılı streamAutocomplete ile başlayan dosyalarda tutuluyor isimler.
    sağlıçakla kalın.