12 Kasım 2009 Perşembe

VLAN Trunking Uygulaması ve Konfigürasyonu

VLAN Nedir?

VLAN'ın açılımı Virtual Local Area Network'tur. Türkçesi ise Sanal Yerel Alan Ağları'dır. IEEE tarafından geliştirilmiştir. VLAN OSI 2. katmanda çalışır (Layer 2). Adından da anlaşılabileceği gibi VLAN teknolojisi kullanılarak, bu teknolojiyi destekleyen cihazlar üzerinde mantıksal ağlar oluşturulur. Bu mantıksal ağlar aslında bölünmüş birer broadcast domainlerdir.

VLAN, yerel alan ağı üzerindeki ağ kullanıcılarının ve kaynaklarının mantıksal olarak gruplandırılması, farklı broadcast domainlere atanması ve ağ cihazları üzerinde farklı portlara atanması ile uygulanır. VLAN kullanılan bir ağda, bir VLAN'da bulunan kullanıcılar sadece kendi broadcast domain'ine sahip olacağından, birbirleri ile haberleşebilirler. Oluşturulmuş farklı bir VLAN'da bulunan kullanıcılar ile iletişim kuramazlar. Büyük ağlarda VLAN ihtiyacı işte bu sebepten dolayı ortaya çıkmış ve Network Mühendisleri'ni büyük bir zahmetten kurtarmıştır. Ortamda OSI 3. katman çalışan (Layer 3) bir cihaz olması durumunda, bir VLAN'a üye ağ kullanıcısının farklı bir VLAN'a üye ağ kullanıcısı ile haberleşmesi sağlanabilmektedir. Artık günümüzde Cisco Systems'in üretmiş olduğu Layer 3 switch'ler, aynı zamanda router modunda çalıştıkları için bunu yapabilmektedir. VLAN adaptasyonu sonrasında broadcast trafiği azaltılır ve bant genişliği de artırılmış olur. Ayrıca ağ kullanıcıları daha kolay yöneltilebilir ve erişim izinleri (access -lists) çok daha kolay yapılandırılıp uygulanabilir.

VLAN kullanımı aynı zamanda ağ yatırımınızı da düşürmektedir. Örneğin 48 port bir switch'iniz var ve bunun sadece 25 portunu kullanıyorsunuz. Başka bir yerel alan ağı oluşturmanız gerekiyor ve 20 kişilik bir grubu ağa bağlayacaksınız. Yeni bir switch almak yerine elinizdeki 48 portlu switchin boş olan 23 portunu başka bir vlan oluşturup atayarak, yeni bir switch almaktan tasarruf elde edersiniz.
Özetle fiziksel olarak tek bir switch'i mantıksal olarak, portları teker teker ayrı bir switch portu gibi konfigüre etmek ve bu portların gerçekten farklı bir switch gibi çalışmasını sağladığını söyleyebiliriz.

VLAN'ların özellikle Cisco cihazlar üzerinde nasıl konfigüre edildiğini internet üzerinde bir çok web sitesinde bulmak mümkün bu yüzden bu konuya girmeden, switch tarafında HP ProCurve 1800 Web Manageable switch ile birden fazla VLAN trafiğinin, tek bir bilgisayardan izlenebilmesinden bahsedeceğim. Bilgisayar tarafında iki adet ethernet kartı kullandım.

Bunlardan biri olan Asus NX1101 Gigabit Ethernet karti üzerinde VLAN tagging desteği ile geldiğini söylese bile, aynı anda her iki VLAN a üye olamamakta. Sadece VLAN ID si verdiğiniz network e katılmakta dolayısıyla VLAN lar arası geçişi manuel yapmakta.
Bu haliyle VLAN yönetimi için işe yarar bir kart olsa da, profesyonel ihtiyaçları karşılamakta yetersiz kalıyor.

Diğeri Broadcom NetXtreme Gigabit Ethernet karti, HP Z400 Workstation sistemlerle birlikte onboard olarak geliyor ve kendi yazılımında belirtilen VLAN lara ait sanal ethernet kartı oluşturarak, VLAN trunking uygulamasını aynı anda her iki VLAN ı görüntüleyecek şekilde konfigüre etme imkanına sahip.

Yazının devamı ve resimler en yakın zamanda eklenecek.




http://www.formortals.com/implementing-vlan-trunking/

17 Ekim 2009 Cumartesi

Acronis True Image ile Pardus Image ini almak...

İş yerinde kullandığım Pardus tabanlı, Drupal Yüklü bilgisayarımın Acronis True Image 11 Home ile imajını almak isterken, hayal kırıklığına uğradım.
Her iki denememde de

"I-node corrupted (0x70012) "

gibi bir mesaj ile karşılaştım. Google amca bu mesajın dosya sisteminde bir hata oluştuğundan dolayı verebileceğinden bahsediyordu. Bende açtım Pardusumu, komut satırında "su" komutu ile root yetkilerini aldıktan sonra

"fdisk -l"

komutu ile partisyon ismime baktım ve

"fsck /dev/sda2"

komutu ile disk hatalarını düzelttim.

Bir sonraki açılışta Pardusun düzgün açıldığını gördükten sonra imaj alma operasyonuna sorunsuz olarak devam edebildim diye düşünürken
Acronis True Image Home 11 (2009) yine aynı hatayı verdi.

Google amca bu sefer de

This is a bug of Acronis True Image Home 2009.
This bug refers only to the new ext3 file system, which has i-node size equal to 256 bytes.
The new ext3 file system is included in the new Linux distributions such as Ubuntu 8.10, OpenSUSE 11.0, Mandriva Spring 2008 and others.


diyince ben de Acronis True Image 9.1 ile tekrar denedim ve evet imajı alabildi.

Artık yedeklerimi bu şekilde almayı planlıyorum.

