Linux Sistem Yönetimi hakkında temel bilgileri içerir.
1. Linux Dağıtımları
2. KomutSatırı
3. Text İşlemleri
4. KullanıcıYönetimi
5. İşlemler
6. İzinler
7. Dosyaİşlemleri
Linux'a Giris ve VirtualBox a Ubuntu KurulumuAhmet Gürel
Bu döküman Linux nedir neden tercih edilir gibi sorulara cevap arayanlara kısa bir bilgilendirmeden sonra Sanal makinaya Linux Ubuntu dağıtımının kurulumunu göstererek genel linux terminal ve komutlarının anlatımıyla son bulmaktadır.Lİnux ve özgür yazılım farkındalığını artırmak için giriş seviyesinde bir dökumandır.İşinize yaraması dileğiyle iyi çalışmalar.Soru,görüş ve önerileriniz için ahmet@gurelahmet.com a mail atabilirsiniz.
Linux Sistem Yönetimi hakkında temel bilgileri içerir.
1. Linux Dağıtımları
2. KomutSatırı
3. Text İşlemleri
4. KullanıcıYönetimi
5. İşlemler
6. İzinler
7. Dosyaİşlemleri
Linux'a Giris ve VirtualBox a Ubuntu KurulumuAhmet Gürel
Bu döküman Linux nedir neden tercih edilir gibi sorulara cevap arayanlara kısa bir bilgilendirmeden sonra Sanal makinaya Linux Ubuntu dağıtımının kurulumunu göstererek genel linux terminal ve komutlarının anlatımıyla son bulmaktadır.Lİnux ve özgür yazılım farkındalığını artırmak için giriş seviyesinde bir dökumandır.İşinize yaraması dileğiyle iyi çalışmalar.Soru,görüş ve önerileriniz için ahmet@gurelahmet.com a mail atabilirsiniz.
http://www.slideshare.net/AhmetGrel1/linuxa-giris-ve-kurulum
Bu döküman linkte ki bir önceki dökümanın devamıdır.Bu sunumda Temel Linux Kullanımı ve Komutlarını anlatmaya çalıştım.şinize yaraması dileğiyle iyi çalışmalar.Soru,görüş ve önerileriniz için ahmetgurel.yazilim@gmail.com a mail atabilirsiniz.
http://www.slideshare.net/AhmetGrel1/linuxa-giris-ve-kurulum
Bu döküman linkte ki bir önceki dökümanın devamıdır.Bu sunumda Temel Linux Kullanımı ve Komutlarını anlatmaya çalıştım.şinize yaraması dileğiyle iyi çalışmalar.Soru,görüş ve önerileriniz için ahmetgurel.yazilim@gmail.com a mail atabilirsiniz.
Web Uygulama Güvenliği Ve Güvenli Kod Geliştirme Eğitim NotlarımNur Yesilyurt
Linux Yaz Kampı 2014 bünyesinde gittiğim Web Uygulam Güvenliği Ve Güvenli Kod Geliştirme Notlarımı içermektedir.
En güncel hali her zaman Github üzerinde olacaktır. En sağlıklısı ordan edinmeniz olur.
Github repo linki: https://github.com/1zinnur9/wGuvenlik_LYK14
1. Touchconfig.conf içi boş bir dosya yarat
Sudo vim config.conf düzenle
CONFİG.CONF
Dbpath = /data/db
Bind_id = 127.0.0.1 -> istekleri hangi ip den
Port : 27017 hangi port tan
Config Dosyalarına şurdanhttp://docs.mongodb.org/manual/reference/configuration-options/
Smallfiles =>true yarattığı dosyalar 64 mb den daha küçük olacaktır.
Replication
http://docs.mongodb.org/manual/replication/
1.
Her bir sunucu 2 sn bir bir birlerine pingatarlar , 10sn den fazla atılmazsa sunucu iptal durumdadır. Secondarylerprimary ölmüştür der. Ping
atarken memorydurumu , makinanın durumu kendi primaryolabilirmi . Primary giderse aralarında karar verirler , hepsinin bir oy hakkı vardır.
Sunucularda çekimse oy yoktur. Ölen primary hayatınasecondary olarak devam eder.
2.
Çoğunluk secondary giderse , ?
3 tane datadir oluşturuldu. /data/db/rs0/rs0-1 ( 2 / 3 )
Replica Set oluşturmak için ve başlatmak içinhttp://docs.mongodb.org/manual/administration/replica-sets/
Linux :./mongod --replSet rs0 ( ad ) --dbpath /data/db/rs0/rs0-1 --port 27000 ( 27001,2002)
Windows :mongod --replSet rs0 --dbpath C: datadbrs0rs0-1 --port 27000
Burda –configvererek replSet vermeye gerek yok
2. Oluşturduğumuz replica setlerine bağlanmak için mongo - -port 27000
Primary Oluşturmak İçin ?Replica set oluşturup eklemek için
o mongo --port 27000 ( bir tanesi bağlandık , primary yapmak iiçin)
o conf = {_id:"rs0", members: [{_id:0, host:"127.0.0.1:27000"}]}
o rs.initiate(conf)
o rs.add(“”127.0.0.1:27001”)
o rs.status()
o rs.stepDown() hemen secondary ye döndü
o Secondarylerde okuma yazma yapamıyoruz. db.setSlaveOk(true) dersek SECONDARY de collectionslarıfelangörebiliriz. Önce hangi
veritabanına bağlanacağız
Daha sonra bu komutu kullanalımki hata vermesin.
o Her makinanın oy verme hakkını biz verebiliriz , fikir belirtmeme hakkı yok. Arbiterlarreplica setlerinde oy kullanmak için eklenir, çift sayılı
olması durumunda eklenir özellikle.http://docs.mongodb.org/manual/tutorial/add-replica-set-arbiter/ . Arbiter çok hafiftir , secondary veya
primary aynı makinada olabilir.
o Aşağıdaki işlemi Primary veya secondary de yapıyoruz.
Conf = rs.conf()
Conf.members[2].priority =.5
Conf.members[0].votes = 2
Rs.reconfig(conf) -- Secondary den confige izin vermiyor
Conf.members[0].arbiterOnly = true => herhangi bir primary veya secondaryi ( Son versiyonda secondary veya primary ise
değştiremiyrouz )
rs.addArb(“127.0.0.1:27017”) = >arbitary eklemek için
Arbitary başlatmak için ???
Conf.members*2+.priority = 0 ( primary olmasını istemediğimiz makinaya 0 veriyoruz )
Configuration Dosyam
o dbpath = c:datadb
o bind_ip = 127.0.0.1
o port = 27017
o replSet = rs0/127.0.0.1:27000 , 127.0.0.1:27001 , 127.0.0.1:27002
Config ile başlatmak için
o Mongod –port 23000 --config C:dataconfig.conf
3. OPLOG
>mongod -replSet rs0 --dbpath C:datadbrs0rs0-1 --port 27000 --smallfiles-–diaglog –-oplog 1
Yapılan işlemler log için.
SHARDİNG
MongoDB verdiğimiz şartlara göre read ve writeları makinalara gönderiyor.
Config sunucusu bulunur , Mongosconfig sunucusundan bilgileri çekiyor.
ShardKey en önemlisi .
Her uygulamaya bir Mongos.
3 tane config sunucusu bulunur.
Shardların içerisinde REPLİCA SET lerden oluşuyor. Ama Shardlar bir birinden bağımsızdır.
4.
cd C:datadbshard sonra sh0 , sh1 oluşturuldu
mongod –-configsvr –-dbpath C:datadbshardconfigdb --port 27000
mongos –-configdb 127.0.0.1:27000 ( mongosa senin config sunucun bu diyorum )
sonra bağlanıyorum >mongo diyorum ( eğer port default 27017 olmasaydı veririz )
bağlanınamongos> denemesi lazım
artık shardlamayabaşlayalım :
o sh.addShard(“127.0.0.1:27010”) eğer replica set ekleyeceksek ;
sh.addShard(“rs0/127.0.0.1:27001,127.0.0.1:27002,127.0.0.1:27003”)
db.adminCommand({addShard:”rs0/127.0.0.1:27001,127.0.0.1:27002,127.0.0.1:27003”})
o tekrar bağlandım mongo diyerek
o sh.status()
o sh.ebableSharding(“deneme”) hangi veritabanını yaptığıma bakıyorum.
o Sh.shardCollection(“deneme.User”,{“admin”:1,”username”:1})
Önce index le diye hata verir.
db.User.ensureIndex({"admin":1,"username":1})
configserveremongo –port 27000 ile bağlanıyorum
useconfig diyerek bağlandım.
Db.settings.find()
db.settings.save({'_id':'chunksize','value':1})
db.setttings.update({'_id':'balancer'},{$set:{activeWindow:{start:"15:00",stop:"15.05"}}},true)
SECURİTY
db.getSiblingDB("admin")
5. db.addUser({user:"ertugrul",pwd:"ertugrul",roles:["userAdminAnyDatabase"]})
opensslrand –base64 741
config Dosyası>mongod –config [config_path]
o dbpath = c:datadb
o bind_ip = 127.0.0.1 , 10.0.0.1 , 192.168.3.10
o port = 27017
o auth = true # eğer localhosten girenin admin olmasını istemiyorsak
o enableLocalhostAuthBypass = false # default u true dur
o #keyFile = /mongo/bin/key
o #fork = true
o logpath = /mongo/bin/mongod.log
o logappend = true
o journal = true
o slowms = 50
o profile = 2
o verbose = true
o vvvvv = true
o dialog = 0 , 1 ,2 , 3 , 7
BACKUP
Backup almak için
o mongodump --dbpath C:datadb --out C:databackup
o mongodump –host 127.0.0.1 –port 27017
o indexleribackup olarak almaz eğer sadece collectionbackup alacaksak. Ama bir database in alacaksak alır.
o mongorestore
db.copyDatabase(“deneme”,”deneme2”,”127.0.0.1”)
db.cloneDatabase(“127.0.0.1:27017”)