Aramayan Bulamaz
×
Tanımlama arama sorgusuna ait içerikleri görüntülemektesiniz.
MongoDB Kurulum ve Konfigurasyonu (Kullanıcı Yetkilendirmesi ve SSL Kurulumu)

Linux işletim sistemine MongoDB kurulumu için öncelikle MongoDB repolarını işletim sistemine eklemeniz gerekmekte.

Linux Redhat / CentOS

1. Adım: /etc/yum.repos.d/mongodb-org.repo dosyasının içerisine aşağıdaki bilgileri eklemeniz gerekmekte. Şu anda son sürüm 4.0 daha sonra farklı bir sürüm çıkarsa eğer o sürüme ait olan repoyu eklemeniz gerekecektir. Güncel MongoDB sürümünü  bu bağlantıdan öğrenebilirsiniz.

[mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

2. Adım: Kurulum

yum install -y mongodb-org

Ubuntu

1. Adım: MongoDB servisine ait public key bilgisini işletim sistemine import etmemiz gerekiyor

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

2. Adım: /etc/apt/sources.list.d/mongodb-org.list dosyasının içerisine aşağıdaki bilgileri eklememiz gerekmekte.

Ubuntu 14.04 için

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Ubuntu 16.04 için

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

3. Adım: Paketleri güncelle

sudo apt-get update

4. Adım: Kurulum

sudo apt-get install -y mongodb-org

Konuya CentOS üzerinden devam edeceğim. Kurulum işlemi sonrasında service mongod start komutunu vererek servisi başlatabilirsiniz. MongoDB kurulumu tamamlandı ve kullanıma hazır durumda terminal üzerinden mongo komutunu vererek MongoDB'nin shell ekranına giriş yapabilirsiniz. MongoDB daha &ou

Bash Script ile Otomatik Iptables Kuralları Tanımlama

Bir başka konumda temel Iptables kullanımı ile ilgili bilgi vermiştim. Iptables üzerinde çok işlem yapıyorsanız eğer, yeni IP adreslerine izin tanımlama farklı portlara izin tanımlama gibi, sürekli sürekli aynı komutları yazmak sıkıcı gelebilir. Aşağıdaki paylaştığım script ile bu işlemi kısa sürede halledebilirsiniz.

#!/bin/bash # Muhammed Niyazi ALPAY # https://niyazi.org function iptablesrules(){ echo "" echo "==========================================================" echo "" read -p "IP adreslerini aralarında virgül ile birlikte giriniz: " ipaddresses echo "" read -p "Port numaralarını aralarında virgül ile birlikte giriniz: " ports echo "" echo 0 > /proc/sys/net/ipv4/ip_forward iptables -A INPUT -p tcp -m multiport --dports $ports -s 127.0.0.1,$ipaddresses -j ACCEPT iptables -A INPUT -p udp -m multiport --dports $ports -s 127.0.0.1,$ipaddresses -j ACCEPT iptables -A INPUT -p tcp -m multiport --dports $ports -j DROP iptables -A INPUT -p udp -m multiport --dports $ports -j DROP echo 1 > /proc/sys/net/ipv4/ip_forward echo "" echo "==========================================================" echo "" echo "İşlem başarı ile tamamlandı." echo "" echo "==========================================================" echo "" } read -p "Önceki Iptables kuralları silinsin mi? (e ya da h) " removerule if [ ${removerule} == "e" ]; then echo "Iptables kuralları silindi" iptables --flush elif [ ${removerule} == "h" ]; then echo "" else echo "Lütfen e veya h olarak giriş yapın" fi iptablesrules condition_to_check="False" while [[ ${condition_to_check} == "False" ]]; do read -p "İşleme devam edilsin mi? (e ya da h) " query if [ ${query} == "h" ]; then condition_to_check="True" elif [ ${query} == "e" ]; then iptablesrules else echo "Lütfen e veya h olarak giriş yapın" fi done chkconfig iptables on service iptables save echo "" echo "===========

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

PHP Nesne Tabanlı Programlama

Nesne tabanlı programlama, yazılım geliştirmek için kullanılan bir teknolojidir. OOP yani object-oriented programming, Türkçe karşılığı nesne tabanlı programlama, sağladığı standartlarla bileşen (component) programlamasını kolaylaştırmaktadır. C# temelinde nesne tabanlı bir dildir. Çok sayıda nesne hazır olarak C# içerisinde bulunur ve bu nesneler kullanılarak program yazılır. Ayrıca kendimiz de bir sınıf yazabiliriz.

OOP üç prensibe sahiptir.

Encapsution Inheritance Polymorphism

Encapsulation: Nesne hakkındaki bilgiler ve işlemlerdir. Metot ve özellik olarak adlandırılan bu işlemler nesnenin niteliklerini ortaya çıkartır. Bir arabanın rengi ve büyüklüğü gibi.

Inheritance: Nesnenin başka bir nesne üzerine, bir üst nesneden etkilenerek, kurulmasıdır. Bir bilgisayarın parçalardan oluşması ve parçalarında bilgisayarın tam nesnesinden etkilenmesi.

Polymorphism: Belirli bir işlemin bir çok nesne tarafından kullanılmasıdır.

PHP de Nesne Tabanlı Programlama

PHP de nesne tabanlı programlamayı anlayabilmek için ilk önce PHP'nin temel yapı taşları olan fonksiyonlar ve değişkenler konusunda tam bir bilgiye sahip olmak gerek.

Bir sınıf oluşturmak için class komutunu kullanırız.

sinif.php isminde bir dosya oluşturalım

<?php class bilgisayar{ } ?>

sınıfımızın içi boş bundan sonra buraya değişken tanımlaması ve fonksiyondan başka bir şey yapamayız, yapacağımız her işlem için fonksiyon yazmamız gerek. Burada mantık şu, yazacağımız sınıfa özel olan fonksiyonu yazıp gerektiği yerde gereken fonksiyonu çağırmamız gerek, veritabanı sınıfı yazıp içine grafiksel istatistik çıkaran bir fonksiyon yazmamız uygun olmaz.

<?php class bilgisayar{ public $marka, fiyat; function marka_tanimla($yenimarka){ $this->marka = $yenimarka; } function marka_goster(){ return $this->marka; } } ?>

HTML Nedir ve Ne İşe Yarar ?

HyperText Markup Language, zengin metin işaretleme dili, günümüzde web üzerinde veri paylaşımı için kullanılan bir metin dilidir, son sürümü HTML5'tir.

HTML programlama dili değildir, kendi başına çalışan bir program yazılamaz html kodlarıyla. HTML ile yazı, resim, video gibi verileri içeren sayfalar birbirlerine bağlanır. İnternette gördüğünüz her sayfanın yapısı htmldir. Sayfa kaynağına baktığınızda
<html>
  <head>
     <title>Sayfa Başlığız</title>
  </head>
<body>
   Sayfa içeriği
</body>
</html>
gibi kodlar görürsünüz. Burada temel bir html sayfasının kodlarını görmektesiniz.
<title> etiketi içerisinde sayfanın başlığı belirtilir, sayfanın web tarayıcısındaki görünen başlık kısmı.
<body> etiketi içerisinde ise sayfadaki görüntülenecek olan içerikler eklenir.

Html etiketleri Türkçe karakter içermezler.
< ve > işaretleri arasında yazılırlar.
<tagismi>olarak başlar ve </tagismi> olarak kapatılır.

Etiketler iç içe açılabilirler. En son açılan etiket en başta kapatılır

<strong><em>Kalın ve eğik yazı</em></strong>

Örnekte de gördüğünüz gibi strong etiketinin ardından em etiketi açılmış, ilk önce em sonra strong kapatılmış. Strong etiketi kalınlaştırmak için em etiketi de eğik yazı için kullanılmaktadır.

Bazı taglar parametre içerebilirler, örneğin img etiketi sayfaya resim eklemek için kullanılmakta ve bu eklenilen resmin yükseklik ve genişliğini belirtmek için width ve height parametreleri kulalnılır;

<img src="resimyolu" width="genişlik değeri" height="yükseklik değeri" />

Bazı etiketler kapatılamak zorunda değildir, img etiketi de bunlardan biridir.

Genel Sayfa Yapısı

Sayfa <html> etiketi ile başlar ve </html&g