Sevgi Saygı Linux

25 Eylül 2009 Cuma

USB Diskler ve Tehlikeleri...

Tübitak UEKAE bünyesinde yürütülen bilgi güvenliği Web sitesinde, artık son kullanıcılar için de bir bölüm açılmış. Aşağıdaki linkten ulaşabileceğiniz web sitesinde bügün okuduğum bir mesajı paylaşmak istedim.

http://www.bilgiguvenligi.gov.tr/son-kullanici/index.php

Aşağıdaki linkte ayrıntılı bilgiler içeren USB belleklerdeki zararlı yazılımlara bir önlem olarak çok hoş bir yöntemden bahsediliyor.

http://www.bilgiguvenligi.gov.tr/teknik-yazilar-kategorisi/usb-disklerde-autorun-ile-gelen-tehlike.html?Itemid=6

Özetle bu küçük ama çok işlevsel olan atraksiyon şu şekilde icra ediliyor.
Bildiğiniz gibi USB Belleklerdeki zararlı yazılımlar, bellek içinde kök dizinde bulunan "Autorun.inf" isimli dosyanın çalışması ile bulaşıyor.

Peki USB Autorun.inf isimli bir klasörümüz olsa bu klasörümüz, gizli, sistem dosyası ve sadece okunabilir olsa, ne olurdu. Tabi ki zararlı yazılımın USB belleğe ilk bulaşma girişimi başa çıkardı, çünkü zaten aynı isimde bir klasör olduğundan, virüs autorun.inf dosyasını yaratamayacaktır. ;)

Aşağıdaki komutlarla bu işlemi kısa sürede yapmamız mümkün.

F:\>mkdir autorun.inf

F:\>attrib +s +h +r autorun.inf

F:\>attrib Autorun.inf
SHR F:\autorun.inf

16 Eylül 2009 Çarşamba

Drupal Üzerinde, "Seçilen ... ... dosyası yüklenemedi: hedef ... ... doğru girilmemiş" hatası...

Dün akşam Drupal üzerinde, ekli dosya isimlerinde ve içeriklerinde arama yapmak için "search files" modülünü ekledikten sonra Drupalin her sayfasında aşağıdaki gibi hata aldığımda, işten çıkıp eve gitmek için çok geç kalmıştım.

* Seçilen /home/imanicom/domains/imanbilgileri.com/public_html/sites/default/files/tmp/fileSyO6ym dosyası yüklenemedi: hedef sites/default/files/languages/tr_8026a980c9f6d4f89c6a8937d8685d4f.js doğru girilmemiş.
* Seçilen /home/imanicom/domains/imanbilgileri.com/public_html/sites/default/files/tmp/file6hlm6b dosyası yüklenemedi: hedef sites/default/files/languages/tr_8026a980c9f6d4f89c6a8937d8685d4f.js doğru girilmemiş.

Ekran Görüntüsü


Sitenin dil ayarlarını İngilizceye çektiğimde sorun yoktu, fakat Türkçe dil seçeneğinde hala aynı hata dönüyordu. Eklentiyi kaldırdım, yeni Türkçeleme pakedi kurdum ne yaptıysam hata düzelmedi. Son olarak aşağıdaki siteyi bulduğum
http://groups.drupal.org/node/21884

Pardus üzerinde çalıştırdığım Drupal 6 için "/var/www/localhost/htdocs/sites/default/files/languages/" klasörünün ismini değiştirdim. Tekrar sitede gezindiğimde "languages" klasörünün tekrar oluşturulduğuna dail bir mesaj aldım ve artık herşey düzgün çalışıyordu.

15 Eylül 2009 Salı

Adobe Flex Builder 3 Hakkında...

6. Sınıf öğrencisi olan kuzenim beni aradığında Flex'in ne olduğunu ilk defa duymuştum aslında. Adobe firmasının bir ürünü olduğunu öğrendiğimde daha da çok şaşırdım. Kısa bir uğraş sonucu internette Trial versiyonunu buldum ve indirdim. Tabi ki linklerini kuzene de gönderdim. Kuzen Sercan okulda Flex 3 ile sınıfça uğraşacaklarını fakat becerip beceremeyeceği hakkında bir takım kuşkuları olduğundan bahsede dursun, ertesi gün benim yaşayacağım şoktan haberim bile yoktu. Ertesi gün download lar bittiğinde kuruluma ilk ben başladım ve tamamlanmasının hemen ardından önce bir şok, arkasından hafif bir gülümseme. Evet Adobe firmasının Web sitesi dizaynı için tasarladığı Flex ürünü Eclipse altında çalışıyordu. Eclipse'e en büyük desteği veren IBM firmasının dışında Eclipse, daha çok, küçük firmaların yada open source projelerin, ortak olarak kullanıldığını gördüğüm bir platformdu. Özellikle IBM in Websphere RAD ortamı olarak kullanılan Eclipse üzerinde C, C++, COBOL, Python, Perl, PHP, Java, JSP, JSF, Ruby gibi dilleri aynı ortamdan dışarıya çıkmadan kullanabilirsiniz.

Eclipse hakkında daha fazla bilgi için;
http://en.wikipedia.org/wiki/Eclipse_%28software%29
linkine gözatabilirsiniz.

Plugin desteğine sahip yapısıyla her türlü ortamın ve her türlü dilin kullanılabileceği Eclipse platformunda Adobe firmasının bir ürününü de görmek sevindiriciydi. Hatta Adobe firmasının satın aldığı Macromedia firmasına ait olan Dreamweaver ürününün geleceği de düşündürücüydü.

Velhasıl ben ilk projeye başlarken, kuzenin Adobe Flex 3 lisans problemi ile boğuştuğunu ve programı başlatamadan hevesi kursağında kaldığını öğrendim.

