Aramayan Bulamaz
×
RAM arama sorgusuna ait içerikleri görüntülemektesiniz.
Plesk Panel Sunucu için Wildcard Lets Encrypt SSL Kurulumu

SSL sertifikaları sunucu ve istemci arasındaki bağlantının şifrelenmesinde kullanılan güvenlik sertifikalarıdır. Piyasada bulunan pek çok SSL sertifikasının yapmakta olduğu işlem aynıdır ancak aralarındaki fiyat farkı prestijlerinden ya da birden fazla alan adı desteği, çoklu alt alan adı desteği gibi özelliklerden kaynaklanmaktadır.

Kendinize özel SSL sertifikanızı da oluşturabilirsiniz ancak bu durumda web tarayıcınız SSL sertifikanızın markasını tanımayacağı için güvenlik uyarısı verecektir. Web tarayıcılarının tanıdığı Rapid SSL, Thawte, GeoTrust, Symantec, Comodo, Lets Encrypt gibi markalardır. Bu SSL sertifikalarının arasında ücretsiz olan SSL sertifikası Lets Encrypt tarafından sağlanmaktadır. Lets Encrypt SSL sertifikası diğerlerinden farklı olarak 4096 bit key desteği vermesidir.

Plesk Panel, Cpanel, Centos Web Panel gibi sunucu kontrol panellerinde de artık Lets Encrypt SSL sertifikası bir eklenti olarak gelmekte ancak bu sunucu eklentilerinde gelen Lets Encrypt SSL sertifikası varsayılanda 2048 bit olarak sertifikayı oluşturmaktadır. Ayrıca Lets Encrypt SSL sertifikasında wildcard (*.alanadı.com yani çoklu alt alan adı), ve san (subject alternative names, birden fazla alan adı) desteği de bulunmaktadır ancak Plesk Panel, Cpanel gibi sunucularda bulunan bu Lets Encrypt eklentisine henüz wildcard ve san desteğinin eklenmediğini görmekteyim. Acme.sh isimli bir script ile Lets Encrypt SSL sertifikanızı kendi isteklerinize göre wildcard, san ve 4096 bit olarak oluşturabilmektesiniz. Ben de bu Acme.sh scriptini kullanarak Plesk Panel sunucu için wildcard ve 4096 bit destekli Lets Encrypt sertifikasını oluşturup sunucu üzerine kurulumunu yapan ayrı bir script hazırladım. Hazırladığım scripti Github sayfam üzerinden indirerek kullanabilirsiniz. Ancak hazırladığım script DNS doğrulaması yaparak SSL sertifikasını aktif hale getirmekte ve doğrulama yapacağı DNS kaydını Cloudflare üzerinde API aracılığı ile oluşt

MongoDB ve NoSQL Kavramı Nedir?

MongoDB bir NoSQL veritabanıdır. NoSQL "not only sql" olarak da açılabilir, yani SQL değil anlamındadır. Çünkü çalıştırılan sorgular bir MySQL ya da MsSQL sistemlerinde alışmış olduğunuz sorgular değiller.

NoSQL Sistemlerinin Avantajları Nelerdir?

Okuma ve yazma konusunda diğerlerine göre daha performanslı olabilirler.

Yatay olarak genişletilebilirler. Yani binlerce sunucu küme oluşturarak çalıştırılabilir ve daha büyük veriler üzerinde daha rahat işlem yapılabilir.

Farklı bir çok özellikleri olması sebebiyle programlama alanında kolaylıklar sağlar.

Maliyet olarak diğer veritabanı sistemlerine göre daha avantajlıdır.


NoSQL Sistemlerin Dezavantajları Nelerdir?

SQL bir veritabanı kullanan uygulamanın NoSQL sisteme taşınması ilk aşamada zor olacaktır. Özellikle join kullanan sorgularda düzenleme yapılması gerekecektir.

NoSQL veritabanı sitemleri veri güvenliği konusunda SQL veritabanlarındaki gibi gelişmiş bir yapıya sahip değiller.


MongoDB'de yukarıdaki dezavantajlarda bahsettiğim gibi güvenlik konusunda ilk kurulumda yetersiz kalmakta. Varsayılan olarak kullanıcı adı ve şifre bulunmamakta. Doğrudan sunucu adresini yazarak veritabanına bağlantı sağlanabilmekte. Bu sebeple veritabanı erişimini sunucu dışına kapatmak gerek ve MongoDB konfigurasyonlarını düzenleyerek kullanıcı yetkilendirmesini açmanız gerek. Kurulum ve konfigurasyonları sonraki konumda açıklayacağım.


MongoDB

