Yazar arşivleri: Ramazan Tüfekçi

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.

    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ı.

    Windows da bilinmesi gereken komutlar

    Bilgisayar ismini gösterir.

    hostname

    Bilgisayar kullanıcısının ismini bilgisayar ismiyle beraber verir.

    whoami

    Komut satırında ekrana kullanıcı ismini yazar.

    echo %USERNAME%

    Bilgisayar da oluşturulmuş kullanıcı isimlerini döndürür.

    net users

    Geçerli kullanıcı hakkında bilgiler verir.(Hangi gruba üye vb.)

    net user %USERNAME%

    Bilgisayar da bulunan sürücü isimlerini döndürür.

    fsutil fsinfo drives

    Komut satırında çalıştırıldığında bilgisayar da tanımlı olan path leri döndürür.

    echo %PATH%

    Çalışan işlemler hakkında bilgi verir

    tasklist /SVC

    Bilgisayar da bulunan network kartlarıyla ilgili detaylı bilgi verir.

    ipconfig /all

    Bilgisayar daki paylaşımları gösterir.

    net share

    Bilgisayar daki arp tablosunu gösterir.

    arp -a

    Bilgisayarın ağ geçidini gösterir.

    route print

    Bilgisayar daki bağlantılarla ilgili bilgi verir.(Hangi port dinleniyor vb.)

    netstat -nao

    Güvenlik duvarıyla ilgili bilgileri döndürür.

    netsh firewall show state

    Güvenlik duvarındaki yapılandırılmış ayarları döndürür.

    netsh firewall show config

    Bilgisayar daki zamanlanmış görevleri döndürür.

    schtasks /query /fo LIST /v

    Bilgisayar da çalışan servisleri gösterir.

    net start

    Dizinlerde arama yapar.(Alttaki komut sistemde bulunan outlook pst dosyasını arar.)

    dir /s *.pst

    Bilgisayar da bulunan servislerle ilgili bilgileri döndürür.Parametreleriyle beraber.

    wmic service get name,displayname,pathname,startmode

    Windows da port yönlendirme

    Merhaba arkadaşlar bu yazı da size windows işletim sistemlerinde port yönlendirme nasıl yapılır onu anlatmaya çalışacağım.
    Windows işletim sistemlerinde port yönlendirmesi

    netsh interface portproxy

    komutuyla yapılıyor.
    Yönlendirme eklemek için

    netsh interface portproxy add v4tov4 listenport=yönlendirilecek port listenaddress=istek alacak makinenin ip adresi connectport=yönlenilen port connectaddress= yönlendirilen ip adresi

    Örnek vermek gerekirse bizim elimizde windows işletim sistemi yüklü makineyle kali yüklü iki makine olsun.
    Windows işletim sistemi yüklü makinenin 80 portunu kali yüklü makinenin 80 portuna yönlendirelim.

    Windows işleitm sistemi yüklü makinenin ip adresi = 10.0.5.71
    kali yüklü makinenin ip adresi = 10.0.5.32

    Buna göre yönlendirme komutu aşağıdaki gibi olacaktır.

    netsh interface portproxy add v4tov4 listenport=80 listenaddress=10.0.5.71 connectport=80 connectaddress=10.0.5.32

    Komutu verdiğimizde windows yüklü makinenin 80 portu kali yüklü makinenin 80 portuna yönlendirilir.
    Yapılan yönlendirmeleri görebilmek için aşağıdaki komutu kullanıyoruz.

    netsh interface portproxy show all

    Yapılan ayarları sıfırlamak için aşağıdaki komutu kullanıyoruz.

    netsh interface portproxy reset

    Sadece yaptığımız ayarı sileceksek aşağıdaki komutu kullanıyoruz.

    netsh interface portproxy delete listenport=80 listenaddress=10.0.5.71

    Konumuzu bir videoyla taçlandıralim.
    Yararlı olması dileğiyle…