http://blogs.adobe.com/flex/2008/02/serial_numbers_for_flex_builde.html
Sitesinde bahsedildiği gibi

%ALLUSERSPROFILE%\Application Data\Adobe\Flex\license.properties

dosyasını sildiğimde Flex 3 programı ve kuzen, artık engin okyanuslara yelken açabilirdi.

Adobe Flex 3 Pro Uygulamasının ekran görüntüsüne aşağıdan ulaşabilirsiniz.



Adobe Flex 3 ile ilgili aşağıdaki sitelere de göz atabilirsiniz.

Flex Dökümantasyonu
http://livedocs.adobe.com/flex/3/html/

Flex ile yapılmış siteler
http://flex.org/showcase/

Flex Örnekleri
http://blog.flexexamples.com/flex-3-codename-moxie/

Bir Haftada Flex Öğrenim Videoları
http://www.adobe.com/devnet/flex/videotraining/?promoid=EQHKI

31 Ağustos 2009 Pazartesi

Local Port Forwarding Hakkında...

Bugün bir java uygulamasının, bizi azizliğe uğratması sonucu, epeydir aklıma takılan bir konuyu çözme fırsatına sahip oldum. Lokal Port Yönlendirme ;

Nedir bu lokal port yönledirme?

En basit örneğiyle, bilgisayarınızda web sunucusu 80 numaralı porta çalışırken, 80 numaralı porta gelen ve giden tüm trafiği, aynen 8080 numaralı porta yönlendirmek, yani bilgisayarınızın 8080 portundan hizmet vermesini istiyorsanız, lokal port yönlendirmesi yapabilirsiniz. Benzer şekilde 80 portundan gelen ve giden tüm trafiği, başka bir PC nin başka bir portuna da yönlendirmeniz mümkündür.

Peki Port Yönlendirmeyi Nerde Kullanabilirim?

Port yönlendirmeyi aslında ADSL modemlerimizde sıklıkla kullanıyoruz. Örneğin local networkümüzde iki adat Pc miz var. Bu Pc lerin her ikisine de dışardan internet üzerinden Remote Desktop ile bağlanmak istiyoruz. Remoto Desktop default olarak 3389 portunu kullanmaktadır.

Birinci PC için ADSL modemimizde Nat Kuralı yada Virtual Server şeklide de ifade edilebilen port açma seçeneği ile dışarıdaki 3389 portu, içerideki lokal ip nin 3389 portuna yönlendirmemiz yeterli olacaktır.

Peki ya ikinci PC ? İkinci PC için, her uygulama sadece bir port kullanabileceği için, dışardan 3389 portunu kullanabilmemiz mümkün değil. Bu durumda dışardaki 3390 gibi seçtiğimiz farklı bir portu, içeride diğer pc deki 3389 portuna yönlendirmemiz yeterli olacaktır.

Son durumda; Uzaktan Pc lerimize erişmek istersek,
Birinci pc için, uzaktaki networkümüzün WAN IP si yani ADSL Modem tarafından alınan internet IP sini, Remote Desktop programına vermemiz yeterli olacaktır.
İkinci PC için ise Remote Desktop programına WAN ipmizin yanında 3390 portumuzu da belirtmek zorundayız. Bunu 85.95.85.95:3390
şeklinde yazarak belirtebiliyoruz. Bu şekilde Remote Desktop programına uzaktaki bilgisayarın 3390 dan bağlantı kurabileceğini söylemiş oluyoruz. Modemimizde açmış olduğumuz port ile 3390 bağlantı trafiğini içerde 3389 a yönlendirerek ikinci PC ye erişimi sağlamış oluyoruz.

Buraya kadar aslında bir problem yok. Problem şu noktada başlıyor;
Peki ya elimizdeki uygulamada, bağlantının başka bir port üzerinden kurulacağını belirtemiyorsak ne olacak. Yani RDP uygulamasında 85.95.85.95:3390 şeklinde uygulamanın bağlantı için standart portu kullanmayacağını 3390 portunu kullanacağını belirtebiliyoruz. Peki ya belirtemezsek. Yani elimizdeki uygulama sadece ip adresi alıp, hep aynı porttan çalışmayı tercih ediyorsa ne yapacağız?


İşte bu noktada bir atraksiyon yaparak uygulamanın standart port kullandığını zannederken, standart port tarafiğini lokal başka bir porta yönlendirerek dışarı çıkartmamız gerekiyor. Tamam, bu noktayı bir şekil çizerek açıklama zamanı geldi.



Yukarıdaki şekilde, Datasource olarak belirtilen iki adet bağlantı var. Her ikisinde de uygulama içinden sadece ip belirterek 14000 portundan bağlantı yapabiliyoruz.
85.95.85.95 IP sinden bağlantı yapmaya çalıştığımızda modem deki kural 14000 den 14000 portuna yönlendirme yapıyor ve hiç bir sorun yaşamadan direct bağlantı kurabiliyoruz.

Aynı ip ye 140001 portundan bağlanmamıza uygulama müsade etmediği için, Datapipe isimli küçük programı kullanarak, bağlantı kurmasını istediğimiz PC nin 14000 portunu 85.95.85.95 IP li modemin 14001 portuna yönlendiriyoruz. Bu durumda da uygulamamızda Datasource olarak localhost kullanıyoruz. Localhost un 14000 numaralı portunu kullanmak isteyen uygulamamızın tüm trafiğini Datapipe programımız ile uzaktaki PC nin 14001 portuna yönlendiriyoruz.

Bunun için kullandığımız komut :
datapipe localhost 14000 85.95.85.95 14001
şeklinde.

85.95.85.95:14001 portuna yönlenen trafiğimiz modem üzerindeki ikinci port yönlendirme kuralı ile içerideki ikinci PC nin 14000 portuna ulaşmakta ve iletişim sırasında portları değiştirirken, uygulamamızın ruhu bile duymadan çalışmasını sağlamış oluyoruz.

