Aylık arşivler: Kasım 2017

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.