10gen firması tarafından 2007 yılında başlanan ve 2009 yılında AGPL lisansıyla açık kaynak projesine dönüştürülen bir veritabanı sistemidir. Belge yönelimli veritabanı olarak tanıtılmaktadır. (Document oriented). MongoDB üzerinde oluşturulan her kayıt bir dökümandır. Bu dökümanlar json formatında saklanır.

MongoDB ve alışılagelmiş S

Linux RAM Temizliği

Linux işletim sistemlerinde, sistem uzun süre açık kaldığında RAM kullanımı yükselmektedir. Bu durum özellikle sunucularda web sitelerinin performansını etkilemektedir. Bu durumun önüne RAM önbelleğini temizleyerek geçebiliriz. Aşağıdaki komutları çalıştırarak RAM kullanımından %70 kadar kazanç sağlayabilirsiniz.

sync; echo 3 > /proc/sys/vm/drop_caches sync; echo 2 > /proc/sys/vm/drop_caches sync; echo 1 > /proc/sys/vm/drop_caches

Bu komutlar çalıştırıldığında herhangi bir sorun teşkil etmez ancak sunucu üzerinde açık olan oturumlar varsa eğer hepsi kapanacaktır.

Temel Iptables Kullanımı

Iptables Linux bilgisayarlarda firewall olarak kullanılan bir yazılımdır. Iptables ile sisteminize gelen ve sisteminizden giden bağlantıları engelleyebilir, farklı bir yere yönlendirebilir veya izin verebilirsiniz. Iptables kurallar zinciri, bu kurallar zincirlerine ait parametreler ve bağlantı hedefleri ile birlikte çalışmaktadır.

Kural Zincirleri
INPUT Gelen paketleri tanımlamak için.
OUTPUT Giden paketleri tanımlamak için.
FORWARD Yönlendirilen paketleri tanımlamak için.
PREROUTING Sadece NAT için geçerlidir. Gelen paketlerin değiştirilmesi için.
POSTROUTING Sadece NAT için geçerlidir. Giden paketlerin değiştirilmsi için.

Kural Hedefleri
ACCEPT Paketlerin geçisine izin vermek için.
DROP Paketlerin geçişini reddetmek için.
REJECT Paketlerin erişimi reddedilir ve gönderici bu konuda bilgilendirilir.
RETURN Zincirin sonuna gönderilir.
QUEUE Paketler kullanıcı alanına gönderilir.

Kural Parametreleri
-A ZİNCİR Zincire kural ekler.
-E ZİNCİR Zinciri yeniden adlandırır.
-D ZİNCİR Zincirden bir kural siler.
-D ZİNCİR Zincirden belirtilen numaradaki kurali siler.
-L ZİNCİR Belirtilen zincirdeki kurallari gösterir.
-E ZİNCİR Zinciri yeniden adlandirir.
-l ZİNCİR Zincirde belirtilen numaralı alana kuralı ekler.
-R ZİNCİR Zincirde kuralın yerine başkasını koyar.
-R ZİNCİR Zincirde belirtilen numaralı alana bir başkasını koyar.
-N ZİNCİR Yeni bir zincir oluşturur.
-X ZİNCİR Kullanıcının eklediği bir zinciri siler.
-F ZİNCİR Zincirdeki kuralların tümünü siler.
-P ZİNCİR Zincire genel politika ekler.

Kural Seçenekleri
! Kuralı tersine çevirir.
-s Bağlantı sağlayacak adresi belirtmek içn kullanılır 127.0.0.1/255.0.0.0 gibi..
-p UDP,TCP,ICMP,ALL bağlantı protokollerini belirtmek içi

Linux\'ta PHP Localhost Dizinini Değiştirmek

Linux'ta localhost klasör değişikliği yapmak için çok fazla bir işleme gerek yoktur. Linux komut satırında php --help yazdığımızda bu komutla ilgili kullanılabilecek parametreler listeleniyor. Biz burada -S ve -t parametrelerini kullanacağız. php -S localhost:81 -S parametresi ile çalıştırmak istediğimiz adres ve port numarasını belirtiyoruz. burada http://localhost:81 adresi üzerinden işlem yapacağımızı belirtmiş olduk. Fakat bu şekilde sayfayı açtığımızda Not Found uyarısıyla karşılaşırız çünkü neredeki dosyaları göstereceğini belirtmedik.
php -S localhost:81 -t /media/flashdisk/site/ Burada da http://localhost:81 adresine bir istek gelince /media/flashdisk/site/ dizinine ait içeriği göstermesi şeklinde belirtmiş olduk. Komutumuzu php -S localhost:80 olarak belirtirsek eğer 80 numaralı portun kullanıldığına dair bir uyarı alabiliriz. İllaki 80 numaralı portu kullanmak istiyorsanız eğer apache servislerini kapatarak çalışmanızı yapabilirsiniz. service apache2 stop php -S localhost:80 -t /media/flashdisk/site/