Böyle şık bir atraksiyon yapabilmemizi sağlayan Datapipe Programının Open Source bir program olduğunu ve Linux üzerinde de çalıştırılabildiğini de söyleyelim. Bu programa aşağıdaki link üzerinden erişebilirsiniz.
http://jeff.bovine.net/Datapipe

Aslında bu tarz bir uygulamayı Linux sistemler üzerinde gelen ve kernel seviyesinde çalışan Iptables yada Netcat gibi programlarla rahatlıkla yapabilirken, Windows sistemimiz üzerinde çalışabilen Datapipe yazılımını bulmak için, göbeğimin çatladığını da belirtmek isterim. Ne yazık ki windows üzerinde bu tarz atraksiyonlar yapabilen, sisteme gömülü bir uygulama hala bulunmamakta.

Konuyu sonlandırmadan önce, bizi azizliğe uğratan uygulamanın da,
GE Fanuc firmasının, java ile geliştirdiği iHistorian programı olduğunu belirtmek isterim.

Buraya kadar okuduğunuz için Teşekkürler.

29 Ağustos 2009 Cumartesi

Kanser Hastalığının Tedavisi Bulundu Mu Yoksa Sentetik Bir Dünyada Mı Yaşıyoruz ?

Microsoft un Word satışını durduran mahkeme kararı haberini duymuşsunuzdur. Her ne kadar yakın çevrem tarafından microsoft eleyhtarı olarak nitelendirilsem de microsoft gibi bir firmanın böyle bir konumda olması hiç kimseye fayda sağlamamalı. Sonuçta hepimiz birer yazılım kullanmaktayız, bir yazılımı kullanamamanın yada geliştirememenin insanoğluna hiç bir faydası olmamasının yanında zararı vardır.

Yazılım patentleri ile ilgilenmiyor olabilirsiniz, peki ya ilaç patentleri? Onlar tüm dünyayı ilgilendirmez mi? Kanser hastalığının tedavisi bulundu mu, bulunduysa neden kullanılmıyor?
Bulunduysa Neden Kullanılmasın ki? Bilinen bir hastalık tedavi yöntemi için, insanlar neden ilaç üretimi yapmazlar. Hadi kanseri geçtim, (onun tedavisi henüz bulunamadı), mesela tüberküloz ilacı yapılamaz mı?

Günümüzde insanoğlunun kendi kendine inşa ettiği kurallar bütününe o kadar fazla kendini kaptırdığını, doğru bildiği şeyi kurallar haline getirdiğini ve daha sonra da bu kurallara gözü kapalı inandığını görüyorum. Bunun sonucunda artık insanlar kendine yetecek daha iyi kurallar oluşturmaktansa, mevcut kurallar insanı yönetir hale gelmekte. İşin özü, amacı kaybolup giderken, insanoğlu hayat yolunda, gözü ve dizi bağlı bir şekilde yürümekten aciz kalabiliyor.

OSHO dayının zırvalıklarından bile bir gün ders çıkarabiliriz, Belki de.

Bu kadar üstü kapalı, karmaşık bir metin yazmamı sağlayan tek şey, bir blogda okuduğum bir yazıydı. Sizi de daha fazla düşündürmeden yada düşündürerek linki paylaşmak isterim.


http://www.moleschino.org/2007/03/06/dichloroacetate-uzerine-bir-sentetik-dunya-hikayesi/

22 Haziran 2009 Pazartesi

Drupal Versiyon Geçişi...

Drupal 6.10 dan 6.12 minör versiyon geçişi sırasında yaptıklarımı adım adım sıralamak isterim.
Zaman geçtikçe her bir adımı daha ayrıntıllı hale getirmek isterim.

1) Site bakımı kısmında sitenin offline mode çekilmesi.
Daha sonraki adımlar da offline olmuş sitenize erişimde sorun yaşıyorsanız.
"http://siteadi.com/?q=user"
linkinden yönetici adı ve şifrenizle giriş yapabilirsiniz.
2) MySQL veritabanınınn yedeğinin alınması.
3) Php sayfalarını içeren Web Sitemizin yedeğinin alınması.
4) Eklentiler (modules) sayfasında hangi eklentilerin yüklü olduğunu gösteren ekran görüntülerinin alınması.
5) Çekirdek (core) eklentilen dışındaki tüm eklentilerin devre dışı bırakılması.
6) Yeni versiyon php sayfalarının, eski versiyonun üzerine kopyalanması.
7) siteadi/update.php nin çalıştırılması ve core elementlerle beraber veritabanının update edilmesi.
8) Site Drumuna göz atılması, herhangi bir mesaj varmı? Dönemsel görevlerin çalıştırılması.
9) Çıkartılan Modüllerin devreye alınması.
10) Devreye alınan modüller için de siteadı/update.php nin çalıştırılması ve bu modüllere ait veritabanlarının update edilmesi.
11) Site Drumuna tekrar göz atılması, herhangi bir mesaj varmı? Dönemsel görevlerin çalıştırılması.
12) Update edilmesi gereken bir component yada modül yok ise site bakımından sitenin devreye alınması.

13) Update edilecek modül varsa, updatelerinin indirilmesi ve yüklenmesi sırasında dikkat etmemiz gereken bir nokta var. Modülleri update ederken, öncelikle modülü devra dışı bırakın. Daha sonra eski modüle ait klasörü tamamen silin ve yeni modüle ait klasörü kopyalayın. Son olarak yine "update.php" yi tekrar çalıştırdıktan sonra modülleri aktif hale getirin ve siteyi online moduna geçirin.


