XenServer Iso deposu olusturma

Ocak 24th, 2011

Bana göre Xenserver de ISO dosyasindan bir VM olusturmak icin, en kolay yol bir depo olusturmak.
Bunun icin Linux Test serverimde bir Depo olusturup XenCenter e onu tanittim.
Bunu nasil yaptik hep beraber bakalim.
Baslarkan Internette calisan ve erisile bilinen bir Webserveriniz var sayiyoruz.

Linux Serverimizde smb.conf dosyamizi ayarliyalm

vim /etc/samba/smb.conf

bu satirlari ekleyip kayit edelim:

[ISOS]
comment = ISOs
path = /ISOS
browseable = yes

ardindan sambayi yeniden baslatalim

(daha fazla…)

Kategoriler: Linux

Etiketler:, Yorum Yapılmamış

Jquery Watermark Plugin

Aralık 10th, 2010

Bir projede lazim oldugunda yazmis oldugum Jquery eklentisini eklemek istiyorum.

Plugin input[type=text] alanlarinin title tagini okuyarak gri renkte varsayilan bir deger atiyor.
input alani aktiv oldugunda ise varsayilan deger kayboluyor alani bos birakip terkettiginizde ise varsayilan deger yine otomatik olarak ekleniyor.
Asagidaki resimdede görüldügü gibi,böylelikle kullanicilara o alana nasil bir deger girmeleri gerektiklerine dair ipucu veriliyor.
Simple Jquery Watermark Plugin


(function($) {
	 $.fn.watermark=function(options) {
		 opts = $.extend($.fn.watermark.defaults,options);
		 $('input[type="text"]').each(function() {
			if($(this).attr('title')) {
				$(this).val($(this).attr('title'));
				$(this).addClass(opts.cssClass);
			}
		 });
		 $("input[type='text']").focus(function() {
				if($(this).val() == $(this).attr('title'))
				{
					$(this).val('');
					$(this).removeClass('water')	;
				}
		});
		$("input[type='text']").blur(function() {
				if($(this).val() == '') {
					$(this).val($(this).attr('title'));
					$(this).addClass('water');
				}
		});
		$('input[type="submit"]').click(function() {
			$("input[type='text']").each(function() {
				if($(this).val() == $(this).attr('title')) {
					$(this).val('');
				}
			});
		});
	 };

	 $.fn.watermark.defaults = {
			    cssClass: 'water'
			  };

 })(jQuery);

eklentinin cagrilisi:

$('form').watermark({cssClass:"red"});

“red” eklenecek olan css sinifinin adi.
Eger su sekilde cagrirsaniz

$('form').watermark();

.water adinda bir css sinifi eklenecektir

sinifin icerigi su sekilde ola bilir:

.water {
	color:#c0c0c0;
}

eklentiyi isteginize göre degistire bilirsiniz.
sorusu olan olursa asagidan sora bilir.

ÖRNEK icin tikla

Kategoriler: Javascript/Ajax/Jquery

Etiketler:, Yorum Yapılmamış

ssh anahtarli kimlik dogrulama

Aralık 2nd, 2010

bu yazimizda Ubuntu veya herhangi bir Linux tabanli isletim sistemine, ssh üzeri sifresiz olarak nasil baglanabiliriz ona bakalim.
öncelikle baglanmak istedigimiz local makinada yapmamiz gerekenlere bakalim:

ssh-keygen -t rsa

komutunu calistiriyoruz ve söyle bir cikti elde ediyoruz.
Sorulan sorulari ENTER tusu ile gece bilirsiniz.

root@localhost:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
2a:a1:4b:a4:12:02:34:68:f5:ff:8a:76:b3:74:be:01 root@localhost
The key's randomart image is:
+--[ RSA 2048]----+
|.o..             |
|o.. .            |
|o    .           |
|.     .          |
|o . .  ES        |
|.+ . . .o        |
|o o . .. +       |
|.. . ooo+ .      |
|  . ...ooo.      |
+-----------------+

kullanicinizin home klasöründe .ssh adli bir klasör bulunuyor onun icinde iki tane dosya olusturuldu.

id_rsa ve id_rsa.pub

id_rsa gizli anahtar
id_rsa.pub acik anahtar

id_rsa.pub dosyasini baglanmak istedigimiz servere yükliyelim

scp -P34 /root/.ssh/id_rsa.pub root@85.xx.xx.xx:/home/backup/.ssh

benim id_rsa.pub dosyaim /root/.ssh/ klasörü icinde yüklemek istedigim yer ise serverde backup adli kullanicimin home klasöründe.
.ssh klasörü yoksa olusturun
simdi id_rsa.pub u yükledik bunu authorized_keys dosyasi icine yazmamiz gerekiyor.
servere baglanip /home/backup/ klasöründe bu komutu calistiriyoruz.