Yukarıdaki adımlar güvenlik için gerekli olsa da sanırım uygularken bir iki adımı atladım :)
Minör versiyon geçişlerinde drupal sizi ne yapmanız gerektiğine yönlendirse de, majör versiyon geçişlerinde daha dikkatli olmalıyız diye düşünüyorum.

Görüşmek dileğiyle....

21 Haziran 2009 Pazar

.htaccess Dosyası Nedir Neler Yapabilir...

Apache'nin klasor ve alt klasorler bazinda konfigurasyon secenekleri sunmak icin kullandigi dosya. yapi olarak httpd.conf'un genisletilmis halidir, ozellikle virtual hosting hizmetini alan kisiler icin vazgecilmez utility'ler sunar. icerdigi secenekler icine konuldugu klasor ve alt klasorleri icin gecerli olur. bununla sunlar yapilabilir :

- 404, 500 gibi hata sayfalarini istege gore ayarlamak
- sifreyle korunan klasorler yaratmak
- ssi'i aktif hale getirmek
- ip ve domain bazli olarak gelen istekleri reject etmek
- index sayfasini degistirmek
- redirection'lari yapmak
- istenilen tipteki dosyaların gösterimini engellemek
- mime type eklemek
- hot link'i onleyerek sitedeki icerigi korumak
- directory listing'i onlemek
+ httpd.conf ile yapilabilecek seyler

Apache serverin bir ozelligi olarak, klasore has ozellikler vermeyi saglayan bu dosyanin default ismi httpd.conf dosyasindan olmasi gereken ismi istenildiği şekilde degiştirilebilir. Apache' nin default httpd.conf dosyasi bu dosyanin kullanımına izin vermez bunun icindir ki bu ozellikten faydalanma istegi, bir takim ayarlar yapmayi gerektirir.

asp.netteki karşılığı web.config'dir.

httpd.conf dosyasına ulaşamadıgınız durumlarda,pek güzel iş gören bir aparat.
mod_rewrite bile yapılabilmekte kendisiyle.
yamulmuyorsam windows ile yaratılıp upload edilmesi mümkün degil, karşı tarafta dosya adını degişterek yaratıldıktan -belki de yaratılmış olup görünmüyor, biz tekrar yarattıgımızda ise üstüne yazılıyor olabilir- sonra,hidden file olarak ayarlanıyor.

eger apachede server konfigurasyonu tarafindan ozellikle kisitlanmamis ise, bir kullanicinin eristigi dizin icerisinde directory contextine ait hemen hemen her ayari ozellestirebilmesine olanak verir. lakin kullanildigi dizinden document roota kadar her parent dizin icin baska .htaccess dosyasi olup olmadiginin kontrolu yapilir ki bu kontrol o dizindeki dosyalara her erisimde vuku bulur.


Ayrıntılı bilgi için:

http://www.acikbilgi.com/2006/03/05/htaccess-kullanimi-ve-ipuclari/
http://www.koodla.com/2008/12/13/htaccess-konulari-giris/
http://www.teknolojiherseyim.com/htaccess-dosyasi-gorunmuyorsa/
http://www.bildirgec.org/etiket/htaccess
http://www.mutena.com/htaccess-editoru/

Drupal Kurulumu

Uzun zamandır işyerimizde kullanmış olduğum Drupal 6.10 sürümünü, bazı anlayamadığım sorunlar yüzünden, 6.12 ye yükseltmektense, sıfırdan tekrar kurmayı planlıyorum. Daha önceki kurulumda, kurulum kılavuzunu okuyarak, not almadan kurulum yapmıştım. Şimdi daha farklı bir yöntem kullanarak, hem Drupal' in yapısal olarak nasıl çalıştığını daha iyi öğrenmek adına, biraz kurcalayarak hem de not alarak kurulum yapacağım.

Standart Kurulum Prosedürü :

* Öncelikle Localhost'a kurulum yapacaksanız, Apache, Mysql, Php üçlüsü kurulumu için,
"Pardusta Apache PHP MySQL Kurulumu"
linkine göz atabilirsiniz.

* Phpmyadmin' nin de sisteminize kurulu olmasında fayda var. Gördüğüm kadarıyla Pardus üzerinde pisi paketi mevcut, burdan rahatlıkla kurulum yapılabilir.

* Daha sonra http://drupal.org/project/drupal sitesinden kararlı son versiyonu çekip /var/www/localhost/htdocs/ klasörü altına açıyoruz.

* Türkçe desteği vermek için http://drupal.org/project/tr sitesinden dil desteği dosyalarını indirip, drupal klasörü üstüne kopyalıyoruz.

* Not-1: Eğer localhost yerine bir web sunucusuna kurulum yapacaksanız, ftp yazılımınızın .htaccess dosyasını da taşıdığından emin olunuz.
".htaccess" dosyası hakkında daha fazla bilgi için,
"Htaccess Dosyası Nedir Neler Yapabilir"

* Not-2: Eğer aynı hesapta farklı siteler barındırıyorsanız kök dizin yerine bir alt dizin de kullanabilirsiniz.

* Drupal sitenize ait veritabanı giriş bilgileri gibi bazı önemli bilgileri settings.php dosyasında tutar. Daha önceleri bu dosya Drupal çekirdeği ile birlikte gelmekteydi. Dolayısıyla mevcut bir sitenizi güncellemek istediğinizde önce bu dosyanın bir yedeğini almak gerekiyordu. Artık her güncellemede bu işlemi yapmak yerine sadece sitenizi kurarken ek bir işlem yapmanız gerekiyor. O da çekirdekle gelen sites/default dizinindeki default.settings.php dosyasının bir kopyasını oluşturup adını settings.php olarak değiştirmek. Böylece bu dizinde biri settings.php diğeri de default.settings.php adından 2 dosyanız olacak. Sitenizi ileride güncellemek istediğinizde de bu dosyanın yedeğini almakla uğraşmak zorunda kalmayacaksınız, çünkü indireceğiniz güncel Drupal sürümünde settings.php adından bir dosya olmadığından mevcut settings.php dosyanız korunmuş olacak.

settings.php dosyasını oluşturduktan sonra yazma izinlerini 777 olarak ayarlayınız. Kurulum tamamlandığında Drupal bu dosyanın yazma izinlerini salt-okunur olarak kendisi değiştirecektir. Eğer Drupal kurulum sonrasında izinleri değiştiremezse, bu izinleri kendiniz 555 olarak değiştirmelisiniz.

Pardus üzerinden 777 haklarını vermek için dosya özelliklerinin aşağıdaki gibi olması yeterlidir.
Eğer hosting hizmeti aıyorsanız, ftp programınızın özelliklerini yada komut satırından aynı yetkileri verebilmek için "chmod" komutunu incelemenizi öneririm.



Not-1: default.settings.php dosyasını kopyalamak yerine sadece adını değiştirmeniz yeterli olmayacaktır. Bu dizinde her iki dosyanın da bulunması gerekiyor.

Kurulum sırasında settings.php dosyası içeğinde elle bir değişiklik yapmanıza gerek yok. Kurulum sırasında sizden istenen bilgiler otomatik olarak bu dosyaya yazılacaktır. Bu dosya hakkında daha fazla bilgi aşağıda verilmiştir.

settings.php
/var/www/localhost/htdocs/drupal1/sites/default klasöründeki settings.php, drupal ayarlarının tutulduğu dosyadır. Bu dosya içerisindeki "$db_url = 'mysqli://root@localhost/drupal1';" satırı drupal' in mysql serverda "drupal1" isminde bir veritabanı kullandığını gösterir. Veritabanının yedeğini alır yada değiştirme ihtiyacı duyarsanız bu dosyadaki veritabanı ismini değiştirmeniz yeterli. Eski bir yedek veritabanına geçiş yaptığımda sitemin, teması dahil tüm içeriğinin, ve tüm nodeların değiştiğini görüyorum. Kısaca Drupal'in php sayfalarında yaptığınız değişiklikler hariç, tüm web sitesi içeriğini bu şekilde değiştirebilirsiniz. Tabi burada versiyon geçişlerinden bahsetmiyorum.

Versiyon geçişlerinde yeni versiyon PHP dosyalarını drupal klasörünüze yerleştirdikten sonra, veritabanının da yeni versiyona geçişi için "update.php" dosyasını çalıştırarak, veritabanımızı da güncellememiz gerekiyor.

* Drupal PHP dosyalarının üzerine Türkçe dil desteği dosyalarını üzerine yazarak kopyaladım ve bu klasör içeriğini "/var/www/localhost/htdocs" klasörü altına "drupal612" isminde bir klasör içine yerleştirdim. Dolayısıyla local bilgisayardan "http://localhost/drupal612/" adresine eriştiğimde kurulum işleminin aşağıdaki gibi, ilk ekranı gelmiş bulunmakta.



Bu ekranı görüyorsanız, Apache PHP ve Drupal düzgün ve çalışır durumda demektir. Devam etmeden önce yeni bir veritabanı yaratmamız gerekiyor.

* PhPMyAdmin yönetim sayfasına erişmek için "http://localhost/phpmyadmin/" linkini kullanabilirsiniz. Default user "root" olmakla beraber şifresini boş geçebilirsiniz.

Aşağıdaki ekranda görüldüğü gibi yeni oluşturduğum veri tabanı adına "drupal612db" ismini vererek "Oluştur" düğmesine basıyoruz.



* Veritabanımız da oluştuğuna göre artık bir önceki ekrandaki Drupal kurulumuna, dili Türkçe seçerek devam edebiliriz. Eğer "/sites/default/files" dizini bulunamadı gibi bir hata mesajı alırsanız, "/var/www/localhost/htdocs/drupal612/sites/default/files" adresinde bir files klasörü açın ve yetkilerinin 777 olduğuna emin olun.

* Veritabanına ait bilgileri, aşağıdaki ekrandaki gibi doldurarak kuruluma devam ediyoruz. Buradaki server ve port bilgileri farklı kurulumlarda değişiklik gösterebilir.



* Bir sonraki ekranda Mail Sunucusu üzerinden kullanabileceğiniz mail adresiniz ile beraber, yönetici adı (ben admin vereceğim) ve şifresini tanımlamanızı isteyecektir. Pardus üzerindeki sistemimde mail gönderebilmek için "postfix" mail sunucusunun da kurulumunu bu sırada yapmaktayım. Daha önceki kurulumlarda sistemimde herhangi bir SMTP sunucum yoktu.
Çalışıp çalışmayacağını bilemiyorum, servislerden postfix' i start ettim. Daha fazla bilgi ve postfix e ait yönetim araçları için "http://www.postfix.org/addon.html" sitesini ziyaret edebilirsiniz.

* Yönetici ve parola bilgilerini verdikten sonra kurulum işlemi tamamlanmış oluyor.

* Son olarak aşağıdaki resimdeki gibi settings.php dosyasındaki yazma yetkilerini kaldırarak daha güvenli bir sistem elde ediyoruz.



BİR DAHAKİ YAZIMDA, DRUPAL EKLENTİLERİNDEN BAHSETMEK İSTİYORUM, GÖRÜŞMEK ÜZERE...

15 Nisan 2009 Çarşamba

Büyük Boyutlu MySQL Scriptlerini içeri aktarmak...

Big MySQL dump import

Recently i faced problem “How to upload over 100 MB mysql dump into database”. Obviously it cannot be done using phpMyAdmin, because file is to big, i could open the file and execute query after query, but it would take a lot of time, besides opening such a file is a problem by itself. So i started to search for a solution and i found wonderful solution.