cat id_rsa.pub >> authorized_keys
//ardindan id_rsa.pub u siliyoruz
rm id_rsa.pub

simdi gerekli dosya ayarlarini yaparim

chown backup:users /home/backup/.ssh -R
chmod 700 /home/backup/.ssh
chmod 644 /home/backup/.ssh/authorized_keys

simdi sshd_config dosyamizda bir iki satiri aktif etmemiz gerekiyor

vim /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

bu satirlarin basinda # isaretlerini kaldiriyoruz ve kaydediyoruz.
ardindan

/etc/init.d/sshd restart

simdi local makinamizdan baglanmayi deniyelim:

ssh backup@85.xx.xx.xx
Last login: Fri Dec  3 10:47:49 2010 from .....

evet sorunsuzca baglandik.

suan hem bu yöntemle servere baglana bilirsiniz hemde normal sifreyi girerek
ssh ya sifreli baglantiyi tamamen kapatmak isteyenler ola bilir ozaman
sshd_config de su ayarlari yapmaniz gerekiyor

PermitRootLogin yes
PasswordAuthentication no
#UsePAM yes

ardindan sshd yi yeniden baslatin

hepsi bukadar, kolay gelsin.

Kategoriler: Linux

Etiketler: Yorum Yapılmamış

Google playground

Kasım 18th, 2010

Google kisa zaman önce 20 nin üzerinde API si icin bir oyun alani piyasaya sundu.
Her API icin bircok örnek verilmis, edit ekranindan direk degistirip sonucu göre bilirsiniz.

http://code.google.com/apis/ajax/playground/

Kategoriler: Genel

Yorum Yapılmamış

Developers Shame Day

Kasım 3rd, 2010

Biraz gec kalsamda, gece bitmeden utanc gününün kodunu ekliyorum.
Daha öncede yazdigim gibi Cem Derin bugunu kodcularin utanc günü ilan etti. Bizde payimiza düseni ekliyelim.
2006 da yapmis oldugum bir cms icinde bulunan bir kod parcacigi.
Ayni is icin iki ayri fonksiyon iki kezde ayri ayri yazmisim.
Bugun ikisinide kullanmazdim :)


function date2datetime($date) {
		$preg="([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})";
		if(preg_match("/$preg/",$date,$tarih))
			return $tarih["3"]."-".$tarih["2"]."-".$tarih["1"];
	}

function changeDatumtoMysqlDatum($datum) {
	$d = substr($datum,0,2);
	$m = substr($datum,3,2);
	$y = substr($datum,-4);
	$newdatum = "$y-$m-$d";
	return $newdatum;
}

Aslinda 2005 de yazdigim bir c# Projesinin kodlarini ekliyecektim ama proje yi bulamadim.
Onda daha utanc verici satirlar vardi.

Kategoriler: diger Kodlar, PHP

Etiketler: 3 Yorum

www.JOBmich.ch

Ekim 27th, 2010

JOBmich.ch hayata gecti.
Bildigimiz kariyer/Is arama sayfalarinin tam tersine burada is verenler iscileri teklif götürüyorlar.
Is arayanlar üye olup gerekli alanlari dolduruyorlar, ardindan bekliyorlar.
Is verenler geliyor aradiklari iscilerin kriterlerini giriyorlar ve ardindan tüm CV leri bilgisayarlraina pdf olarak indiriyorlar.
Hepsi bukadar.
http://www.jobmich.ch

Kategoriler: Genel

Yorum Yapılmamış

Programcilarin utanc günü

Ekim 27th, 2010

developers shame day
PHPHACKER adli blogda, Cem Derin programcilar icin bir utanc gününe davet ediyor.
Bu utanc gününe katilmak isteyen programcilar 3.11.2010 Carsamba günü, eskiden yazmis olduklari ve simdi o kod icin utanacaklari bir kodu, bloglarinda paylasmalari gerekiyor. Hangi dilde kac yil önce yazildiginin önemi yok, utanc verici bir kod olsun yeterli. bu yaziyi okuyupda katilmak isteyenlerin, o günki yazilarinin linklerini bildirmeleri rica olunur :D
Bende hafta sonu utanc verici bir kod arayisina girecegim eski backuplari karistiracagim, bakalim neler cikicak ortaliga.

Yazinin orjinali Almanca

Kategoriler: diger Kodlar

1 Yorum

CentOS de XenServer Tools kurulumu

Eylül 27th, 2010

öncelikle Xenserver ve bir Guest sistem kurulu olmasi lazim.
Bende Centos 5.5 kurulu, Xs-Tools yüklemek icin Xencenter de Guest sistmimizi seciniz, yukarida Consola tiklayiniz, DVD-Drive de xs-tools.iso seciniz ardindan
su komutlari calistirin