Fortunately i was working on my localhost, so the easiest way to do it was to use mysql client from a command line it can be done with both Windows and Linux (don’t know how about Mac OS but probably this solution can work as well for them).
Big MySQL database import tutorial

On windows open command line and go to mysql “bin” directory (it is located there where MySQL is installed, also make sure that mysql.exe file is there). On Linux just open command line, in either case you are ready to go.

Now at the command line type:

mysql -u root


obviously you should replace ‘root’ with your username you use to connect to MySQL, if you are connecting to MySQL from PHP then credentials you use there should work just fine.

Using mysql command line allows to execute queries, so first we need to select database in case there is no such statement in the dump file. It is done with:

USE `database`


where `database` is a name of your database.

The last thing you need to do is import dump file, the fastest way is by using command ’source’:

source /home/greg/dump.sql


I do not know where MySQL starts to look for a dump file so it is best to use absolute path.

Remember that, this solution works only and only if you have access to the command line, some hosts allow it some not, on a localhost you have it available by default.

13 Nisan 2009 Pazartesi

Pardusta Apache Php MySQL Kurulumu

Windows ta çok fazla karnınızı ağrıtacak olan bu kurulumu, Pardus üzerinde bir kaç komut ile tamamlaya biliyoruz.

Öncelikle


$ su


komutu ile yönetici haklarını alıyoruz.


# pisi update-repo



komutu ile depoları güncelleştiriyoruz.


# pisi it apache mysql-server mod_php


komutu ile 3 ü bir arada kurulumu yapıyoruz.


# mysql_install_db


komutu ile mysql yönetim tablolarını oluşturuyoruz.


# service mysql-server on
# service apache on


komutları ile servislerin açılışta çalışmasını sağlıyoruz.


#service mysql-server start
#service apache start


komutları ile servisleri çalıştırıyoruz ve kurulumu tamamlıyoruz.

Bazı durumlarda MySQL server a boş şifre ile logon olamayabilirsiniz. (Phpmyadmin gibi)
root kullanıcısı için şifre değişikliği yapmak için

#mysqladmin -u root password [password]


komutu ile mysql root şifresini değiştirebilirsiniz.

26 Mart 2009 Perşembe

Ataba AT-408 Pil Şarj Cihazı...


Uzun zamandır kullandığım şarj makinesinden bir tane daha almayı planlıyorum.

Akıllı şarj özelliğine sahip olan bu şarj cihazı ile pillerinizi doldurmadan önce tamamiyle boşaltabiliyorsunuz. Böylelikle pillerinizin ömürünü arttırmış olacaksınız.
Bir de artık şarj tutmayan pilleriniz için kurtarma modu var ki, asıl ödülü bu özellik alıyor. Kurtarma modunda şarj tutmayan pilinizi üst üste 3 defa tam olarak doldurduktan sonra sonuna kadar boşaltıyor. Böylelikle pilin kimyasında oluşan tembelliğe (göbek yapmış :)) spor yaptırarak pili geri kazanabiliyorsunuz.
Yaklaşık 7 senedir kullandığım şarj aletinden memnuniyetimi sanırım bu blog bilgisi ile anlatabilmişimdir. Yerli yapımı olması da ayrı bir sevindirici durum.

Bu şarj cihazı ile AAA / AA / C / D ve 9V Ni-Cd ve Ni-Mh pilleri şarj edebilmeniz mümkün. 4 adet AAA, AA, C yada D pili ikili gruplar halinde ve ekstradan 2 adet 9V pili tekli grup halinde şarj edebileceğiniz bu cihazın yeni modellerinde 4 pili de aynı anda şarj edebilme özeliği gelmiş.

Özetle cihaz budur, tek geçerim.

Bilgilerinize :)

 blog it

Drupal İçerik Yönetim Sistemi Dosya Yükleme Sınırı...

Şirket içinde kullandığımız Drupal sitemize bugün dosya upload u yaparken bir sorun ile karşılaştım. Upload yapılacak max dosya boyutunun 2MB olduğu uyarısı beni şok etti.
Kısa bir araştırma ve gözden kaçan bir satır sonucu uzun bir uğraş sonrası aşağıdaki dosyalarda bahsedilen satırları eklemeniz yada satırı bulup değiştirmeniz sonucu dosya uploadunu istediğiniz kadar arttırabiliyorsunuz. 30 MB dosya upload u için, Pardus 2008.2 kurulu sitemimde aşağıdaki satırları düzenledim.

-------------------------------------------------------------
php.ini file: /etc/php/php.ini

post_max_size = 30M
upload_max_filesize = 30M
--------------------------------------------------------------
settings.php: /var/www/htdocs/sites/default/settings.php

ini_set('post_max_size', '30000000');
ini_set('upload_max_filesize', '30000000');
--------------------------------------------------------------
.htaccess: /var/www/htdocs/sites/default/files/.htaccess

php_value upload_max_filesize 30M
php_value post_max_size 30M
--------------------------------------------------------------

Ayrıntılı bilgi için
"http://drupal.org/node/97193"

23 Mart 2009 Pazartesi

Split ve Cat ile dosya bölme ve birleştirme

Linuxmasasi.com dan günün birinde mutlaka işe yaracak bir ipucu
clipped from www.linuxmasasi.com
Split ve Cat ile dosya bölme ve birleştirme
split ve cat araçları ile bir dosyayı istediğiniz boyutta ve sayıda parçaya ayırabilir, geri birleştirebilirsiniz. Split, basit bir mantıkla işleyerek dosyayı belirtilen byte’dan itibaren böler. Bu sayede dosyalarınızı istediğiniz ortamlara sığdırabilirsiniz.
Bu mantıkla bölme işlemi yapan uygulamaların parça dosyalarını cat ile birleştirebilirsiniz (örn Windows altındaki HjSplit). Ancak rar gibi uygulamalar bölerken kendi yöntemini kullandığı için, birleştirdiğiniz dosya muhtemelen bozuk olacaktır.
Dosya Bölme
Diyelim ki elimizde 90 mB’lık bir dosya var.