mkdir /mnt/cdrom
mount /dev/xvdd /mnt/cdrom/
cd /mnt/cdrom/
cd Linux/
./install.sh

ardindan sisteminizi yeniden baslatin.

/dev/xvdd bunu xs-tools sectiginiz kutucugun saginda yazan adresle degisiniz.

XenserverTools ne ise yarar?
XenServer tools yüksek performanslı Windows sürücüleri ve bir yönetim aracı saglar

Kategoriler: Linux

Etiketler:, , Yorum Yapılmamış

php ile zip download

Eylül 24th, 2010

bugünki yazimizda php ile bircok dosyayi bir zip arsiv i ile nasil indiririz ona bakacagiz.


$file_names = array("dosya1.pdf","dosya2.pdf","dosya3.pdf");
$archive_file_name = "download.zip";
//zip objesi olustur
$zip = new ZipArchive();
//  dosyayi olustur
  if ($zip->open($archive_file_name, ZIPARCHIVE::CREATE )!==TRUE) {
    exit("cannot open < $archive_file_name>\n");
  }
  //zip e eklenecek olan dosyalari ekle
  foreach($file_names as $files)
  {
   //$file_path.$files filepath dosya yolu, files ise dosya adi,
	//ikinci $files parametresi zip deki dosya adi
    $zip->addFile($file_path.$files,$files);
  }
  $zip->close();
  //header ile download islemini baslattir
  header("Content-type: application/zip");
  header("Content-Disposition: attachment; filename=$archive_file_name");
  header("Pragma: no-cache");
  header("Expires: 0");
  readfile("$archive_file_name");
  exit;

ziparchive php 5.2 ye den sonra eklenmistir, bundan kücük sürüm kullananlar pecl extension u kurmalari gerekiyor.

Kategoriler: PHP

Etiketler: Yorum Yapılmamış

Jquery Validation sonradan kural ekleme

Ağustos 25th, 2010

Selamlar,
ben genelde formlarimi client tarafinda Jquery Validate Plugin i ile kontrol ettitirim.
Iki benzer formum var, ikincisinde ama baska alanlarda bulundugu icin onlari da ekstradan kontroll ettirmem gerekiyor.
Tüm js kodunu kopyalayip yeniden yaza biliriz ama, o tabiki güzel olmaz.
onun icin validator a yama yapalim. nasilmi iste böyle:
ana validator dosyamiz :

$(document).ready(function(){
	$('form#regit div div.element').append('<div class="errormessage" style="display:inline;"></div>');

	var validator = $("form#regit").validate({
		 ignore: "input[type=hidden]",

		rules: {
			reg_email: {
				required: true,
				email: true,
				remote: "/an/checkemail/"
			},
			reg_password: {
				required: true,
				minlength:4
			},
			reg_password2:{
				required:true,
				minlength:4,
				equalTo:"#reg_password"
			},
			agb: "required"

		},
		messages: {
			reg_email: {
				required: Message["email_required"],
				email: Message["email_notok"],
				remote: Message["email_exists"]
			},
			reg_password: {
				required : Message["pass_required"],
				minlength: Message["pass_length"]
			},
			reg_password2: {
				required : Message["pass_required"],
				minlength: Message["pass_length"],
				equalTo: Message["pass_equal"]
			},
			agb:Message["agb_required"]

		},
		success: function(label) {
			if(label[0].htmlFor=="agb")
				label.removeClass('error');
			else
				label.addClass("valid");
		   },

		errorPlacement: function(error, element) {
			if ( element.is(":hidden") ){
				element.next().next().html(error);
			}
			else{
				element.next($('div.errormessage')).html(error);
			}
        } 

	});

});

yama yaptigimiz dosya:

$(document).ready(function(){
	$('#reg_email').rules("add",{
		remote: "/ag/checkemail/"
	});
	$('#company').rules("add",{
		required: true,
		minlength:4,
		messages:{
			required:Message["company_required"],
			minlength: Message["company_length"]
		}
	});
	$('#branch_id').rules("add",{
		required: true,
		messages: {
			required: Message["branch_required"]
		}
	});
});

#reg_email de remote adresini degistiriyoruz,
ve iki extra kontrol alani daha ekliyoruz validatorumuza.

Bu satirlar bana özel: Message["email_required"] siz oralara kendi hata mesajlarinizi yaza bilirsiniz.

ps:
bir alana tamamiyle baska kurallar eklemek icinse remove metodunu kullanarak ekli olan kurallari sile bilirsiniz.

$('#reg_email').rules("remove");

Kategoriler: Javascript/Ajax/Jquery

Etiketler:, Yorum Yapılmamış

Feed

http://www.skorp.eu /