~ $ ls -lh

toplam 90MB

-rw-rw-r--  1 seqizz users  90M Jul 23 18:18 deneme.avi

Bölelim, diyelim ki 10mB’lık parçalara ayıracağız. hemen bir hesap

10 * 1024 = 10240

 

~ $ split -b 10240k deneme.avi

Dosya Birleştirme

Şimdi de cat ile xa ile başlayan ne var ne yok birleştirelim. Bildiğiniz gibi, bunun için alfabetik sıranın (a-z, 0-9) korunması gerek.

~ $ cat xa* > birlesmisdosya.avi

 blog it

21 Mart 2009 Cumartesi

Gene Yine Yeniden...

Bildirgeç te yayınlanmış bir makaleye yaptığım yorumu, yayınlamak istedim.

Linux kullananın da kullanmayanın da başına çok büyük olaylar geleceğini düşünmeye başladım artık :)

Metnin Aslına Şurdan Ulaşabilirsiniz.
http://www.bildirgec.org/yazi/linux-windows-a-alternatif-olabilir#yorum-200036


bbayer arkadaşımıza kesinlikle katılıyorum, fakat bu yazıdan çıkarmamız gereken bazı dersler de var tabiki. Evet kabaca baktığımız zaman son kullanıcı için linux kullanmak biraz uzak ama çok uzak değil. Az bir çabayla çok rahat linux kullanıcısı olunabilir. Linux çok hızlı gelişen bir işletim sistemi. Bugün baktığımızda 3D masaüstünü çok rahat çalıştırabilen (P3 bir makinede bile) bir işletim sistemi. Vista da bile bunu şu anda göremiyoruz. Gelecek nesil windowslarda bile görebilmemiz için, bence donanımımızı değiştirmek zorunda kalacağız. Linux yapısal olarak çok doğru ve çok sağlam, bir şeyin bir defada düzgün olarak yapıldığı ve geriye dönük desteğinde sürekli sağlandığı bir sistemdir.

Buna karşılık windows sistemlerde geriye dönük destek umursanmaz, destek kesilir yola yeni sürümle devam edilir, parası olan yeni sisteme geçer ve yeni özellikleri TÜKETMEYE başlar. Cafcaflı görsel dünyada güvenlik ikinci plandadır ve tüketim toplumu yeni nesil sitemleri tüketmeye mecburdur. Ne kadar uç noktadaysan o kadar rahat edersin ve ne kadar rahat edersen o kadar yeni sürümleri iple çeker hale gelirsin.

Yazıyı okuyan arkadaşlar için bazı ekler yapmak isterim.

1) MS Office 2007 SP2 ile Open Ofice dosyalarına destek getirdi. (getirmek zorunda kaldı) Sebep : MS kapitalist sistemin getirdiği kurallar sonucu tekelleşmeye çalışmaktaydı, fakat şu anda daha yumuşak bir politika gütmekte, Çünkü : Zorla Güzellik Olmaz!

Günümüz dünyasında ne yazık ki para gücün temelini oluşturuyor ama ne yazık ki bir insan olarak paranın herşey olmadığını anlamamız gerekiyor.

2) Free Software demek ücretsiz yazılım demek değildir. Burda bahsedilen "free" kelimesi özgürlük anlamında kullanılmaktadır ve Özgür yazılımlar ücretli olabilir. (Herşey para değildir, yaşamak için para gereklidir ama aç kalınırsa para yenilemez) Özgür yazılım genelde bir felsefe olarak telafuz edilir. Gerçekten linux platformuna uzak olan kişiler bu felsefeyi anlamakta sorun yaşamaktalar. Çünkü onların bildiği tek dünya da lisansa para ödenir, lisans kopyanmaz, kırılmaz, (burası biraz tartışmaya açık) yazılım üzerinde değişiklik istenilse de yapılamaz, verilen lisans sadece TÜKETİLİR.

3) Hangi dağıtımı kullanayım karmaşasına da bir teklif getirmek isterim. Türkiyede yaşıyorsak buyrun PARDUS Ulusal dağımı kullanın diyorum. (Tabi eğer isterseniz, çünkü bu kararı vermekte ÖZGÜRSÜNÜZ) Dağıtımın amacı son kullanıcının kullanmasına yönelik, komut satırıyla uğraşmadan, çok çok ihtiyacı olan bir şeyi biraz araştırarak bir iki makale okuyarak öğretmesini ve kullanabilmesini sağlamak.

Hiç bir şey yapmasanız bile sadece, windowsun dışında bir işletim sistemi olduğunu bilmek gerekiyor yada bazen farklı şeyler denemek gerekiyor.

Nacizane görüşüm budur.

SAYGILAR

27 Ocak 2009 Salı

Türkçe Konuşalım...

Aşağıdaki Uyarılara Katılmamak Mümkün Değil !

Lütfen Biraz Dikkat, ama Lütfen...
clipped from mail.google.com
Image and video hosting by TinyPic
Image and video hosting by TinyPic
Bu konu belki de ülkemizdeki en önemli sorun.Bir millet dilini kaybederse kültürünü kaybeder.Kültü rü giden bir millette millet olmaktan çıkar.Geçmişte Keltlere yapılan soykırım bugün bize de oynanmaya çalışılıyor.Biz Türk Milleti olarak bu oyunlara gelmemeli,dilimize, kültürümüze sahip çıkmalıyız.Türkçenin çok zengin bir dil olduğunu bütün herkesin bilmesi gerekiyor.
blog it