Quantcast
Channel: Linux Unix
Viewing all 96 articles
Browse latest View live

ThinStation – Windows RDS Sunuculara Bağlanmanın Ucuz Yolu

$
0
0

Bu makalemizde sizlere Linux işletim sisteminin değişik bir versiyonu olan ve ince istemci (Thin Client) olarak kullanılan ThinStation yazılımını anlatmaya çalışacağım. Thinstation open source bir proje olup genellikle küçük donanımlar üzerinden Windows,Citrix, linux, unix ve IBM Mainframe gibi sistemlere terminal olarak bağlantı yapmak amacıyla kullanılır.

 

Belli başlı avantajlarını sıralamak gerekirse;

 

·         Düşük kapasiteli donanımlarda ve eski donanımlarda çalışabilmesi.

·         Network’ten bir imaj ile açılması ve harddisk barındırmaması.

·         Merkezi yönetim kolaylığı.

·         Maliyetinin çok düşük olması.

·         Windows lisanslamasının olmaması.

·         Operasyonel maliyetinin yok denecek kadar az olması.

·         Düşük elektrik tüketimi.

·         Iskartaya çıkmış eski donanımların ekonomiye kazandırılması.

·         ....vs

 

Thinstation ile alakalı daha ayrıntılı bilgi almak isterseniz www.thinstation.org sitesini ziyaret edebilirsiniz.

 

Şimdi müsadenizle kurulumunu anlatmak istiyorum.

 

Sistem için gereksinimler;

 

·         DHCP Server

·         TFTP server (DHCP server ile aynı makinada olabilir.)

·         PXE boot özellikli ethernet kartı olan harddisksiz  basit bir makina (thin client).

 

DHCP Server konfigürasyonu :

 

DHCP Server konfigürasyonunu windows DHCP server üzerinden anlatacağım, aşağıda örnek bir konfigürasyon var, burada scope seçeneklerinde 66 ve 67 nolu seçenekler mutlaka belirtilmeli, diğerleri size kalmış.

 

 

image001

 

 

TFTP Server Konfigürasyonu:

 

TFTP server olarak sizlere  windows üzerinde çalışan, Solarwinds’in free ürünü olan TFTP server ‘u tavsiye ederim. www.solarwinds.com dan indirebilirsiniz.

 

Solarwinds TFTP Server’u aşağıdaki resimlerdeki gibi konfigür etmeniz yeterli olacaktır.

 

 

image002

 

 

image003

 

 

image004

 

 

image005

 

 

Bundan sonraki aşama artık gerekli imaj dosyalarını TFTP Server’un root dizinine yerleştirmek olacaktır.  Bu imaj dosyalarını aşağıdaki linkten edinebilirsiniz

 

http://www.cozumpark.com/download/TS5.1-TS-admin.rar

 

TFTP Server servisinin çalıştığından emin olduktan sonra thin client olarak hazırladığınız makinanın elektriğini açıp network üzerinden boot ettiğini göreceksiniz.

 

Makina boot etmesinin ardından mouse un sağ tuşunu tıklayarak aşağıdaki gibi ekran görüntülerini görebilirsiniz.

 

 

image006

 

 

image007

 

 

image008

 

 

 

image009

 

 

 

thinstation.conf.network dosyası :

 

Bu dosya thinstation’ı konfigür ettiğiniz global konfigürasyon dosyasıdır. Bu dosya TFTP Server’ın root dizininde olmalıdır.  Bu dosyanın içinde önemli değişkenler vardır, bunların en önemlilerini sizlere anlatmaya çalışacağım. Gerçi dosyanın içinde bu değişkenler bir miktar anlatılmış, ben biraz daha açmaya çalışacağım.

 

LOCALE=tr_TR  lokalizasyon değişkenidir, türkçe için ayarı gördüğünüz şekildedir.

CRON_JOB1="00 22 * * * /bin/shutdown"

CRON_JOB2="*/15 * * * * /bin/setvncpasswd"

.

.

CRON_JOB9="*/15 * * * * /bin/cron9"

Linux stilinde cron tanımlamalarıdır, verilen saatlerde komutları çalıştırır. Mesela birinci job da thinclient saat 22:00 de kapatılacaktır.

 

SESSION_1_TITLE="Windows 2012 FreeRDP"

SESSION_1_TYPE=freerdp

SESSION_1_FREERDP_SERVER=ts.mydomain.com.tr

SESSION_1_FREERDP_OPTIONS="-u '' -d mydomain -k 0x41F -x b -z --ignore-certificate --disable-full-window-drag --no-nla --plugin cliprdr --plugin rdpsnd --plugin rdpdr --data disk:USB:/mnt/usbdevice disk:CD:/mnt/cdrom  --"

SESSION_1_ICON=ON

SESSION_1_AUTOSTART=Off

 

 

Session değişkenleri thinclient ın desktop ında birer icon olarak karşınıza çıkar. Session değişkenlerinden session_x_autostart=on yaparsanız, o uygulama, thinclient açıldığında otomatik olarak başlayacaktır.

 

 

PRINTER_0_NAME="lp"

PRINTER_0_DEVICE=/dev/printers/0

PRINTER_0_TYPE=P

 

PRINTER_1_NAME="lps"

PRINTER_1_DEVICE=/dev/ttyS0

PRINTER_1_TYPE=S

PRINTER_1_OPTIONS="speed 9600 -imaxbel"

 

PRINTER_2_NAME="usb"

PRINTER_2_DEVICE=/dev/usb/lp0

PRINTER_2_TYPE=U

 

 

Burada thinstation üzerinde tanımlı üç adet printer görmektesiniz, thinstation LPR server olarak davranmaktadır. Windows’dan printer tanımlamasını aşağıdaki resimlerdeki gibi yapabilirsiniz.

 

 

 

image010

 

 

image011

 

 

image012

 

 

 

image013

 

 

 

Bundan sonrasını next next deyip printer tanımlamayı bitirebilirsiniz.

 

 

Global konfigürasyon dosyasının yanında herbir thinclient için ayrı ayrı konfigürasyon dosyası oluşturabilirsiniz. Mesela yukarıdaki ekranlarda gördüğünüz gibi thinclient’ın ekran çözünürlüğünü veya klavye düzenini değiştirebilirsiniz. Bunu yaptığınızda yeni ayarlar o thinclient’a ait konfig dosyasında saklanır. Bu dosyanın yeri TFTP server’ın root dizininde olur ve ismi de thinstation.conf-<MAC ADRES> şeklindedir. Thinclient boot ettiğinde önce global konfig dosyasını okur daha sonra kendine ait konfig dosyası var mı diye bakar ve varsa o dosyayı da okur, kendisine ait konfig dosyasındaki değişkenler global konfig dosyasındaki aynı isimdeki değişkenleri ezer. Örneğin global konfig dosyasında KEYBOARD_MAP=tr olsun, thinstation’ın kendine ait konfig dosyasında KEYBOARD_MAP=en ise klavye düzeni olarak English geçerli olur.

 

 

TS ADMIN PANEL :

 

Thinstation’ları konfig dosyası bazında yönetmek için PHP ile küçük ve basit bir admin panel hazırlanmıştır. Bu admin paneli çalıştırabilmek için TFTP server üzerine bir WEB server ve PHP (5 versiyonu tavsiye edilir) kurulmalıdır. Ben WEB server ve PHP kurulumlarını anlatmayıp onu WEB üzerinde bulabileceğiniz bir çok dökümana havale ediyorum.  Admin panele ait PHP dosyalarını Web server üzerinde gerekli dizinlere kopyaladıktan sonra browser üzerinden URL i girdiğinizde karşınıza aşağıdaki ekranlar gelir, ekranlar zaten çok basit. İlk çalıştırmada kullanıcı adı ve şifresi aynıdır, küçük harflerle admin dir. Kullanıcı adı admin olarak sabittir, ama şifreyi değiştirebilirsiniz. Önemli uyarı!, web server ın PHP dosyalarını kopyaladığınız dizine yazma hakkı olmalıdır.

 

 

 

image014

 

 

 

TS admin panel giriş ekranı.

 

 

 

image015

 

 

 

TS admin panel menüsü.

 

 

 

image016

 

 

 

TS admin panel ayarlar menüsü. Burada TFTP root dizini ve session timeout belirleniyor.

 

 

 

image017

 

 

 

TS admin panel, admin kullanıcısı şifre değişiklik ekranı.

 

 

 

image018

 

 

 

TS config dosyalarının listelendiği ekran.

 

 

 

image019

 

 

 

Global konfig dosyası manuel edit ekranı.

 

 

 

 

image020

 

 

 

MAC adres bazlı TS konfig dosyası manuel edit ekranı.

 

Konfig dosyası edit ekranlarında bir TS’e ait konfig dosyasını başka bir MAC adresiyle kopyalayabilir veya silebilirsiniz.

 

 

Şimdilik anlatacaklarım bu kadar.

 

 

NOT : boot ekranındaki ve desktop arka plandaki  resimler değiştirilebilir.

 

Bu sistem Atom işlemcili intel D525 board larda ve VIA C7 board larda denenmiş ve test edilmiştir.

 

 

 

image021

 

 

İntel D525 atom dual core HT 1.86 Ghz


Freenas ISCSI Konfigürasyonu

$
0
0

 

FreeNas 8.3.0 üzerinde ISCSI initiator konfigürasyonundan bahsediyor olacağız. ISCSI tarafındaki işlem adımlarına geçmeden önce, bilgilerimizin tazelenmesi açısından, makalemize FreeNAS hakkında kısaca bilgi vererek devam edelim.

 

FreeNAS nedir?

 

FreeNAS,  FreeBSD tabanlı bir işletim sistemi olup, network ortamımız da NAS (Network Attachted Storage) yapısı oluşturabilmemiz için tasarlanmış olan bir sistemdir.  Yukarıda, FreeNAS’ın FreeBSD tabanlı bir işletim sistemi olduğundan bahsettik. Çünkü FreeNAS, açık kaynaklı bir işletim sistemi olarak çalışmaktadır. FreeNAS 8.3.0 ile beraber gelen yeni özelliklere de kısaca değinecek olursak, bunlar;

 

·         AFP,CIFS,FTP, NFS,SSH, SFTP ve TFTP gibi dosya paylaşım mekanizmaları desteği.

·         Active Directory ve LDAP kimlik doğrulama sistemi desteği

·         GMİRROR, GSTRİPE, GRAİD3, UFS2 tabanlı volüme desteği

·         Anlık kota sıkıştırma, çoğaltma, ve alt küme veri hacimlerini paylaşmakta kullanılan, ve UFS2 de olmayan bir çok özelliği destekleyen ZFS desteği

·         Anlık sistem bildirimlerini otomatik olarak kullanıcının Email adresine postalama

·         Grafik arayüz üzerinden, otomatik çoğaltma ve yönetim desteği

·         ISCSI portal üzerinden çoklu IP belirleme

·         USB 3.0 desteği

·         Windows işletim sistemi üzerinden ,periyodik olarak snapshot alma desteği

·         Windows’un ACL ve UNIX dosya sistemi izinleri için destek verme özelliği gibi yeni özellikler FreeNAS 8.3.0 ile beraberinde gelmekte.

 

FreeNAS tarafındaki sistem gereksinimlerine de kısaca göz atacak olursak;

 

FREENAS Sistem Gereksinimleri (7/8)

 

 

image001

 

 

Evet, makalemizin bu bölümüne kadar, FreeNAS ‘ın ne olduğundan,  FreeNAS ile beraber gelen  yeni özelliklerden ve FreeNAS kurulumu için gerekli olan sistem gereksinimlerinden bahsettik. Makalemizin bundan sonraki bölümlerinde ise, makalemizin de ana konusunu oluşturan FreeNAS üzerinde ISCSI initiator yapılandırmasından bahsediyor olacağız. FreeNAS üzerinde ISCSI initiator yapılandırması için ilk önce FreeNAS işletim sistemi yüklü sunucumuza login oluyoruz. FreeNAS sunucumuza login olmak için explorer adres satırına FreeNAS sunucumuzun IP adresini yazıyoruz.

 

 

image002

 

 

FreeNAS sunucumuzun IP adresinin adres satırına yazılması işleminin ardından karşımıza yukarıdaki şekil üzerinde görmüş olduğunuz gibi, Welcome to FreeNAS 8.3.0 karşılama ekranı karşımıza çıkmakta. Welcome ekranı üzerinde, gerekli kısımlara kullanıcı adı ve şifremizi yazdıktan sonra Login tuşuna basıyoruz.

 

 

image003

 

 

FreeNAS sunucumuza Login olmamızın ardından, karşımıza yukarıdaki şekilde de gördüğünüz gibi FreeNAS sunucumuza ait yönetimsel işlemleri gerçekleştirebileceğimiz bir yönetim konsolu çıkmakta. System Information kısmında, FreeNAS sunucumuzun Host Name ismi, kullanmış olduğumuz FreeNAS işletim sistemine ait version bilgisi, sunucumuzun üzerindeki mevcut RAM miktarı ve İşlemci modeline ait bilgiler yer almakta.  Sol konsolda ise, yine sunucumuz üzerinde bir takım yönetimsel işlemleri gerçekleştirebileceğimiz seçenekler mevcut.

 

 

image004

 

 

Reporting tabına baktığımızda ise, sunucumuzun üzerinde bulunan işlemci, RAM, Harddisk ve İnterface gibi aygıtlar hakkındaki bilgilere bu grafiksel ekran üzerinden ulaşabiliyoruz. Sol konsol üzerinde bulunan Accountmenüsüne tıkladığımız zaman, sunucumuz üzerindeki kullanıcıları ve grupları görebilmekteyiz.

 

 

image005

 

 

Eğer, Admin kullanıcısının kullanıcı adı ve şifresini değiştirmek isterseniz, Account menüsü altında bulunan Change Admin User seçeneğine tıklayarak ilgili değişiklikleri yapabilirsiniz. ISCSI İnitiator tarafındaki yapılandırma işlemine, ilk önce sunucumuz üzerinde Volume oluşturarak başlayacağız. Bunun için, üst menülerden Storage >> Volume Manager seçeneğine tıklayarak başlıyoruz.

 

 

image006

 

 

Volume Manager seçeneğine tıkladığımızda karşımıza, FreeNAS sunucumuz üzerinde mevcut durumda bulunan disklerimizin listesi çıkmakta. Benim sunucum üzerinde, şekil üzerinde de görüldüğü gibi dört adet 500 GB’lik SATA disk bulunmakta.  Volume Name kısmına oluşturacağımız volume için bir isim girdikten sonra Member disk listesi içerisinden eklemek istediğimiz diskleri seçiyoruz.  File System kısmında, oluşturacağımızvolume tipinin ne olacağını belirliyoruz. Group Type kısmına baktığımızda karşımıza birkaç seçenek çıkmakta. Bunlar;

 

·         Mirror

·         Stripe

·         RAID-Z

·         RAID-Z2

 

Mirror (Aynalama)

 

İki diskten oluşan bir sunucu içerisindeki verilerin, kopyalanma sırasında oluşturduğu senkronizasyon işlemidir. Bu yöntem ile, birinci diske yazılan veriler, aynı zamanda ikinci diske de yazılır.

 

Stripe (Şeritleme)

 

Bu yöntem ile de, tek bir birim içerisine birden fazla disk’in oluşturularak, tekrardan birleştirilmesi sağlanır.

 

 

 

RAID –Z

 

 

Daha önceki RAID yapılarında alışık olduğumuz RAID 5, FreeNAS üzerinde RAID-Z’ye karşılık gelmekte. Yani, FreeNAS üzerinde RAID 5 yapmak istediğimizde RAID-Z seçeneğini kullanıyoruz.

 

RAID-Z2

 

RAID –Z2 ise, RAID 6 ‘ya karşılık gelmekte.

 

Ben, FreeNAS sunucum üzerinde RAID-5 yapmak istediğim için RAID tipi seçenekleri arasından, RAID-Z seçeneğini seçiyor ve Add Volume menüsüne tıklıyorum.

 

 

image007

 

 

Add Volume işleminin ardından, oluşturmuş olduğumuz volume ait bilgileri ekran üzerinde de görebilmekteyiz.  Status kısmına baktığımızda, oluşturmuş olduğum uz diskin HEALTHY, yani sağlam durumunda olduğunu görüyoruz. Oluşturmuş olduğunuz Volume yapısına yeni bir Volume eklemek isterseniz, Import Volume seçeneğini kullanabilirsiniz.

 

 

image008

 

 

View Disk tabına baktığımızda, sunucumuz üzerinde bulunan disklerimizi görmekteyiz.

 

 

image009

 

 

Volume oluşturma işleminden sonra, Sharing menüsü içerisinden Add Windows CIFS Share seçeneği ile yeni bir Volume Share oluşturuyoruz.

 

 

image010

 

 

 

 

Add Windows (CIFS) Shrare ekranında, şekil üzerinde de görüldüğü gibi karşımıza bazı seçenekler çıkmakta.  Bu seçeneklere de kısaca değinecek olursak;

 

Name

 

Oluşturulacak olan paylaşım için bir isim girilir.

 

Comment

 

Herhangi bir isim yazılabilir.

 

Path

 

Sunucu üzerinde oluşturulmuş olan Volume’nin adres yolu belirtilir

 

Export Read Only

 

Oluşturulacak olan paylaşım içerisine yazma erişimi engellenir.

 

Browsable to Network Client

 

Oluşturulan paylaşıma explorer üzrinden erişim gerçekleştirecek olan Windows istemcileri için izin verilir.

 

Show Hidden Files

 

Etkinleştirildiği taktirde, (UNIX) ile oluşturulmuş olan dosya isimlerinin görüntülenmesi sağlanır.

 

Allow Guest  Access

 

Konuk kullanıcıların, CIFS protokolü ile paylaşıma açılmış olan paylaşımlara, şifre gerektirmeden erişim gerçekleştirmeleri sağlanır.

 

Only Allow Guest Access

 

Etkinleştirildiği takdirde yalnızca misafir kullanıcılara izin verilir.

 

Evet, gerekli işlemler yapıldıktan sonra Ok tuşuna basarak işlemi onaylıyoruz. 

 

 

image011

 

 

Yukarıdaki şekil üzerinde de görüldüğü gibi Windows (CIFS) tabı içerisinde açmış olduğumuz paylaşım aktif olarak görünmektedir Bu işlemin de ardından Services menüsü içerisinden NFS servisini ON konumuna getiriyoruz.

 

 

image012

 

 

NFS servisinin Enable edilmesinin ardından, yine Services menüsü içerisinden ISCSI servisini ON konumuna getirerek yanındaki anahtar simgesine tıklıyoruz.

 

 

image013

 

 

image014

 

 

Karşımıza gelen pencerede, Portals tabına geliyoruz ve ardından Add Portal diyerek yeni bir portal oluşturuyoruz.

 

 

image015

 

 

Add Portal ekranı üzerinde, Comment kısmına oluşturacak olduğumuz portal için bir isim belirliyoruz. Portal IP kısmında, IP Adress ve Port değerlerini girerek OK tuşuna basıyoruz.

 

 

image016

 

 

Portal Successfully mesajı ile portalımızın başarılı bir şekilde oluşturulduğunu görüyoruz. Portal oluşturma işleminin akabinde, makalemizin bundan sonraki bölümlerinde ISCSI initiator oluşturma işlemlerini gerçekleştireceğiz.  ISCSI initiaor işlemleri için, İnitiators tabı içerisinden Add İnitiators seçeneğine tıklıyoruz. Oluşturmuş olduğunuz initiator’u düzenlemek isterseniz, Edit butonuna basmanız yeterli.

 

 

image017

 

 

Add İnitiator ekranında, Comment kısmına, oluşturulacak olan initiator için bir isim belirliyoruz. Ben örnek olması açısından ISCSI İnitiator ismini verdim. Yukarıda yer alan İnitiaotors ve Authorized network kısımlarını ise default olarak bırakıyoruz. Ok diyerek işlemi onaylıyoruz. İnitiator oluşturduktan sonra ise, yine konsol üzerinde Authorized Access tabına geliyoruz ve ISCSI erişimi için yeni bir ID oluşturuyoruz.

 

 

image018

 

 

image019

 

 

ISCSI İnitiator oluşturma işleminin diğer adımında, Target oluşturma işlemi yer almakta.  Burada tanımlayacağımız target ile, ISCSI İnitiator üzerinden varolan disklerimize erişim gerçekleştireceğiz. Target oluşturmak için, yine FreeNAS yönetim konsolu üzerinde Target tabına geliyoruz ve ardından Add Target diyerek target oluşturma işlemine başlıyoruz.

 

 

image020

 

 

image021

 

 

Add Target penceresi üzerinde, oluşturcağımız target ile ilgili, Target Name, Target Alias Portal Group, İnitiator Group ID değerlerini belirliyoruz. Portal Group ID olarak, açılan liste içerisinden, bundan bir önceki adımlarda oluşturduğumuz ISCSI Portalı, İnitiator olarak da ISCSI initiator değerini seçiyoruz. Authentication Group Number, Target Flags,  ve Auth Method gibi değerleri default olarak bırakıyoruz. Tüm bu işlemlerinde ardından OK diyerek işlemimizi onaylıyoruz.

 

 

image022

 

 

Yukarıdaki şekilde de gördüğünüz gibi Target ‘imiz başarılı bir şekilde oluşturulmuş durumda. Target oluşturma işleminden sonra sırada, Extend oluşturma işlemimiz var. FreeNAS konsol üzerinde Extend oluşturmak için, konsol üzerinde File Extend  >> Add File Extend seçeneklerine tıklıyoruz.

 

 

image023

 

 

image024

 

 

 

Yine bu pencere üzerinde, Extend Name olarak bir isim belirliyoruz. Path to the extend olarak Browse tuşuna basarak açılan liste içerisinden daha önce  oluşturduğumuz ve paylaşıma açtığımız Volume adresini gösteriyoruz. Extend size kısmında ise, oluşturulacak olan disk boyutu için MB veya GB cinsinden bir değer belirliyoruz. Bu işlemlerinde ardından OK diyerek bu pencereyi de kapatıyoruz.

 

Extend oluşturma işleminden sonra, makalemize Associated Target oluşturma işlemi ile devam edeceğiz.  Associated Target oluşturmamızdaki amaç,  hedef ile bir önceki adımda oluşturduğumuz File Extend’i ilişkilendirmek içindir. Associated Target oluşturmak için konsol üzerinde Associated Targets tabına geliyoruz ve ardınan Add to Extend Target menüsüne tıklıyoruz.

 

 

image025

 

 

 

Add Extend To Target ekranı üzerinde, Target ve Extend değerini açılan liste içerisinden seçiyoruz ve OK diyoruz.  Evet, FreeNAS sunucumuz üzerinde gerçekleştireceğimiz işlem adımları bu kadar. Şimdi, Windows üzrinden ISCSI initiator servisini açarak gerekli yapılandırmaları gerçekleştiriyoruz.

 

 

image026

 

 

ISCSI initiator üzerinde, Target kısmına FreeNAS sunucumuzun IP adresini yazıyoruz ve Qick Connect tuşuna basıyoruz.

 

 

image027

 

 

Connect işlemimiz, yukarıdaki şekil üzerinde de görüldüğü gibi başarılı bir şekilde tamamlanmış durumda.

 

 

image028

 

 

ISCSI initiator Properties ekranında, Discovery tabına baktığımızda ise, yine FreeNAS sunucumuzun IP adresini, erişim gerçekleştirdiği port numarasını görmekteyiz.

 

 

image029

 

 

Favorite Tags tabında, sunucumuzun target adresi yer almakta.

 

 

image030

 

 

Disk Management konsolumuzu açtığımızda, oluşturmuş olduğumuz 200GB lik diskimizin eklenmiş olduğunu görmekteyiz. Oluşturmuş olduğumuz disk’in üzerinde henüz bir bölüm oluşturulmadığı için diskimiz kullanılabilir durumda değil. Bunun için disk üzerinde sağ tuş yapıyoruz ve açılan menüden New Simple Volume seçeneğine tıklayarak , diskimiz üzerinde yeni bir bölüm oluşturmaya başlıyoruz.

 

 

image031

 

 

Welcome to the New Simple Volume Wizard ekranını Next ile geçiyoruz.

 

 

image032

 

 

Specify Volume Size penceresinde, disk boyutu ile ilgili bilgiler yer almakta. Herhangi bir değişiklik yapmadan next diyoruz.

 

 

image033

 

 

Assign Drive Letter or Path ekranında, sürücü harfi atama gibi işlemleri gerçekleştiriyoruz.

 

 

image034

 

 

Format Partition ekranında ise, diskmizin hangi method ile formatlanacağını ve Volume isminin değiştirilmesi gibi işlemleri gerçekleştiriyoruz.

 

 

image035

 

 

Volume oluşturma işlemimiz, yukarıdaki şekil üzerinde de görüldüğü gibi başarılı bir şekilde tamamlanmış durumda. Finish diyerek bu ekranı da kapatıyoruz.

 

 

image036

 

 

Disk Managemet konsoluna tekrar dönüş yaptığımızda, oluşturmuş olduğumuz disk’in artık kullanılabilir durumda olduğunu görmekteyiz.

 

Evet, bir makalemizin daha sonuna geldik. Bu makalemizde, FreeNAS sunucusu üzerinde ISCSI initiator konfigürasyonundan bahsettik. Faydalı bir makale olması dileği ile hoşcakalın..

Local Syslog’u Remote (KIWI) Syslog’a Yönlendirme

$
0
0

 

 

Bu makalede linux kerneline sahip tüm OS’larda local syslog’dan remote syslog server’a  yönlendirmesinden bahsedeceğim.

 

Gereksinimlerimiz ve Kullanacağımız Araçlar

 

KIWI Syslog’u krabileceğiniz İşletim Sistemi: Windows XP,7,8

 

Bu linkt’ten indirebilirsiniz (KIWIServer) (http://www.kiwisyslog.com/kiwi-syslog-server-overview)

 

Putty Console Bu link’ten indirebilirsiniz (http://www.chiark.greenend.org.uk/~sgtatham/putty//)

 

Öncelikle bunun yapmamızdaki amaç bilindiği üzere bazı firmalarda güvenlik ile ilgili bir takım sorunlar yaşanmakta . Bu konudan yola çıkarak tüm network hareketlerini başka bir sunucuda uzun tarihli log olarak barındırmak ve sonra bu logların analizlerini yapmak.

 

Syslog Konfigurasyon komut satırına vi editörü ile girerek başlıyoruz. “vi /etc/syslog.conf” Yönlendirmelerin tanımlanacağı konfigürasyon dosyası’nı açıyoruz ve tanımlamalara başlıyoruz.

 

 

image001

 

 

Şekil -1

Uzak Sunucu (KIWI Server Destination Adress) Destination Kısımını “file”’dan – “remote”’a şeklinde değiştiriyoruz . Diğer Remote bilgilerini  Şekil-3 teki gibi kendimize konfigürasyonumuza göre değiştiriyoruz. “Remote=loghost:514 Enter “Remote Server Ip Adress” Syslog Port Default ”514”

 

 

image002

 

 

Şekil -2 (Yönlendirmelerin tanımlanacağı konfigürasyon dosyası’nın içeriği)

 

 

image003

 

 

Şekil-3

 

Sıradaki işlem “Route Table’a Statik Route tanımlama” Bunu yapmamızın nedeni ; Paketlerin hangi Gateway’i kullanarak hangi uzak makinaya gidecek olmasını belirlemek.

 

“ip route add ”RemoteSyslogServerIp” via “GatewayIp” table 220 dev eth0”

 

 

image004

 

 

Şekil -4

 

Şekil -5’te servisleri stop ve start ediyoruz. Stop&Start: STOP “/etc/init.d/syslog stop” START: “/etc/init.d/syslog start” (Bunu yapmamızın nedeni hem yaptığımız değişikliklerin geçerli olması hemde kontrol edilmesi.)

 

 

image005

 

 

Şekil -5

 

Şekil -6’da Konfigürasyon işlemleri tamamlandı ve yaptığımız işlemlerin geçerliliğini doğrulamak için “ps” komutu ile gözden geçiriyoruz.

 

 

image006

 

 

Şekil -6

 

 

image007

 

 

Şekil-7

 

Şekil-7’de Görüldüğü gibi log’lar tanımlamasını yaptığımız uzak sunucuya düşmekte.          Host Name Alanı Uzak sunucuya gelen paketler kime ait olduğunu yani kimden geldiğini gösteriyor. Bunun dışında kontrol amaçlı text mesajları göndermek için aşağıdaki komutları kullanabilirsiniz.

 

Kontrol amaçlı mesajlar gönderebilirsiniz. Aşağıdaki komutları kullanarak Putty Konsolu üzerinden mesaj gönderebilirsiniz.Bunu yapmak için “logger” komutunu kullanacağız.

 

logger "MERHABA COZUMPARK"

 

 

image008

 

 

(Tag)Etiket Mesajları Gönderebilmek için;

 

logger -t [MERHABA] "COZUMPARK"

 

Bu şekilde log göndermemin nedeni multiple server ortamlarında log ayıklamanız daha kolay olacaktır.Bir nevi etiket şeklinde

 

 

image009

 

 

(Warn )Uyarı Mesajları Gönderebilmek için.;

 

logger -t [COZUMPARK] -p user.warn "SAFE ZONE COZUMPARK"

 

 

image010

 

 

Şimdilik anlatacaklarım bu kadar daha sonra KIWI Syslog Server kurulumundan bahsedeceğim.

Satellite Kickstart Kurulum

$
0
0

 

Redhat ın Satellite ürünü ile birlikte gelen kickstart özelliği bize yapılandırılmış işletim sistemlerini otomatik olarak dakikalar içerisinde kurabilme imkanı sunmakta.

 

Bu özellik sayesinde  bir kereye mahsus kurulum yapmak istediğiniz işletim sistemine ait özellikleri belirliyoruz, sonrasında kuracak olduğunuz tüm işletim sistemlerinde hiç bir ayar yapmaksızın root password, firewall, selinux status, disk yapılandırması v.b. gibi birçok özellik configure edilmiş şekilde işletim sistemine sahip oluyoruz. Bir kere hazırladığımız bir image sürekli kullanmak gibi düşünebilirsiniz bunu ancak bunun için ne cd nede farklı bir donanıma ihtiyacınız var, ortamınızda dhcp sunucunuzun olması yeterli.

 

Kısaca yapıdan bahsedecek olursa ortamınızda 1 adet dhcp sunucu, 1 adet satellite sunucu ve kurulum yapılacak bir test sunucunuzun olması yeterli.

 

 

A) DHCP Yapılandırması

 

DHCP sunucu üzerinde pxe için yapılandırma yapmanız gerekiyor, linux dhcp sunucu için örnek yapılandırma ayarı aşağıdaki gibidir,

 

 

/etc/dhcpd.conf  içerisine aşağıdaki kodlar eklenmelidir.

 

allow booting;

allow bootp;

class "PXE" {

match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";

next-server 192.168.2.1;

filename "pxelinux.0";

}

next-server bölümüne yazılan ip adresi satellite sunucunuza ait ip adresi olmalıdır. DHCP servisini restart edelim, değişikliğin geçerli olabilmesi için.

 

 

DHCP deki bu yapılandırmadan sonra ağımızdaki bir sunucu boot işlemini gerçekleştiremez ise dhcp den ip alarak next-server bölümündeki ip adresinden boot etmeyi deneyecektir.

 

 

B) Satellite Yapılandırması

 

Satellite yapılandırmamızı satellite sunucumuzun web GUI den gerçekleştireceğiz.

Satellite sunucumuza Web GUI den erişerek login oluyoruz.

 

 

Not : Arayuze Infrastructure Admin userı ile login olmamız gerekir.

1- İlk login olduğumuzdaki ekran görüntüsü aşağıdaki gibidir,

 

 

image001

 

 

 

 

 

 

 

 

 

 

 

 

2- Üst menüzdeki System > Kickstarts adımlarını izliyoruz.

 

 

image002

 

 

 

 

 

 

 

 

 

 

 

3- Kickstart Actions>Create a New Kickstart Profile İle yeni profil oluşturuyoruz.

 

 

image003

 

 

 

 

 

 

 

 

 

 

 

4- Bu bölüm de kickstart image için temel yapılandırma ayarlarını seçiyoruz.

 

Bu bölüm de Kickstart ismini, channel, tree ve sanallaştırma ortamı için oluşturulan bir kickstart image ise sanallaştırma type seçiyoruz.

 

Label                           : RHEL6_Kickstart_Test

Base Channel :  Redhat 5 -6 veya 32-64 bit seçenekleri mevcut ihtiyacımıza göre seçiyoruz.

Kickstartable Tree       : Base Channel değerine göre otomatik olarak değişiyor.

Virtualization Type     : Sanal sunucu için oluşturular kickstart da uygun olanı seçilmelidir.

 

 

 

image004

 

 

 

 

 

 

 

 

 

 

5- File location bölümün de her hangi bir değişikliğe ihtiyacımız yok, default olarak bırakabiliriz.

 

 

image005

 

 

 

 

 

 

 

 

 

 

6- Bu bölümde kickstart ile kurulacak olan redhat ın root şifresini set ediyoruz ve Finish butonu ile kickstart image oluşturmuş oluyoruz.

 

 

image006

 

 

 

 

 

 

 

 

7- Şuana kadar default bir redhat kurulumu için kickstart oluşturduk, şimdi sistem ayarlarını yapılandırmamız gerekiyor. Aşağıdaki ekran görüntüsünde de görebileceğiniz gibi sistem ayarlarını yapılandırabileceğiniz menüler bulunmakta, bu menüler den sistem ayarlarınızı yapılandırabilirsiniz.

image007

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8- Örneğin Selinux default da ….. gelmekte, biz bunu disabled etmek için,

SystemDetails > Details  menüsü altındaki Software Preferences bölümünden selinux disabled olarak seçebiliriz.

 

 

 

image008

 

 

 

 

 

 

 

9- Time zone değişikliği için SystemDetails > Locate adımları izlenerek değiştirilebilir.

 

 

image009

 

 

 

 

 

 

 

 

 

 

10- Disk yapılandırması için SystemDetails > Partitioning menüsün den değiştirilebilir.

 

 

image010

 

 

 

 

 

 

 

 

 

 

 

11- Software >Package Groups dan kurulumdaki base, minimal gibi seçenekleri yapılandırabilirsiniz.

 

 

image011

 

 

 

 

 

 

 

 

 

 

 

 

 

12- Firewall v.b. ayarları Kickstart Details > Advanced Options menüsünden gerçekleştirebilirsiniz.

 

 

image012

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bu ve benzeri birçok ayarı bu bölümden istediğiniz şekilde özelleştirebilirsiniz.

 

Buradaki yapılandırmayı bitirdiğinizde ise web arayüzünden yapmanız gereken işlemler tamamlanmış olur.

 

 

13- Şimdi bu network deki bir sunucumuzun bios ayarlarına girerek network den boot edecek şekilde configure edelim ve sunucumuzu açalım.

 

14- Sunucumuz network den boot ettiğinde dhcp deki ayardan dolayı satelilte dan boot etmeyi deneyecektir ve karşımıza aşağıdaki gibi bir ekran görüntüsü gelecek, ekran görüntüsünde oluşturmuş olduğumuz tüm kickstart profilleri listelenecektir, hangisi ile kurulum yapmak istiyorsak bunu seçerek devam ediyoruz.

 

 

image013

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15- Kickstart profili yükleniyor.

 

 

 

image014

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16- Profil yükleme işlemi tamamlandığında normal redhat kurulumu başlıyor.

 

 

image015

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17- Kurulum tamamlandı ve redhat açılıyor.

 

 

image016

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

18-Elinizi bile sürmeden kurulumunu tamamladığınız redhat sunucunuza login olmaya hazır mısınız?

 

 

image017

 

 

 

 

 

 

 

 

 

 

 

 

 

Bundan sonraki tüm kurulumlarınızda sunucunuz bios dan network den boot edecek şekilde ayarlayarak ilgili kickstart profilini seçmeniz yeterli olacaktır.

 

 

Gördüğünüz gibi kickstart kurulumu oldukça basit ve zaman kazandıran bir özellik, kullandıkta daha çok seveceğinizden eminim.

 

Faydalı olabilmesi temennisi ile...

Redhat Yeni Kernel Yükleme – Redhat New Kernel Install

$
0
0

 

 

Daha önce çalıştığım firmada başıma büyük dert açan bir olayı anlatmak istiyorum.  Ele geçirilen her server sanallaştırılmış ve sistem odasında 5-6 tane ESX host vardı. Hepsi’nin ortak noktası  Intel olması. Proje kapsamında büyük yeni bir HA sistem kuruldu. Tek fark CPU AMD.  Bütün vm_guest leri Şahan Çelikağ arkadaşımızla birlikte yeni yapıya migrate etmeye başladık. Bütün makineler succuss olarak taşındı ama 11 tane redhat makine migrate sonrası fail etti ve reboot olmadı. Açılışda kernel panic hatası verdi.  Araştırmalarımız sonucunda kernellerin upgrade olması gerektiğini anladık ve bütün panic haldeki makinelerin kernel’lerini upgrade ettik ve boot olmasını sağladık. 

 

Bu çalışmamı vmware workstation üzerindeki RHEL 5.3 üzerinde adım adım anlatarak yapacağım. Umarım beğenirsiniz. Kernel bilindiği üzere operating system’in core’udur ve memory allocation, process allocation gibi birçok temel işlemleri gerçekleştirir.

 

İlk önce mevcut kernel ve CPU hakkında bilgi alacağım ve sisteme uygun kernel versiyonunu tespit edip download edeceğim.

 

image001

image002

 

 

 

 

 

image003

 

 

 

Yukarıda görüldüğü üzere Intel CPU üzerinde i386 RHEL 5.3 kurulu ve üzerindeki kernel versiyonu 2.6.18-128.el5 #cat /proc/cpuinfo’nun output’unda CPU’nun intel olduğunu gördüm.  Mevcut kernel security, bug fix, enhancement update, hardware ya da üzerinde çalışan uygulamanın gereksimleri kapsamında upgrade edilecek.  Bu örnek çalışma için RHEL 5.6 ile beraber release edilen kernel versiyonu olan kernel-2.6.18-238.1.1.el5 ile upgrade işlemini yapacağım.

 

 

image004

 

 

 

Download edeceğim kernel hakkında redhat’ın resmi sayfasından bilgi ediniyorum.

 

 

image005

 

 

 

 

Paketi download ettikten sonra md5 check sum yaparak fingerprintleri match ediyorum.  Yukarıdaki fingerprint değeriyle aynı olduğunu görüyorum.

 

 

 

image006 

 

 

 

Kernel’i –ivh ile makineye yüklüyoruz. –Uvh kesinlikle kullanmıyoruz.  Eğer –U ile upgrade yaparsak sitemde çalışan kernel binaryleri siler ve yenisi ile replace eder. Yeni kernel yüklenip gerekli testler yapıldıkdan sonra –e ile eski kernel silinebilir.

 

 

 

image007

 

 

 

Sisteme uygun mimarideki, crash olmamış doğru paketi yüklediğim için hatasız bir kurulum gerçekleştirdim.

 

 

Kurulumdan sonra /boot folder’ında yeni kernel için config, initrd image, symvers, system.map ve vmlinuz dosyalarının oluştuğunu görüyorum/kontrol ediyorum.

 

 

 

image008

 

 

 

/etc/grub.conf dosyasında yeni kernel’in  eklendiğini görüyoruz. Default değerin 0 olduğunu görüyoruz. Bu makinenin  ilk sıradaki kernel’dan boot olacağını gösterir.  hiddenmenu’yü  # işareti ile kapatırsak açılışda seçmeli menü’yü görürüz. Timeout değerini  5 yerine  30 ya da 40 yaparsak menü’yü kaçırmamış oluruz.

 

 

 

 

image009

 

 

 

Makineyi reboot ediyoruz ve karşımıza aşağıdaki ekran geliyor. Yeni kernel’in ilk sırada olduğunu görüyoruz.

 

 

 

 

 

image010

 

 

 

uname –r  ya da –a ile kernel versiyonunu kontrol ediyoruz. Görüldüğü üzere makinemiz yeni kernel ile boot olmuş.

 

 

 

image011

 

 

 

Sistemi tatminkar bir süre dahilinde test ediyorum ve eski kernel’i silmeye karar veriyorum.

 

Mevcut kernel’ları kontrol ediyorum ve eskisini –e parametresi ile siliyorum. 

 

grub.conf dosyasını kontrol ediyorum ve eski kernel’in silindiğini görüyorum. Daha sonra makineyi reboot edip boot ekranıma bakıyorum.

 

 

image012
image013

 

 

 

Görüldüğü üzere bir tane kernel’im var ve 32 sn. sonra boot olamaya başlayacak.

 

 

 

image014

 

 

 

Görüldüğü üzere yeni bir kernel yüklemek yeni bir paket yüklemekden farklı değil. En önemli kriter production sisteme zarar vermeden yeni versiyonu yüklemek ve testlerini gerçekleştirmek.

Pardus Kurumsal 2013 Gnome Kurulumu

$
0
0

 

 

Pardus 2013 çıkalı çokta uzun bir zaman olmadı. Yeni özellikler ve yeni yüzüyle TÜBİTAK destekli Türk işletim sistemi 2013 versiyonu ile yeniden hayatımıza girdi. Bu yazımızda başlıktan da anlaşılacağı üzere Pardus Kurumsal 2013 Gnome Kurulumu yapacağız.  Tamamıyla ücretsiz olan ve lisans gerektirmeyen bu ürünü denemenizi öneririm. Biraz yapımdan bahsetmek gerekirse ben kurulumu lab ortamında yapacağımdan ötürü Windows Server 2012 üzerinde enable edilmiş Hyper-V rolü üzerinde gerçekleştireceğim. İlk önce Hyper-V üzerinde sanal bir makine oluşturuyorum. Burada önemle belirtmek isterim ki kurulumu fiziksel bir bilgisayar üzerine yapacak arkadaşlar kurulum adımlarında hiç bir şey değişmeyecektir. Kurulum adımlarına başlamadan önce ufak bir hatırlatma ile sistem gereksinimlerinden bahsedelim.

 

Pardus 2013 Sistem gereksinimleri;

 

-          64 Bit Mimarisini destekleyen işlemciler

-          1 GB RAM

-          4 GB Boş Hard Disk Alanı önerilen 10 GB’tır.

-          DVD-ROM

Artık kuruluma geçebiliriz. İlk önce yapmamız gerekenlerden bahsedelim.

 

 

image002

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-01

 

Pardus2un resmi web sayfasına giderek https://www.pardus.org.tr/indir ilgili pardus’u indirelim. 2 tür pardus sürümü bulunmakta topluluk ve kurumsal olarak biz bu yazımızda kurumsal pardus’u kuracağımız içinftp://ftp.ulakbim.gov.tr/pub/Pardus2013/  ilgili bağlantıya tıklıyoruz.

 

 

image004

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-02

 

Sizlerde yapınıza uygun daha doğrusu bilgisayarınıza uygun olan sürümü indirebilirsiniz. Ben pardus_kurumsal_2013_gnome_64bit_tr.iso sürümünü indireceğim.

 

 

image006

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-03

 

Şimdi ise indirdiğimiz .isouzuntılıpardus dosyasını DVD ye yazdıralım. Ardından Pardus 2013 kuracağımız. Bilgisayarın CD üzerinden boot olmasını sağlamamız gerekmekte şimdi Pardus kurumsal 2013 DVD mizi bilgisayarın. DVD okuyucusuna takarak CD den boot edelim. Yukarıda ki ekranda görüldüğü gibi Pardus 2013 boot oluyor birazdan kuruluma başlayacağız.

 

 

image008

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-04

 

Görüldüğü gibi pardus 2013 boot oldu yalnız bir problem var galiba direk masa üstü açıldı yanlış imajımı indirdik acaba J hayır yanlış imajı indirmedik tabii ki ayrıca indirdiğimiz pardusliveçalışan bir pardus kurulum yapmadan pardus’un yeni özelliklerini keşfetmemiz  için güzel bir özellik. Artık Pardus 2013 CD den boot olduğuna göre kuruluma başlayabiliriz. Yukarı sol üst köşede 3 adet icon bulunmakta bu iconlardan Sabit Disk’e kur iconunuçift tıklayarak çalıştıralım.

 

 

image010

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-05

 

Karşımıza Pardus yükleyici eknanı açılacaktır. Bu ekranda Pardus’un hangi diske kurlulacağını belirtmemizi istiyor. Benim tek bir diskim olduğu için ilgili diskimi seçerek ileri’yi tıklıyorum.

 

 

image012

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-06

 

Karşımıza ufak bir ekran yani kurulum aracı çıkacaktır. Sabit diskin üzerinde hiçbir bölüm tablosu bulunamadığını ve bunu otomatik olarak yapıp yapmak istemediğimizi soruyor. Ben evet seçiyorum. Bir müddet bekliyorum. Acele etmenize gerek yok disk üzerinde kurulumun yapıla bilmesi için gerekli tablo yapılandırmalarını oluşturacaktır.

 

 

image014

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-07

 

Bu ekranda ise pardus’un hangi bölüme kuracağımızı seçmemizi istiyor. Burada 2 bölüm görülmekte bunlar /dev/sda1 swap bir diğeri ise /dev/sda2 biz /dev/sda2 seçerek Bölümleri düzenle yi tıklıyoruz.  Burada bir bölüm görünmekte swap diye eğer bu bölümü merak ediyorsanız biraz bu bölümden bahsedelim. Linux tarafında Swap olarak isimlendirilen Windows’ta ise karşılığı pagefile olan bu sistem Linux üzerinde takas alanı olarak belirtilir. Linux işletim sistemi çalışırken Fiziksel RAM kaynaklarının kullanımı fazlalaştığında ve artık RAM ihtiyacı olduğunda sistemin darboğazdan kurtulabilmesi için fiziksel RAM gibi swap alanı çalışmaktadır. İşin kısacası disk üzerinde belirli bir alan bloglayarak RAM ihtiyacı arttığında Linux swap alanını fiziksel RAM gibi kullanmaktadır. 

 

 

image016

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-08

 

Karşımızda Bölümleri düzenle aracı gelecektir. Burada Bağlama Noktasını / işaretini biçimlendir ext4 seçiyoruz. Ardından tamama tıklıyoruz. Tamama tıkladıktan sonra Bölümleri düzenleme ekranı kapanacaktır. Şimdi ileriyi tıklayabiliriz.

 

 

image018

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-09

 

Şimdi ise karşımıza kullanıcı bilgileri ekranı gelmekte zaten bu ekranı açıklamaya pekte gerek görünmemekte burada sadece söylemek istediğim makine adının küçük harflerden ve Türkçe karakter kullanmadan oluşturmalısınız. Kullanıcı bilgilerimizi girdiken sonra ileriye tıklayabiliriz.

 

 

image020

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-10

 

Burada hiçbir ayara dokunmadan ileriyi tıklayalım.

 

 

image022

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-11

 

Yukarıda ki ekranda ise yaptığımız ayarlamaların özetini görebiliriz. Eğer bir yanlış adım atmadığınızdan eminseniz. Kur tıklayarak Pardus 2013 kurulumuna başlayabiliriz.

 

 

image024

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-12

 

Bu ekranda yapacağımız bişey yok diyebiliriz. Kopyalanacak dosyalar oluşturulmakta.

 

 

image026

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-13

 

Pardus 2013 kurulumu başlamış durumda kurulum işlemi sistem özelliklerimize göre 15 ila 25 dakika arasında değişiklik gösterebilir.

 

 

 

image028

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-14

 

pardus 2013 kurumsal gnome kurulumumuz artık bitti bizden sistemi yeniden başlatmamızı istemekte tamam tıklayalım.

 

 

image030

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-15

 

Sistemi yeniden başlatabilmek için kullanıcı adımıza tıklayalım ve Kapat tıklayalım.

 

 

image032

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-16

 

Kapatı tıkladıktan sonra ne yapmak istediğimizi soran bir ekranla karşı karşıyayız. Burada Yeniden Başlat seçerek sistemimizi yeniden başlatalım. Önemli Not: Pardus 2013 fiziksel bir bilgisayar üzerine yapıyorsanız kurulum medyasını çıkarınız ya da Hyper-V üzerinde yapıyorsanız sanal diski çıkartmanız gerekmektedir. Aksi taktirde bilgisayarınız yeniden CD üzerinden boot olacaktır.

 

 

image034

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-17

 

Pardus 2013 yüklediğimiz bilgisayarımız açılıyor.

 

 

image036

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-18

 

Şimdi ise kullanıcıyı çift tıklayalım.

 

 

image038

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-19

 

Parolamızı girdikten sonra Oturum Aç tıklayalım.

 

 

image040

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-20

 

Karşımızda Pardus 2013 Kurumsal Gnome hemen mozillayıçalıştırarak internete giriyor mu bir bakalım. Örüldüğü gibi Google amcam açıldı.

 

 

image042

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-21

 

Son olarak Uygulamalara tıklıyorum ve ofis seçiyorum. Libre Office araçları karşımızda eğer pardus kullanmak gibi bir düşünceniz varsa herhangi bir Office yüklemenize gerek kalmadan Office paketi ile birlikte gelmekte. Artık Pardus 2013 müz içerisinde dilediğimiz gibi dolaşabiliriz.

 

 

image044

 

 

Pardus Kurumsal 2013 Gnome Kurulumu-22

 

Yukarıda ki ekran fiziksel bir bilgisayar üzerinde kurulum yapan kullanıcılarımızı ilgilendirmemektedir. Yazımızın başında Hyper-V 3.0üzerinde oluşturduğumuz sanal makine üzerine Pardus 2013 kurulumu yapacaktık ve şekil-20 den hatırlayacağınız üzere pardus makinemiz sorunsuz bir şekilde internete çıkmıştı. External bir network switch kullanarak bu işlemi gerçekleştirdim. Virtual Network switch hakkında detaylı bilgiye buradan ulaşabilirsiniz.  Bu yazımızda sizlere Pardus Kurumsal 2013 Gnome murulumunu anlatmaya çalıştım. Umarım sizler için faydalı olmuştur.

Solaris Kurulum ve Temel Ayarlar

$
0
0

 

 

Dünyada en sağlam işletim sistemleri düşünüldüğünde ilk akla gelen işletim sistemlerinden biri olarak Solaris akla gelmektedir. Solaris proje olarak 1987’de , AT&T Corporation ve Sun yazılım mühendisleri tarafından inşa edilmeye başlanmıştır. BSD Unix’lere alternatif olarak üretilmeye başlanmış ve isim olarak SunOS seçilmişti. Daha sonra satışa sunulurken ismi Solaris olarak değiştirilerek günümüzdeki yerini almıştı.

 

Bu makale serimizde Solaris kurulumunu, sonrasında temel ayarlarını sonrasında da üzerinde neler yapılabiliyor ’a bakacağız. Bir sonraki adımda ise Oracle database kurulumunu yaparak Database adminlerinin kullanımına sunabiliriz. Öncelikle Solaris’i indirelim. Bunun için http://www.oracle.com/technetwork/server-storage/solaris11/downloads/index.html linkinden Solaris’i indireceğiz. Bu indirme işlemini gerçekleştirmek için bir hesap açmanız gerekecek. Bu hesabı açtıktan sonra sürüm 11’i indirebilirsiniz. Şu an canlı sürüm 11/11 mevcut. 11/0 sürümünü kurarak upgrade işlemini yapıp 11/11’e yükselteceğiz. Böylece sürüm yükseltme işleminide görmüş olacağız. Ben Unix ve Linux işletim sistemlerini mutlaka ve mutlaka minimal seviyede kurarak üzerine sadece gerekli paketlerin kurulumu ile devam ederim. Böylece işletim sistemi belki de hiç kullanmayacağım servisleri install etmez ve sunucu kaynaklarım boşa sarf edilmez. Sizlere de kullanım amacınıza uygun olarak sisteminizi yapılandırmanızı öneririm.

 

Şimdi iso kalıbını indirdikten sonra adım adım kurulum işlemi yapalım. Sunucuyu boot ettiğinizde aşağıdaki ekran karşınıza gelecektir,

 

 

image001

 

 

Solaris boot işleminin hemen akabinde sunucu üzerindeki donanımları inceliyor. Gereki sürücü ve donanım düzenlemelerini yapıyor. Sonrasında aşağıdaki ekran ile devam ediyoruz,

 

 

image002

 

 

Bu aşamada “kurulum ekranlarının” dil ayarlarını yaparak devam ediyoruz. Ben seçenekler arasında “45” nolu seçenek ile devam ediyorum.

 

 

image003

 

 

Şimdi de klavye tuş kombinasyonunu hangi dile göre istediğimizi soruyor. Bunuda verdikten sonra ne yapmak istiyoruz sorusuna geliyor sıra,

 

 

image004

 

 

Seçeneklerden ilk sırada bulunan install oracle solaris seçeneği ile devam edelim. İstediğimiz Solaris’i kurmak. Bundan sonra biraz daha grafik ekrana geçiyoruz, Grafik ekranda alt taraftaki bant üzerinde bulunan F tuş kombinasyonları ile devam edebiliriz. Biz genelde F2 ile devam edeceğiz. Hemen tüm seçenkleri seçtikten sonra F2 tuşuna basarak bir sonraki adıma geçebilirsiniz,

 

 

image005

 

 

Hoş geldiniz sihirbazı. Yukarıda da görebilirsiniz kurulum bittikten sonra kurulum esnasında yapılan tüm işlemleri /system/volatile/install_log. dosyasına yazacak. Gerek görürseniz inceleyebilirsiniz. F2 ile devam edelim,

 

 

image006

 

 

Solaris sistem diski olarak nereyi kullanmak istediğimiziz soruyor. Eğer birden fazla diskimiz olsaydı burada o diskleride görecektik. Benim sistemimde 60GB’lık bir disk mevcut. Daha sonra iSCSI protokolü ile bir disk bağlayacağım. Devam edelim,

 

 

image007

 

 

Fdisk ile partition düzenlemesi yapıyoruz. Eğer isteğe bağlı bir düzenleme yapmak isterseniz mümkün. Ben diskin partition yapısını Solaris’in default değerlerini kullanarak yapılandırmak istiyorum. Zaten bu şekilde en iyi şekilde kullandığını biliyorum.

 

 

image008

 

 

Üst kısımda kullanmak istediğiniz sunucu ismini vermeniz gerekiyor. Sunucu ismini verdikten sonra ip düzenlemelerini yapıyoruz. Buradan network ip ayarlarını yaparsanız daha sonra uğraşmaktan kurtulursunuz. Ama ben özellikle otomatik seçeneğini işaretliyorum. Çünkü sonraki adımlarda ip düzenlemesini de manual yaparak nasıl yapıldığını sizlerle paylaşmak istiyorum.

 

 

image009

 

 

Sistem time zone ayaları ile devam ediyoruz. Öncelikle bölge olarak Europe’yi seçiyoruz,

 

 

image010

 

 

Çıkan listede ülke seçeneği olarak Turkey seçelim ve devam edelim,

 

 

image011

 

 

image012

 

 

Tarih ve saat düzenlemelerini yapalım devam edelim,

 

 

image013

 

 

Şifre ve kullanıcı ekranı. Yukarıdaki alanları dolduralım. Güvenlik zorunluluğu dolayısı ile root kullanıcısını sistemde direkt kullanmak yasaklandı. Sisteme kısıtlı kullanıcı ile login olup sonrasında gerekli ise root’a çıkabiliyoruz. Çünkü root kullanıcısı tamamen sınırsız ve sistem üzerinde herşeyi yapabilen kullanıcı. Bu yetki kısıtlanmalıydı, öylede yapmışlar, devam edelim,

 

 

image014

 

 

Ve enson summary ekranı. Bu ekranda tüm seçimlerimizi görebiliyoruz. Eğer değiştirmek istediğiniz birşey varsa yada değiştirmek istiyorsanız F3 ile geri dönerek değişiklik yapabilirsiniz. F2 ile devam edelim ve,

 

 

image015

 

 

Ve kurulumu tamamlayalım.

 

 

image016

 

 

İşlem tamam. Kurulum bitti. F8 ile sistemi yaniden başlatalım ve görelim,

 

 

image017

 

 

Grub boot loader ekranı. Sizi 30 sn beklettikten sonra sistem açılacak ve show zamanı,

 

 

image018

 

 

Daha öncede belirttiğimiz gibi sisteme direk root ile login olamıyorsunuz. Bence de kesinlikle haklı olarak root kullanıcısı yasaklı. Yukarıda kurulum aşamalarında bizim oluşturduğumuz admin kullanıcısı ile login olduktan sonra ikinci adımda su (super user)komutunu kullanarak root kullanıcısının şifresini verdiğimizde (Bir üst ekranda görebiliyorsunuz) root ile login olmuş oluyorsunuz. Kurulum tamamlandı, Bir sonraki makalemizde birçok temel işlemleri birlikte göreceğiz. Servis düzenlemeleri, iSCSI disk bağlantıları, ip değişiklikleri, performans iyileştirmeleri gibi.

 

Tabii en son adım adım Oracle database kuracağız. Oracle Database dünyada en performanslı Solaris üzerinde çalışmaktadır. Solarisin tüm bileşenleri Oracle Database için özel olarak optimize edilmiş en iyi performans hedeflenmiştir. Ben bir DB admini olsam Oracle Database’i kesinlikle Solaris üzerinde kullanırdım. Tabii spesifik bir donanım (IBM power serisi) kullanmıyorsam.

 

Kolay gelsin.

Solaris Genel Ayarlar

$
0
0

Dünyada en sağlam işletim sistemleri düşünüldüğünde ilk akla gelen işletim sistemlerinden biri olarak Solaris akla gelmektedir. Solaris proje olarak 1987’de , AT&T Corporation ve Sun yazılım mühendisleri tarafından inşa edilmeye başlanmıştır. BSD Unix’lere alternatif olarak üretilmeye başlanmış ve isim olarak SunOS seçilmişti. Daha sonra satışa sunulurken ismi Solaris olarak değiştirilerek günümüzdeki yerini almıştı.

 

Makalemin ilk bölümüne aşağıdaki linkten ulaşabilirsiniz.

 

http://www.cozumpark.com/blogs/linux_unix/archive/2013/06/09/solaris-kurulum-ve-temel-ayarlar.aspx

 

Bu bölümde ise genel ayarlar hakkında bilgi vereceğim.

 

Ssh bağlantısının yapılması

 

Default kurulum ayarlarına göre Solaris’e ssh protokolü ile bağlanamazsınız. Güvenlik nedeni ile bağlanmanıza izin verilmemektedir. Eğer herhangi bi ssh ara yüzü ile bağlanmayı denerseniz aşağıdaki hata ekranı ile karşılaşabilirsiniz.

 

image001

Bu ekranı birdaha görmemek ve ssh ara yüzüne bağlanmak isterseniz aşağıdaki değişikliği yapmak gerekmektedir. Önce nano isimli kullanışlı editör ile ssh ara yüzünün konfigürasyon dosyasını açalım,

 

# nano /etc/ssh/sshd_config

 

image002

 

Konfigürasyon dosyası açıldığında aşağıdaki ekran görüntüsünde göreceğiniz kırmızı kare içindeki aşağıdaki satırı bulacağız.

 

image003

 

Gördüğünüz gibi PermitRootLogin karşısında no yazıyor. Bu kısmını yes olarak değiştireceğiz. Sonrasında ctrl+x tuş kombinasyonuna basarak “y” ile kayıt ederek çıkacağız. Bu işlem sonrasında hemen ssh servisini restart edelim. Bunun için aşağıdaki komutu kullanacağız,

 

# svcadm restart ssh

 

image004

 

Artık istediğiniz ssh programı ile bağlanabilirsiniz. Ben bundan sonra sistem düzenlemelerine ssh uzak bağlantı ile devam edeceğim.

 

Solaris root logon hakkı

 

Daha öncede belirttiğimiz gibi Solariste direk root kullanıcısı ile logon olmak hem consol ekranında hemde ssh bağlantılarda disable edilmiş durumdadır. Bu durum çoğu zaman ilave işlem gerektirir. Her seferinde önce normal bir user ile login olup sonrasında root’a yükselmek gerekiyor. Bu işlem yapılan her işlem için gerekiyor ve zaman içinde insanı yoran bir hale gelebiliyor. İsterseniz hemen root kullanıcısına direk login olabilme hakkı verelim. Hatırlarsanız biz sistem kurulurken admin kullanıcısı oluşturmuştuk. Önce admin kullanıcısı ile login olacağız ve sonrasında root kullanıcısına yükseleceğiz. Bunun için aşağıdaki adımları kullanalım ve sonrasında consol ekranına direk root kullanıcısı ile logon hakkı verelim. Aşağıdaki adımlarla root kullanıcısına direk login olma hakkı verebiliriz.

 

Hemen önce admin ile login olalım.

 

image005

 

Login olduktan sonra aşağıdaki ekran gelecektir,

 

image006

 

 

Kırmızı kare içindeki ilk satır’ın sonu gördüğünüz gibi $ ile bitmektedir. Bu kısıtlı bir kullanıcı anlamına gelmektedir.

 

# su root

 

Komutunu verelim. “su” Super User kısaltmasıdır ve bu komut sonrasında password soracaktır. Bu sorunun cevabı kurulumda verdiğimiz root password’ü olarak cevaplanmalı. Password’ü verdikten sonra yukarıdaki screenshot’ta gördüğünüz gibi satırın sonu # olarak bitmecektir.

 

# rolemod -K type=normal root

 

Komutunu verelim ve işlem tamam. Artık root kullanıcısını direk kullanabilirsiniz. Güvenlik açığı olduğunu unutmayın. Çok güvendiğiniz bir lokasyon ise veya dışardan erişim mümkün değil ise güvenle kullanabilirsiniz.

 

Boot süresinin kısaltılması

 

Solaris kurulduktan sonra GRUB boot loader’in bekleme soresi 30sn olarak belirlenmiş bulunmaktadır. Günümüzde EFI bios’ların boot süreleri zaten uzun. Birde bu süre eklendiğinde boot süresi çok anlamlı olmamaktadır. Hemen default değerler için aşağıdaki ekranı inceleyelim.

 

image007

 

İlk önce aşağıdaki komutu verelim. Üst resimdeki ilk kırmızı karede görebilirsiniz,

 

# bootadm list-menu

 

Bu komut size bir liste dökecektir. Gördüğünüz gibi yukarıdaki ikinci karede boot time out süresi 30sn. Bu süreyi kısaltmak için üçüncü kırmızı karedeki komutu veriyoruz,

 

# bootadm set-menu timeout=5

 

Bu komut sonrasında tekrar # bootadm list-menu komutunu verirseniz üstteki ekranda en alt karedeki timeout 5 ibaresini görebilirsiniz. Artık boot için bekleme süremiz 5sn oldu. Acil işlemlerde 25 sn’lik süre emin olun çok kritik olabiliyor.

 

Solaris online update

 

Günümüzde her sistem kendine ait bir update sistemine sahiptir. Bir zamanlar bu işlemler mümkün değildi. Çünkü Linux ve Unix sistemler üzerinde kurulu uygulamalar sistem update’inden olumsuz yönde etkilenip çalışamaz hale gelebiliyorlardı. Ama günümüzde bu işlemler çok sağlam kontrollerden geçirildiği için gerekli sistem güncellemeleri internet üzerinden online olarak yapılabilmektedir. Şimdi nasıl yapıldığını inceleyelim isterseniz. Öncelikle mevcut duruma bir bakalım,

 

image008

 

 

Versiyon kontrolünü en güzel cevaplayan komut,

 

# uname –v

 

komutudur. Size yukarıdaki kırmızı karenin hemen altındaki satırda gördüğümüz 11.0 gibi kısa ve öz bir cevap verecektir. Eğer daha detaylı bir cevap istiyorsanız şu komut yine yukarıda gördüğünüz cevabı verecektir.

 

# cat /etc/release

 

Şimdi hemen upgrade edelim ve son sürüm 11.1 olarak güncelleyelim. Bunun için aşağıdaki komutu veriyoruz,

 

# pkg update –accept

 

 

image009

 

 

Bu komut ile sistem update işlemi yapılmıyor. Update edilecek paketler ve bileşenler bilgisi alınır. Yani bir nevi yeni paketler ile sistemde kurulu olan ve update edilmesi gereken paketlerin listesi çıkartılır. Aşağıdaki komutu verelim ve update işleminde ikinci adımı gerçekleştirelim,

 

# pkg update pkg

 

Bu işlem kısa sürecektir. Sonrasında birkez daha bir önceki komutu vereceğiz. İşte sistem update’i başlıyor.

 

# pkg update –accept

 

image010

 

 

Size anlaşma metnini gösterdikten sonra sistemi upgrade etmeye başlayacaktır. Işlem bittikten sonra sistemi reboot etmeniz gerekecek. Bu işlemi periyodik olarak yaparsanız sistem güncellenecek, güvenlik ve performans iyileştirmeleri uygulanacaktır.

 

Ip düzenlemeleri ve Aggregation (Network Teaming)

 

Solariste ip düzenlemeleri oldukça farklı. Konfigürasyon dosyalarını herhangi bir editör ile düzenleme zorunluluğu yok. Komutlarla herşeyi halledebiliyorsunuz. Hatırlarsanız ben ilk makalede sistemi kurarken DHCP ile çalışmasını sağlamıştım. Şimdi ip yapısını bir inceleyelim isterseniz. Hemen aşağıdaki komutu verelim,

 

# ifconfig –a

 

 

image011

 

Size gelen ekranda ip adres karşılığı yukarıdaki gibi görünecektir. Bu adres DHCP server tarafından atanan ip adresidir. Hemen ikinci komut ile fiziksel duruma bakalım,

 

# dladm show-phys

 

Bu komut ile sunucu üzerindeki fiziksel network kartlarını göreceksiniz.

 

 

image012

 

Gördünüz üzere benim sunucumda 1 adet ethernet kartı var. Hemen 3 adet daha ekleyeyim. Sistem sanal olduğu için hemen ekledim ve reboot ettim.Tekrar bakalım,

 

# dladm show-phys

 

Komutunu verdiğimizde görüntü aşağıdaki gibi olacaktır. Ben bu ilave network kartlarını bonding yaparak iSCSI disk kullanmak için ekledim.

 

 

image013

 

 

Yukarıda gördüğünüz gibi toplam network kartı adedi 4 oldu. Şimdi isterseniz net2 ve net3 isimli kartları bir araya getirelim. Temelde bu işleme “network teaming” deniliyor. Bu isim Linux’ta “bonding” Solariste ise“aggregation” olarak adlandırılıyor. Şimdi bir link aggregation oluşturalım ve kullanmaya başlayalım. Aşağıdaki ekrana bir bakalım. Ekran görüntüsündeki renkli kareler içinde kullandığım komutları resmin hemen altında açıklıyor olacağım.

 

 

image014

 

 

Üst resimde farklı renkli kareler görüyorsunuz. Ilk kırmızı karede gördüğünüz olan komut

 

# dladm show-aggr

 

Sistemde teaming varmı onu gösteredektir. Gördüğünüz gibi bir sonraki satır boş. Yani link aggregation mevcut değil. Link aggregation meydana getirebilmek için ilgili network kartlarını disable etmek zorundayız. Kırmızı karenin bir altında bulunan mavi karede gördüğünüz komut ile network linklerini disable edelim

 

# ipadm disable-if net2

 

# ipadm disable-if net3

 

Linkler disable oldu. Hemen 3ncü(net2) ve 4ncü(net3) kartlarında içinde bulunduğu bir link aggregation yapalım, yukarıdaki resimde beyaz kare içindeki şu komut ile,

 

# dladm create -l net2 -l net3 lnkaggr0

 

Durumu bir daha inceleyelim ve aggregation yapısının oluştuğunu görelim, yine şu komut ile görebilirsiniz. Sarı kare içinde,

 

# dladm show-aggr

 

Peki kartlar ve aggregation durumuna bakalım. Yukarıdaki resimde açık mavi kare ve içindeki lacivert kare içinde görebilirsiniz. Şu komut ile,

 

# dladm show-link

 

Herşey tamam gibi görünüyor. Linkler hazır ve grup hale geldi. Son bir işlem var. oda link aggregation’a ip atamak. Link aggregation’a ip vermek için ise şu komutu kullanacağız,

 

 

image015

 

 

# ipadm create-ip lnkaggr0

 

# ipadm create-addr -T static -a 192.168.1.45/s4 lnkaggr0/v4

 

Ilk önce link aggregation için fizksel olarak ip linki oluşturduk. Sonrada bu linke ip vermek için ikinci karedeki komutu kullanıyoruz. Bakalım ne durumdayız,

 

# ifconfig –a

 

 

image016

 

 

Gördüğünüz gibi kırmızı kare içerisinde “link aggregation” diğer adıyla “network teaming” oluşturduk ve ip atadık. Şu an pingleriğinizde yada herhangi bir işlem yaptığınızda size cevap veriyor ve çalışıyor olması lazım. Yine önemli nokta olarak belirtmeliyim, yukarıdaki görüntüde net2 ve net3 isimli kartlar yok. Solaris bunları ortadan kaldırdı. Çünkü tek başlık altında kullanımına izin verecek. Aslında kartlar sıkıntısız çalışırken kullanıma izin vermemek için disable etti. Buradaki disabla aslınde biraz farklı. Sadece görüntüde disable etti. Bakınız,

 

# ipadm show-if

 

 

image017

 

 

Listedeki net2 ve net3 isimli kartlar disabled, fakat lnkaggr0 up ve hertürlü isteğe cevap veriyor. Işlem tamam. Daha sıkı test etmek isterseniz kartların kablolarını çekerek test edebilirsiniz.

 

iSCSI protocol ile LUN bağlama işlemi

 

Network kartlarımızı yapılandırdık. Ip düzenlemelerinide yaptık. O halde iSCSI protokolünü kullanarak aggregation linkine bir LUN bağlayalım. Büyük kurumlarda iSCSI network’ü için ayrı bir VLAN yapısı oluşturmak ve bu şekilde kullanmak daha efektif olacaktır. Bazı kurumlarda Switch’leri dahi ayrılarak bu network’ün daha stabil ve performaslı çalışması sağlanmaktadır.

 

Network tarafının yapılandırılmasından sonra diskimizi Solaris2 file sistemi ile formatlayalım. Kulağa hoş geliyor. Şimdi hemen iSCSI servisini kontrol edelim. Çalışmıyorsa çalışır hale getirelim.

 

# svcs iscsi/initiator

 

 

image018

 

 

Gördüğünüz üzere servis online. Yani konfigürasyon için hazır. Ben storage üzerinden 512GB’lık bir alan ayırdım ve Solarisin kullanımına sundum. Aşağıdaki ScreenShot’I inceleyelim ve devam edelim.

 

 

image019

 

 

Yukarıdaki ekran görüntüsünde kırmızı ile işaretlediğim alan içindeki komut ile iSCSI Storage’ın ip adresini discover edilecek ip olarak atadım. Yani şu komut,

 

# iscsiadm add discovery-address 192.168.1.251;

 

Bu komut sonrası Storage artık görülebilir hale gelecektir. Arkasından hemen sarı kısımda işaretlenen komut ile iSCSI target device’ları görelim. Komut şu şekil,

 

# iscsiadm list discovery-address -v;

 

Beyaz kare içinde benim kullanmak istediğim iSCSI device görülüyor. Bu alanı formatlayıp Solaris için kullanıma sunacağım. Şimdi Solaris alanına bağlanalım, komut şu,

 

# iscsiadm add static-config iqn.1992-04.com.emc:storage.ionas.SolarisLUN,192.168.1.251

 

 

image020

 

An itibarı ile diskimiz Solaris ile bağlandı. Tabiiki RAW durumda yani formatsız, şimdi aşağıdaki komutu verelim ve bu durumu kalıcı hale getirelim.

 

# iscsiadm modify discovery --static enable

 

Sırada diskin partition yapısını oluşturma ve sonrasında formatlayıp sisteme bağlama adımlarını halledeceğiz. Formatlayalım ve sistemde kullanılabilir hale getirelim. Bunun için aşağıdaki komutları kullanacağız. Bir alttaki ekran görüntüsünde görülen en üstteki kırmızı kutudaki

 

# format –e

 

komutunu verelim. Ve aşağıdaki ekran görüntüsünü birlikte incelemeye başlayalım,

 

 

image021

 

Gördüğünüz üzere available disk selection ekranında 2 adet disk görünüyor. Bunlardan 1 numaralı disk EMC storage’den bizim ayırdığımız 500GB’lık LUN’umuz. Biz bu LUN’u seçeceğiz. seçenek kısmına 1 yazarak devam ediyoruz. Gelen menü yukarıda gördüğünüz gibi olacaktır. Buraya fdisk yazarak bir sonraki aşamaya geçelim. Mavi kare içinde görebilirsiniz.

 

 

image022

 

 

Şimdi sorası ile 1 , 1, 100, y, 6 cevapları ile kayıt edelim. Ve sonrasında 7 cevabını vererek bir önceki menüye gelelim.

 

 

image023

 

 

Yukarıdaki gibi label komutunu verelim. “0” cevabını verelim, sorulan soruya “y” cevabı ile devam edelim. Şimdi,

 

image024

 

 

 

Gördüğünüz gibi partition oluşturuyoruz. Yukarıdaki renkli işaretlenmiş şekilde sorulara cevap vererek devam edelim,

 

image025

 

Kırmızı bölümde işaretlenmiş tüm sorulara Enter ile devam ediyoruz. Sarı kare içindeki ismi verirken format komutunu ilk verdiğimiz ekran görüntüsünde bulunan 1 numaralı seçenekte bulabilirsiniz. “ içinde yazılması çok önemli. En son yukarıdaki ekranın en altında görüldüğü gibi q cevabı ile çıkıyoruz.

 

Şimdi bakalım diskimiz ne durumda, şu komutu veriyoruz,

 

# prtvtvtoc /dev/rdsk/c5t2d0s0

 

 

image026

 

 

Herşey güzel görünüyor. Şimdi formatlayalım, komutumuz,

 

Farkettiyseniz sona bir s0 ilave ettik. Solariste disk kodu açıklamasını aşağıdaki şekilde görebilirsiniz,

 

 

image027

 

 

Bu yüzden sondaki s0’i ekledik. Diskimizi formatlayalım ve sistemde kullanılabilir hale getirelim. Bu disk üzerine file sistem oluşturmak için aşağıdaki komutu kullanıyoruz.

 

# newfs /dev/rdsk/c4t1d0s0

 

 

image028

 

 

File sistem oluşturuldu, mount ederek devam edelim, ama önce mount edeceğimiz lokasyon için directory açalım, Linux ve Unix dünyasında sürücü harfi diye bir olay yok biliyorsunuz. Bağlanacak alanları bir klasöre atayarak bu işi hallediyoruz. Ben / lokasyonuna cozumpark diye bir klasor açıyorum. Bu klasöre bağlayacağım,

 

# mkdir -p /cozumpark

 

Şimdi Mount edelim,

 

# mount /dev/dsk/c5t2d0s0 /cozumpark

 

Bu işlem sonrasında diski istediğiniz gibi kullanabilirsiniz. Ama sistem’i reboot ettiğinizde disk bağlantısı kesilecektir. Bunun için bağlantı işini kalıcı hale getirelim. Aşağıdali gibi yapabilirsiniz,

 

Kalıcı şekilde mount etmek için vfstab dosyasına aşağıdaki gibi ilave edelim,

 

#nano /etc/vfstab

 

/dev/dsk/c5t2d0s0 /dev/dsk/c5t2d0s0 /cozumpark ufs 1 iscsi -

 

Ekran görüntüsü aşağıdaki gibidir,

 

 

image029

 

Bu satırı ilave ettikten sonra ctrl+x tuş kombinasyonunu kullanın. Size kayıt edelimmi diye sorduğunda ise “y” diyerek kayıt edebilirsiniz. Artık sistem kapanıp açıldığında networksel bir problem yada fiziksel bir problem olmadığı sürece diski görebileceksiniz.

 

- Hostname değiştirme

 

Solariste hostname’i aşağıdaki adımlarla gerçekleştiriyoruz. Önce sunucunun ismini görelim,

 

# hostname

 

# svccfg -s system/identity:node listprop config

 

Bu komut çıktılarını aşağıdaki screenshot’ta kırmızı, sarı ve lacivert kareler içinde görebilirsiniz

 

 

image030

 

Değişikliği gerçekleştirmek için gerekli komutları verelim. Sunucu ismi srvsol01 olarak görünüyor. Hemen şu iki komutu kullanıyoruz, ekran görüntüsünde açık mavi kare içinde görebilirsiniz,

 

# svccfg -s system/identity:node setprop config/nodename="solaris.cozumpark.intra"

 

# svccfg -s system/identity:node setprop config/loopback=" solaris.cozumpark.intra "

 

Yukarıdaki “ ’lar içerisinden yeni vermek istediğim solaris ismin görüyorsunuz. Bu komutlar sonrası sistem hostname’i değişiyor. Yeniden kontrol edelim, şu komutlarla,

 

# hostname

 

# svccfg -s system/identity:node listprop config

 

Yukarıdaki ekranda beyaz ve gri kare içerisinde sonucu görebilirsiniz. Eğer FQDN kullanacaksanız o şekilde vererek değişikliği gerçekleştirebilirsiniz.Şimdi son işlem olarak hosts dosyasındaki değişikliğide yapalım ve işlemi tamamlayalım,

 

# nano /etc/hosts

 

Dosya içeriğini kırmızı kısımda gördüğünüz gibi değiştirmeniz gerekiyor. En alt satırıda ekleyerek işi bitirebilirsiniz. Son satır tamamen sizin tercihinize yada gereksinimlere kalmıştır.

 

#

# Copyright 2009 Sun Microsystems, Inc. All rights reserved.

# Use is subject to license terms.

#

# Internet host table

#

::1 solaris localhost

127.0.0.1 solaris localhost loghost

192.168.1.45 solaris.cozumpark.intra

 

Solaris klasik işletim sistemlerinden biraz daha kendine has yönetilen bir işletim sistemi olmakla beraber donanımsal bir problemle karşılaşılana kadar hiç durmadan çalışabilir. Bunu canlı yaşamış biri olarak güvenle söyleyebilirim. Bir sigorta şirketinde uptime çıktısını 3 yıl olarak gördüm. 3 yıl içinde o kadar çok operasyonel işlem yapmalarına rağmen hiç restart edilmemişti. Bir sonraki adımda ise Solaris üzerine Oracle database kurulumunu yapacağız.


Postfix MX Backup

$
0
0

 

 

Merhabalar, bu makalede bir mail sunucu kurmak yerine mail sunucumuzun internet bağlantısının gitmesi yada bakıma alınması durumunda oluşabilecek mail kayıplarını önlemek için bir MX backup kurmak olacak.

 

Normal şartlar altında mail sunucular yapılan ayarlamalara göre DNS sisteminde kayıtlı olan MX kaydına ilk ulaşım hatasından sonra belirli zaman aralıklarında tekrar erişmeyi denerler buda gönderici mail sunucusunda sürekli olarak queue ( sıra ) oluşmasına neden olur ki bu yüksek mail trafiği olan sunucularda pek istenmeyen bir durumdur, bu nedenle sunucu yöneticileri  bu zamanları düşük değerlerde tutabilirler buda bir kaç kez ama çok az zaman aralıklarında sunucunuza tekrar mail gönderme denemesi yapılmasını ve belli bir süre sonrada sunucunun cevap vermemesinden dolayı artık denenmemesini ve kullanıcıya  yada sistem yöneticisine sunucuya erişilemediğine dair bir mail göndermesi ile sonuçlanır. Bu durumu önlemek için bir çok senaryo mevcut ki gerek windows gerek linux tarafında maliyetli yada maliyetsiz insanı çok uğraştıran çözümler var. Ben bu işi en basit şekilde yapmanın yolunu anlatmaya çalışacağım bu şekilde sıfır kayıplı mail alımları yapabileceğiz.

 

 

 

1

 

 

Diagramda görebileceğiniz gibi yada tabir etmeye çalıştığım gibi mx1.cozumpark.com sunucusu herhangi bir nedenden dolayı bağlantısını kaybetmiş, her ne kadar ben hakan abinin ISCSI ayalarından şüphelensem de sonuçta ulaşılamaz durumda ve düzeltemiyoruz :) işin şakası bir yana sunucu bakımda yada hattında sorun var ve ulaşılamaz durumda ve biz maillerimizi alamıyoruz ve bize mail göndermeye çalışan mail.simet.com.tr adresli sunucu ise bir kaç denemeden sonra mail gönderme denemelerini bırakacak, bu nedenle de acil olarak sunucuyu ayağa kaldırmalıyız, elbette umut hep bu yanadır ama gelin görün ki pek öyle olmaz. Diagramda görebileceğiniz gibi DNS sunucumuzda ikinci bir MX kaydı var ve bu MX kaydında öncelik sırası yüksek olarak mx2.cozumpark.com adlı bir cihazdan da bahsediliyor bu durumda mail.simet.com.tr ilk denemede mx1.cozumpark.com adresine ulaşamayınca doğal olarak mx2.cozumpark.com adresine ulaşmaya çalışacak. Bu sunucu uzak bir lokasyon da Data Center üzerinde olabileceği gibi basit bir ADSL in arkasında çalışıyor da olabilir sonuçta amacı sadece mx1.cozumpark.com çalışmadığı zaman gelen mailleri almak sıraya koymak ve mx1.cozumpark.com ulaşılabilir olduğu zaman mailleri tekrar ona göndermek. Oldukça basit ve kullanışlı burada unutulmaması gereken mx2.cozumpark.com sunucu mail göndermek için değil almak için kullanılmaktadır. Elbette aynı yapıda göndermek içinde kullanılabilir fakat biz bu sunucunun sadece Hakan abi ISCSI ları aktif edene akdar aktif olmasını istiyoruz bu nedenle de gönderme ile ilgili bir ayar yapmayacağım.

 

Maklede kullanılan mx backup sunucu Linux altyapısını kullanmakta ve Postfix olarak adlandırılan sık kullanılan bir SMTP sistemi. Kurulum sırasında anlatacağım Linux dağıtımı Debian işletim sistemi olacak ve şu an için 7 versiyonu olsa da postfix in yeni versiyonunda bazı sorunlar var bu nedenle 7 kurup postfixi downgrade etmek yerine Debin 6 kullanmanızı tavsiye ederim.

 

Sisteminize SSH yada direk bağlandıktan sonra konsolda alttaki komutu girerek postfixi yükleyin,

 

apt-get install postfix

 

Yüklemeden sonra postfix configurasyon dosyasını editleyeceğiz.

 

nano /etc/postfix/main.cnf

 

Dosyanın içeriğinde çok bir ayar yapmanıza gerek bulunmuyor, sadece altta verdiğim satırları verdiğim örneklere göre değiştiriniz,

 

 

mynetworks = 127.0.0.0/8

 

relay_domains = cozumpark.com

 

smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination 

 

transport_maps = hash:/etc/postfix/transport

 

#mydestination

 

#virtual_alias_domains

 

#virtual_mailbox_domains

 

Dosyayı kaydedip çıkınız, şimdi transport dosyası ile mailleri nereye yada neresi aracılığı ile göndereceğimizi sunucumuza bildireceğimiz dosyayı oluşturup içeriğini oluşturuyoruz.

 

nano /etc/postfix/transport

 

Dosya içeriği alttaki gibidir,

 

mx1.cozumpark.com :[IP Adresi]

 

Dosyayı kaydedip çıkın ve alttaki komutu uygulayıp dosyanın postfix tarafından kullanılabilir olmasını sağlayın,

 

postmap /etc/postfix/transport

 

 

Komuttan sonra sunucuyu yeniden başlatabilir, yada sadece postfix demonunu yeniden başlatabilirsiniz.

 

Şu an itibari ile aslında yaptığımız bir MX backup sunucu kurmak olmadı yapı olarak bu olsada bir mail sunucu kurduk bu sunucuya bir domain adresi verdik ve bu domanine gelen mailleri almasını fakat dış gönderimler için mx1.cozumpark.com adresini kullanmasını söyledik bu durumda sunucu mailleri alacak ve ulaşabildiğinde mailleri mx1.cozumpark.com adresine gönderecek göndermeye çalıştığı maillerdeki domain ve posta kutuları mx1.cozumpark.com sunucusunda olduğu için oda gerekli posta kutularına bu mailleri kutularına dağıtacak.

 

Basit ücretsiz ve kullanışlı bir şekilde ana sunucumuza bir MX backup sunucu kurmuş olduk.

CentOS 6.4 üzerine Linux Apache MySql Php - LAMP Server Kurulumu

$
0
0

Neden sizin de her şeyiyle kullanılır vaziyette, performanslı bir web sunucunuz olmasın?

 

CentOS ile sıfırdan sonuna kadar tam performanslı ve çalışır bir web sunucusu inşa edeceğiz. Bu işlem için yine her zaman ki gibi yine benim favorim RedHat dağıtımlarından biri olan CentOS ile olacak. www.centos.org sitesinden en son sürüm olan CentOS 6.4’ü indirelim. Ben yine her zamanki gibi minimal imajı indiriyorum, sonrasında işime yarayacak olan paketlerle devam edeceğim. Lazım olmayacak paketleri kurmuyorum ve yine lazım olmayacak servisleri tamamen kapatıyorum. İsterseniz hemen kuruluma başlayalım ve indirdiğimiz imajı sunucuya mount edelim. Sonra karşınıza aşağıdaki karşılama ekranı gelecektir. İlk seçenek ile devam edeceğiz,

 

clip_image002

Enter tuşuna basarak devam edelim,

clip_image004

Yukarıda göreceğiniz üzere selamlama ekranı geliyor. Bu ekran aynı zamanda indirmiş olduğunuz DVD kalıbının kurulum öncesi problem durumunu incelemeye yarıyor. Siz eğer kontrol etmek isterseniz OK seçeneği ile devam edebilirsiniz. Ben bu iso kalıbı ile birçok kurulum yaptığımdan ve problem olmadığından emin olduğum için skip seçeneğini seçerek, yani bu aşamayı atla diyerek geçiyorum.

clip_image006

Ve karşımıza yukarıdaki grafik ekran geliyor. Bundan sonrasında nisbeten daha alışık olduğumuz grafik ekranlar ile devam edeceğiz. En azından kurulum bitene kadar. Next diyerek devam edelim,

clip_image008

Dil seçenekleri, Eğer Türkçe seçerseniz ara yüzdeki her şey Türkçeye dönecek. Ben ara yüz de İngilizce kullanmayı tercih ediyorum. Zaten işim bittiğinde bu grafik ekranları kullanmayacağım. Benim tüm işlemlerim sistem bazında Command-Line  tarafında olacak. Next diyelim devam edelim,

 clip_image010

Klavye seçenekleri, ben Türkçe bir klavye kullandığım için, Türkçe seçerek devam edeceğim. Alışık olduğum klavye düzeninden vazgeçmek istemiyorum çünkü Next ile devam edelim.

clip_image012

Ve şimdi Disk yapılandırma ekranı geldi karşımıza. Eğer spesifik bir disk kullanıyorsanız, FC, iSCSI yada başka bir tür, seçim yapabilirsiniz. Ben zaten sanal ortam kullandığım için basic storage device seçeneği ile devam ediyorum,

clip_image014

Standart bir uyarı, Diskinizin içeriği tamamen silinecek emin misiniz, Yes, Discard any data seçeneğini tıkladıktan sonra next diyerek devam ediyoruz,

clip_image016

Sunucu ve domain ismi veriyoruz. Ben isim olarak yukarıdaki gibi localhost.localdomain şeklinde kullanmıyorum. Zaten kendisi de bu şekilde geliyor. Eğer isterseniz kendi istekleriniz doğrultusunda bu ismi değiştirebilirsiniz. Next ile devam edelim,

clip_image018

Regional Settings ekranı, saat ve lokasyon bilgilerinin düzenlenmesi için gerekli bilgileri içeriyor. Bizim için gerekli olanları seçerek devam edelim,

clip_image020

root password’ünü vererek devam edelim,

clip_image022

Partition’larımızıda yapılandıralım. Eğer farklı bir yapı kullanacaksanız istediğiniz gibi yapılandırabilirsiniz. Ben tüm alanı bu sunucu için yapılandırdığımdan en üstteki seçenek ile devam ediyorum.

Next diyelim,

clip_image024

Tüm datalara elveda demeye hazır mısınız?  O zaman “Write changes to disk” diyelim ve devam edelim,

clip_image026

Ve karşımızda kurulum seçenekleri. Burada istediğiniz tipte kurulum yapabilirsiniz. Bir web server kuracaksanız ilgili paketler yüklenecektir. Yok database sunucu kurmanız lazımsa yukarıdaki seçeneklerden işaretlediğiniz takdirde database için gerekli bileşenler kurulacaktır. Ben gerekli paketleri daha sonra ilave edeceğimden minimal olarak kuracağım. Bu seçenek ekstra kaynak kullanacak paketleri içermeyecek böylece stabil ve performanslı bir sistem elde edeceğiz. Next diyelim devam edelim,

clip_image028

ve kutulum başladı. Minimal kurulum için gerekli tüm paketlerin kurulumu tamamlanacak.

clip_image030

Kurulum tamamlandığında doğal olarak reboot gerekecektir. Artık DVD’yi çıkarabilirsiniz. Kurulum sonrası çalışır temiz bir sistem elde etmiş oluyoruz. Minimal kurulumda, Sistem kurulduktan sonra ne hikmetse ethernet kartı kapalı şekilde geliyor. Biz hemen gördüğünüz gibi yukarıdaki ifup komut ile ethernet kartımızı enable edelim. Şu şekilde, 

 

 # ifup eth0

clip_image032

Ethernet kartımız DHCP sunucudan ip alacaktır. Fakat, bu işlem ile eth0 kartı şimdilik enable oldu. Sistemi restart ettiğinizde yine eth0’ın disable olarak geldiğiniz göreceksiniz. Bu işi kalıcı hale getirelim o halde. Hemen marifetli editörümüz nano’yu internetten sunucumuza yükleyelim. Şu komut ile

 

# yum -y install nano

clip_image034

Nano yüklendikten sonra network kartının konfigürasyon dosyasını düzenleyelim ve hem ipsini sabitleyelim hem de her açılışta otomatik çalışır hale getirelim.

# nano /etc/sysconfig/network-scripts/ifcfg-eth0

Komutu sonrası karşımıza gelen default konfigürasyon şu şekilde olacaktır,

clip_image036

Dosya içeriğini şu şekilde değiştiriyoruz, kırmızı olan bölümler değiştirilecek yada ilave edilecek,

DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.55
NETMASK=255.255.255.0
GATEWAY=192.168.1.250
TYPE=Ethernet
ONBOOT=yes
HWADDR=00:0C:29:EB:DB:D2
UUID=73276ef4-b5e8-4600-bba2-e40cd7d273ff
NM_CONTROLLED=yes

Servisi start edelim, yada reboot komutu ile sistemi komple restart’ta edebilirsiniz.
# service network restart

Bu işlem sonrası sistemi upgrade ederek en son sistem güncellemelerini yükleyelim. Gerekli komut şöyle olacak,

# yum -y update

Bu komut sonrası sistemimiz güncellenmiş ve sistem artık gerekli paketlerin kurulumu için hazır hale gelmiş olacak. Şimdi öncelikle sunucumuz üzerinde kullanılmayacak servisleri kapatalım.

# chkconfig netfs off ; chkconfig mdmonitor off

Gerekli tüm paketlerin yüklenmesi için gereken komutu verelim, bu komut ayrıca gerekli paketlerinde yüklenmesini sağlayacaktır.

# yum -y install httpd php php-mysql mysql mysql-server mod_ssl

Paketler yüklendikten sonra servis konfigürasyonları ile devam edelim. Servisleri sistem açılışında otomatik hale getirelim ve start edelim, 
önce httpd.conf dosyasına küçük bir değişiklik uygulayacağız. Bunun için şu komutu kullanacağız,

# echo "ServerName localhost:80" >> /etc/httpd/conf/httpd.conf
# echo "ServerName localhost:443" >> /etc/httpd/conf/httpd.conf   

Sonrasında ise servisleri otomatik hale getirelim,    

# chkconfig httpd on ; service httpd start 
# chkconfig mysqld on ; service mysqld start
   

Şimdi MySql’i güvenli hale getirelim, kırmızı kısımlar benim verdiğim cevaplar. İstekleriniz doğrultusunda değişik cevaplar verebilirsiniz.    

# mysql_secure_installation   

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
      In order to log into MySQL to secure it, we'll need the current
      password for the root user.  If you've just installed MySQL, andy
      y
ou haven't set the root password yet, the password will be blank,
      so you should just press enter here.
      E
nter current password for root (enter for none): Enter (ilk kurulumda password boştur)
      O
K, successfully used password, moving on...
     
Setting the root password ensures that nobody can log into the MySQL
      r
oot user without the proper authorisation.

Set root password? [Y/n] y
New password:    
R
e-enter new password:

Password updated successfully!

Reloading privilege tables..
... Success!   

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y   

 ... Success!   

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] n   

... Success!   

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment
Remove test database and access to it? [Y/n] y

- Dropping test database...
... Success!   

- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!   

Cleaning up..
All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!   

MySql konfigürasyonu tamamlandı ve güvenli hale getirildi. Önceden MySql sizden username ve password istemiyorken artık MySql’e login olmanız için, kullanıcı adı ve şifre girmeniz gerekecek. Sırada firewall konfigürasyonumuz var. Linux ile birlikte herkesin bildiği üzere oldukça stabil iptables isimli bir firewall geliyor. Bu firewall için gerekli iki rule    

# iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
# iptables -I INPUT 2 -p tcp --dport 443 -j ACCEPT

# service iptables save
# service iptables restart    

Yetkilendirme işimizde tamam. Sunucumuz hem http hemde https olarak isteklerinize cevap verecek nitelikte çalışır hale geldi. Bir browser vasıtası ile sunucunun ipsini yazarak ulaşabilirsiniz. Birde PHP versiyonunu kontrol edelim. Bunun için küçük bir kod yazmanız gerekiyor. Hemen yazalım ve bakalım,

# nano /var/www/html/phpinfo.php 

clip_image040

<?php
phpinfo();
?>      

Yukarıdaki metni dosya içine yazarak ctl+x tuş kombinasyonu ile kayıt ederek çıkabilirsiniz. Sonra bir browser’ın adres kısmına http://192.168.1.55/phpinfo.php yazarak PHP versiyon kontrolü yapabilirsiniz. Çıkan sonuç aşağıdaki gibi olacak ve sistemde kurulu olan PHP bilgilerini görebileceksiniz,

clip_image042 

Son olarak sunucumuza örnek bir site konumlandıralım. Ben bir site taslağı indirip gerekli lokasyona kopyalıyorum. Google’a free site template diyerek aratırsanız çok fazla seçenek bulabileceksiniz. İnternetten aradıktan sonra bir site taslağı bulup indirdim ve /var/www/html/test lokasyonu altına kopyaladım. Sonrarında ise Apache sunucumuzun konfigürasyon dosyasına bir ilave yapıyoruz. Bunun için,    

# nano /etc/httpd/conf/httpd.conf   

Komutunu kullanarak dosyayı açıyoruz. Biraz uzunca bir dosya, ve biz en alt satıra gidiyoruz, ve şunları ilave ediyoruz, tabiiki siz yine istekleriniz doğrultusunda değişiklikler yapabilirsiniz.    

<VirtualHost *:80>
      ServerAdmin bpoyraz@bilgehanpoyraz.com
      ServerName localhost.localdomain
      DocumentRoot /var/www/html/test
      <Directory />
              Options FollowSymLinks
              AllowOverride None
      </Directory>    

      <Directory /var/www/html/test.com/>
              Options Indexes FollowSymLinks MultiViews
              AllowOverride None
              Order allow,deny
              allow from all
      </Directory>
</VirtualHost>    

Şimdi bir browser vasıtası ile http://192.168.1.55 adresini açmayı deneyelim. Eğer bir problem yoksa karşınıza benim kullandığım gibi sizin konumlandırdığınız site template’i gelecektir

 

clip_image044

Eğer gerekli DNS kayıtlarını yapabilirseniz ip yerine site ismi ile de aynı şekilde site’nin açıldığını göreceksiniz. Fark ettiyseniz sistemimize dışarıdan hiçbir paket yüklemedik. Tamamen CentOS Linux repository’sini kullandık. Bunun faydası şu şekilde olacaktır, her ne zaman sistemi yum -y update komutu ile güncellemek isterseniz, sisteme ait tüm paketler son versiyona çıkartılacaktır. Eğer dışarıdan bir paket kurmuş olsaydınız, o paketleri her seferinde elle yenilenmesi gerekecekti.

Sunucunuzu güzel günlerde kullanmanız dileğiyle…    

 

Linux İle Tanışmak

$
0
0

Merhabalar, gerek Çözümpark gibi dev topluluklarda gerekse birçok Linux topluluğunun Türkiye sitesinde dikkatimi çeken bir olay var. Hemen hemen hepsinde Linux ile ilgili nasıl yapılır dokümanları ve belgeleri bulunuyor ama basit anlamda Linux nedir deseniz bir cevap bulmak oldukça zor. Bu makalede basitçe size Linux nedir bunu anlatmaya çalışacağım.

 

Linux, kernel yapısı ile aynı ismi taşıyan işletim sisteminin adıdır ve ilk çalışan örneği Linus Torvalds tarafından 5 Ekim 1990 duyuruldu. Şu gün itibari ile Linux kernel sürümü 3.12 seviyelerindedir ve www.kernel.org adresinden güncel versiyonlarına ya da düzeltmeler ile ilgili bilgilere ulaşılabilir. Linux günümüzde birçok farklı dağıtım ve masa üstü ortamı ile hala hizmette olup dünyanın en çok kullanılan işletim sistemidir.

 

Yukarıdaki giriş yazısında göreceğiniz gibi elimizde Linux’u açıklamak isterken birden fazla bilinmeyen oldu, bunlar Kernel, İşletim Sistemi, Dağıtım, Masa Üstü ortamı. Hali hazırda Linux bilmek ve anlamak hatta bir işletim sistemini bilmek ve anlamak için işletim sisteminin mimarisini de bilmek lazım ve bu yukarıda saydığım değişkenlerin bilinmesi ile olur. Bu durumda ilk önce bilgisayarı açıklayalım yaygın olarak masa üstü, laptop, cep telefonu, dijital saat, dijital duvar saati, akıllı arabalar, uzak kumandalı oyuncaklar ve bu saydıklarımın sınıfında aklınıza gelecek tüm teknolojik oyuncaklar iki kademeden oluşurlar ve temelde hepsi bilgisayardır :) evet uzaktan kumandalı arabanıza yada uçağınızda bir bilgisayar müdahale etmektedir ufak ve limitli olması onun bir bilgisayar olmadığı anlamına gelmiyor. Bilgisayarlar iki temel bileşenden ve bu ana temel bileşenlerin alt kategorilerinden oluşurlar, basitçe üniversitelerimizde bilgisayara giriş için klavye mouse gösterilse de aslında uzaktan kumandanızın yaptığı işlemde benzerdir. Bilgisayar Donanım ve Yazılım kısmı ( İşletim sistemi ) olarak iki parçadır.

 

Bilgisayar Donanımları: Donanımlar bildiğimiz fiziksel cihazlardır ve aptaldırlar kendi başlarına yada topluluk halinde çalışamazlar ve temel olarak mors sistemine benzeyen ikilik sistemde çalışırlar ve alfabeleri sadece iki sayıdan oluşur, anladıkları tek şey evet yada hayır yani 0 ve 1 dir. Peki bu aptal cihazlar nasıl oluyor da oyuncak arabamızla oynarken zevk almamızı yada GTA oynarken başka bir dünyaya gitmemizi sağlarken ciddi anlamda bir uzay mekiğinin her yerinde bulunarak cidden başka bir gezegen yada aya gitmemizi sağlıyor. Aslında bunu yapanlar donanımlar değildir onları yöneten kısım işletim sistemidir, sanırım bu kısım size işletim sisteminin önemini anlatmıştır.

 

İşletim sistemleri kendi içinde bir hiyerarşik yapıya sahiptirler ve her parçanın önemli görevleri vardır, kernel donanımla ilişkiyi kurarken shell yada ui kullanıcı ile iletişimi kurar bu şekilde işletim sistemi bizim söylediğimiz mantıksız şeyleri donanım için anlamlı hale getirirken donanımın çıktılarını da bizim için anlamlı hale getirir.

 

Kernel :Çekirdek olarak adlandırılan bu kısım kullanıcının girdi cihazları ile yaptığı girdileri yada donanımdan geri dönen çıktıları işler ve anlamlı hale getirir. Basitçe siz klavyen izde a tuşuna bastığınızda bu klavyeniz tarafından kernel sistemine 61 hex kodu ile gönderilirken kernel tarafından cpu nuzun üç bin bilmem ne bacağına ve iki bin dört yüzüncü bacağına birer elektrik akımı olarak gönderilir ve basitçe elektrik gidiyorsa bu bir gitmiyorsa değer sıfırdır :) peki  donanımlar bunun bir a olduğuna karar verdikten sonra ne olur bu a karakteri bu seferde gpu ( graphical processor unit – ekran kartı ) ile aynı işlemler yapılarak monitörün 450, 470..... 810 pixellerinin siyah renkte ışık üretmesi yada ışığını kesmesi ile diyelim :) ekrana a harfi basılmış olur. Elbette bu işlem o kadar hızlı bir zaman içinde gerçekleşir ki siz günümüz modern bilgisayarları ile a harfine basıp ekrana bakma süresinde o a harfi orada yerini almış olur. Elbette işlem bundan çok daha karmaşık ama anlaşılır olması açısından böyle basit bir örnek ile geçiştirdim.

 

Peki, neden kernel versionları çıkmakta ve yenilenmekte? Güzel soru gönül isterdi ki ilk yapılan kernel yapıldığı gün itibari ile sonraki yüz bin sene içindeki çıkacak tüm donanımlara destek versin bizde sürücü derdinden kurtulalım, ops bu seferde sürücü bilinmeyeni çıktı. Yukarıdaki örnekte dikkat ederseniz işlemcinin bilmem hangi numaralı bacağına bir sayısını elektrik akımı gönderiyordu işte kernel sistemine hangi bacağa ne göndermesini söyleyen bu sürücüler dediğimiz sistemleridir. Günümüzde her ne kadar bazı standart sürücüler olsa ve bu sayede bir donanım bileşenini donanım gurubumuza eklediğinizde standart özellikleri ile çalışmaya başlasa da bu donanımdan tam performans almak için üretici tarafından üretilen sürücüler sisteme eklenmelidir.

 

Bunu basitçe şöyle özetleyeyim 600 dolar verip aldığınız bir ekran kartı ile vga standardın video dosyalarını izlerken sürücülerini kurmazsanız ve hardware yada software olarak hızlandırmazsanız HD standardındaki video dosyalarını izleyemezsiniz yada ethernet kartınız bir gigabit hızlara ulaşıp donanımsal VLAN desteğine sahipken VLAN tag ekleyemezsiniz. O zaman basitçe şunu söyleyebiliriz ki kernel donanımlar geliştikçe güncellenmelidir yada sürücüler ile desteklenmelidir. Çok eski bir kernel yapısında çok yeni donanımları çalıştıramazsınız ve bu her türlü işletim sistemi kerneli için geçerlidir basit anlamda windowsxp üzerinde bugün birçok modern donanım çalışmayacaktır çünkü xp ye siz sürücü kurmaya çalışsanız da temel olmadığı için sürücü kurulamayacaktır. Basitçe Kernel budur ve bu şekilde çalışmaktadır her ne kadar günümüzde birçok standart sayesinde kernel programcıları daha rahat kodlama yapabilseler ve birçok donanımı ait oldukları ailenin ve kullanılacakları yapıda hiç yoktan standart özellikleri ile tam performans çalıştırılabilseler de sürücüler olmadan para ödediğiniz donanımdan tam performans almanız mümkün değildir.

 

Linux Kernel ücretlimdir? Hayır, ücretli değildir, alıp geliştirebilir ya da o anki durumunu kendi ticari işlerinizde kullanabilirsiniz. Hali hazırda yazının başındaki dünyanın en çok kullanılan işletim sistemi sözü de buradan geliyor. Linux Kernel yapısı hali hazırda bir dijital saatin içinde çalışabilirken, android tablet iniz ya da uzaktan kumandalı cihazınızın içinde de çalışıyor olabilir. Tabi kernel tarafında kaynak kodlar açık bu nedenle istediğiniz kısmı kernelden çıkartıp istediğiniz özel bir koduda ekleyebiliyorsunuz buda çok küçük alanlara yüklenebilmesini sağlıyor ilerde inceleyeceğimiz shell de bulunan merkezi lib sistemi de buna destek oluyor.

 

Peki server ve desktop kernel ne demek? Aslında bu tip iki ayrı kernel bulunmuyor Sunucular oluşturulan dağıtımlar daha çok stabil/longterm adı altında geçen kernellerdir, desktop tarafında ise daha çok stabil/mainline adı altında geçen kerneller kullanılır. Ayrıca birçok dağıtım programcısı bu kernel yapılarını bir kısım modlama ve düzenleme işlemlerine tabi tutarlar. Basit anlamda RAM tarafında verilecek depo öncelikleri, program tarafında verilecek öncelikler kullanıcı mı yoksa sistem programlarına mı öncelik verilecek gibi. Network arkadaşlar için aslında iş collision durumuna benzer,  donanım maks kapasitede ulaşmaya başlarsa collision oluşmaya başlar bu durumda bazı paketler ölçeklendirilir ve düşürülmeden iletilir bazıları düşürülür ve daha sonra tekrar gönderilmesi talep edilir basitçe QoS yada 802.1p işleri gibi. Peki Longterm kerneller eski neden onları sunucularda kullanalım? Aslında bu sizin seçiminiz adamlar basit anlamda bu stabildir ve biz bu versiyonu uzun vade geliştirmeye devam edeceğiz yani güncelleyip sorunları için patch çıkartacağız bunu kullanırsanız sunucuyu 5-10 sene yeniden kuramazsınız getiriyorlar. Aslında bu işlem Microsoft tarafında da aynıdır mesala önceden Windows 9X vardır desktoplar için kullanılır Windows NT vardı 4.0 kadar sunucular için 5.0 ve Windows 2000 ile artık profesyonel market sunucular ve masa üstü sistemleri içinde kullanılmaya başlandı ( Windows XP ilk NT kernel son kullanıcı ürünüdür )

 

Bakınız https://www.kernel.org/category/releases.html

 

SHELL :  Namı değer kabuk, aslında en çok haşır neşir olduğumuz kısım ve doğal olarak işletim sisteminin yeri burasıdır. Linux yazının başında belirttiğimiz gibi aynı isimli kernel ile oluşturulmuş bir işletim sistemidir. Basitce bir dosyanın kopyalanması, taşınması adının değiştirilmesi dizinlerin listelenmesi bir disk donanımın sisteme bağlanması işlemlerine kullanıcı burada müdahale eder ve burada sonuçlarını alır. O zaman kabuk kısmı bizimle iletişime geçen asıl kısımdır. Peki buraya kadar anladık sorun yok peki nedir bu debian, redhat, fedora, ubuntu, suse, arch ve diğerleri.

 

Kabuk kısmında belli bir kısım standarttır, nasıl yani ya ? Evet belli bir kısım standart bu şu anlama geliyor. Belli dosyaların belli yerlerde olması gerekir diskleri mount etmek için kullanılan dosyaların belli bir yerde durması gerekir açılışta çalışacak dosyaların yeri aynıdır fakat bazı kısımlar standart değildir o zaman değiştirilebilir. İşte Linuxun hem baş belası olan kısmı hemde onu güzelleştiren kısım burada yatar. Dağıtımlar, kısaca farklı fikir ve mantalitelerin oluşturduğu kernel ve temel shell kısmı aynı olan fakat bazı değişikliklere uğramış ve paket sistemleri ve paket yöneticileri farklı olan işletim sistemleridir. Mesala Debian ve Debian bazlı sistemler programları DEB uzantısı ile paketlerken Redhat ve Redhat bazlı dağıtımlar RPM olarak paketler bunu Windows işletim sistemindeki MSI dosyaları olarak görebilirsiniz. Birde paket yöneticileri var tabiki, sanıldığının aksine MSI dosyaları executable yani kendi başına çalıştırılabilir yada yüklenebilir dosyalar değil. Bir MSI dosyasını çalıştırıp bilgisayarınızın explorer yada msi yöneticisine oturumu kapatma sinyali gönderirseniz göreceğiniz gibi o MSI da çalışmayı yada yüklemeyi durduracaktır o zaman Linux işletim sistemlerinde de amerikayı baştan keşfetmenin anlamı yok :) bu durumda yüklenebilir dosyalarını yüklemek ve dağıtımın shell yani kabuğuna entegre etmek doğru dosyayı doğru konuma yerleştirmek için bazı paket yöneticileri var. Mesala Debian ve Dabian bazlı dağıtımlar için APT-GET bu işlemi yaparken Redhat ve Redhat bazlı dağıtımlar için RPM ve YUM adlı programcıklar bu işi üstlenmiştir. İşte birçok anlatımda gördüğünüz apt-get install **** yada yum install **** in anlamı bu oluyor. Yani sizden **** adlı programı sisteme indirmeniz isteniyor. Hemen burada bir alt başlık açalım ve paket sistemini incelemeye devam edelim.

 

Linux Paket Sistemi :  Linuxun en güçlü olduğu yer az donanım gücüne ihtiyaç duyarak yüksek perfromanslı işler yapabilmesidir ama bununda bir bedeli vardır. Bilgisayarınızda bazı kütüphane dosyaları bulunmaktadır bunlar windows için DLL olarak adlandırılırken Linux tarafında LIB olarak adlandırılır. Burada Windows ve Linux kesin bir çizgi ile birbirlerinden ayrılmaktadır. Linux mantığında kütüphaneler kurulu sistemde olmalıdır ve programlar o dağıtımın kütüphanelerine göre yazılmalıdır. Windows ta ise bazı ortak kütüphaneler( DirectX, .NET vs..  ) Microsoft tarafından sağlanırken yazılımcılar bir kütüphaneyi kendi istekleri doğrultusunda modlayabilir ve sisteme yükleyebilir. Linux tarafındaki mantık sayesinde aynı anda hafızada aynı iş için üretilmiş kütüphane dosyasından birden fazla olmaz iken Windows tarafında aynı kütüphaneden hafızada onlarca olabilir. Bu Windows tarafında programların daha stabil çalışmasını ve farklı Windows versiyonları ve farklı servis paketleri ile güncellenmiş Windows lar üzerinde çalışmasını sağlarken çok faza hafıza ve cpu gücü yenmesine neden olur çünkü işlemci aynı dosyayı birkaç kez işlemek zorunda kalırken hafızada aslında birbirleri arasında çok küçük farklar olan hemen hemen aynı dosyaları ram üzerinde tutmak zorunda kalır diskte kapladığı alanı birim/maliyet hesabı artık diskler için geçersiz olduğundan katmadım. Linux tarafında işler böyle değildir, aynı dosya hafızada bir adet bulunur ve işlemci sürekli aynı dosyaları işlemek zorunda kalmaz bu düşük donanımlarda hız ve performans getirirken sizi versiyon bağımlı yapar. Yani bir yazılımın yeni bir versiyonu çıkmış ve onu o an kullandığınız işletim sisteminde kullanmak istiyorsanız bu ciddi bir ön çalışma gerektirir ki sırf bu iş için ciddi anlamda Linux shell öğrenmeniz gerekebilir ( Bakınız lib hell deyimi ). Tabi bu sistem aynı zamanda programların çok küçük boyutlu olmasını da sağlar Windows tarafında gigabaylar boyutunda olan bir programın Linux tarafında ki tam muadili sadece mb lar boyutunda olur hali hazırda paketin içinde sadece programın kendisi vardır ve kullanacağı tüm yan sistemler shell üzerindedir. Yani her güzelin bir kusuru vardır.

 

Linux paket sisteminin bir diğer güzelliği ise depo sisteminin kullanılmasıdır. Yani Linux için program bulmakla pek fazla uğraşmazsınız ancak ve ancak çok spesifik işler için programlar arasanız bu ayrı bir  konudur ve popüler hemen hemen tüm yazılımlar depolarda bulunur. Peki bu depo ne ola ki ? Bu arada fark ettim anlattıkça iş çok bilinmeyenli denkleme dönüyor :D şaka bir yana hemen depoları açıklayalım. Biraz önce bahsettiğim gibi programlar çok küçük alanlar tutuyor ve linux dağıtımları hemen hemen her yeni sürümde programların yeni kütüphaneleri kullanacak şekilde güncellenmesini istiyor. Linux dağıtımlarında programları sağdan soldan google amca yardımı ile bulabileceğiniz gibi internet ortamında sırf bu işe hizmet eden ve paket yöneticiniz ile bu depoyu shell üzerinde rahatlıkla taraya bileceğiniz şekilde depo adresleri bulunur ayrıca adettendir her programın kendisinin de bir web sitesi vardır ve ciddi anlamda ayrıntılı dokumanlar bulabilirsiniz. Basitçe shell üzerinde apt-cache search graphic yazarsanız size açıklamasında yada adında graphic geçen tüm programları listeler ve sizde istediğiniz programı apt-get install programın adı şeklinde sisteminize yükleyebilirsiniz anaaa bu programların hepsi ücretsiz mi ? Hayır değil free demek İngilizce de iki manaya gelir ücretsiz ( yani beleş ) ve özgür ( yani duble beleş değil ) ve Linux tarafında kullanılan bazı lisanslama teknikleri ile ücretli yada kaynak kodların kullanılması durumunda ücret ödenmesi zorunluluğu oluşturulabilir ( bakınız gpl ve lgpl ) fakat yazılımların %90 desek yalan olmaz bireysel kullanım için ücretsiz, yani o kadar satır ücret filan yazdım ama beleş işte.

 

Depo ve program kısmından sonra sıra geldi program yazan programlara :) evet yanlış duymadınız program yazan programlar. Genelde facebook üzerinde programcı arkadaşlar için çizilen karelerde insanlar ona uzaylı gibi bakarken oda insanlara taş devrindeki mağara adamları gibi bakmaktadır hali hazırda durum pek böyle değildir ve programcı arkadaşların yaptığı yazmakta oldukları programı hangi dilde ( program yazan programda ) yazıyorlar ise o program yazan programın yazım hiyerarşisi içinde kullanıcıdan gelen girdilerin ekrana veri olarak basılmasını sağlamaktır. Kolay gözüküyor değil mi ? Yanılıyorsunuz. Neyse basit anlamda paython, bash, perl gibi programlar program yazan programlardır yani bilgisayarda kullandığınız birçok program yine bu programlar aracılığı ile bu programların kullandığı kütüphaneler kullanılarak yazılır ( lib ). Elbette kabuk anlatma ile bitecek bir şey değil hali hazırda sırf bu iş için yazılmış böyle kalın kalın kitaplar var şimdi biz burada her şeyi anlattık artık bir kabuk uzmanı sızdır dersek o kitapları kimse almaz bir sürü dava ile uğraşırım o yüzden o kitaplardan alın şakası bir yana shell demek derya deniz demek.

 

Az çok shell nedir paket sistemi nedir dağıtım ve linux nedir kısımlarında anlaştık ise artık bizimle en çok beraber olan ve her sitede duvar kağıdı yarışmaları yaptıran hadi masa üstlerinizi görelim başlıklı forum konuları açtıran UI ( User Interface ) kısmına girelim.

 

 

Kullanıcı Arayüzü : Kullanıcı ara yüzleri aslında mouse ile tıkladığımız işlemleri shell kısmına olması gereken komutlar ile ileten kısımdır basitçe a dosyasının üzerine sağ tıklar copyala der sonra bunu götürür b dizinine yapıştır derseniz aslında yaptınız işlem shell tarafından cp a /b/ şeklinde algılanır. Bu aynı netwrok sistemindeki OSI katmanına benzer katman yukarı çıktıkça insanlar tarafından anlamlandırılabilir bir yapıya döner. Mesala Layer2 de mac adresleri kullanılır ve bu değerleri akılda tutması zordur fakat Layer3 katmanında her mac adresine kolay isimlendirme ve guruplama için IP adresi verilir bu sayıları akılda tutması daha kolaydır. af:01:e4:c3:a3:f9 mac adres değerini akılda tutmaktansa 192.168.1.10 değerini akılda tutmak daha kolaydır. Ayrıca kopyala yapıştır mantığında olduğu gibi eğer 192.168.1.0 ağında olduğunuzu biliyorsanız sadece 10 sayısını aklınızda tutmanız daha kolaydır. Ok network işine fazla girmeden anlatmak istediğimiz olayı umarım atlatabilmişizdir. İşin özünde olay bir çok komut ve ek parametresi ile uğraşmadan işlemleri kolay bir şekilde yapabilmektedirler. Bu durum diğer işlem sistemleri içinde aynıdır. Aslında şu söylenebilir ki tüm UI ler üzerinde çalışmakta oldukları shell in komutlarını kullanıcıya grafik ara birimi ile sunan programcıklar dır. Tabi UI tarafı ne kadar geliştirilirse geliştirilsin maalesef tüm isteklerimize cevap veremeyebilir ve bu nedenle arada bir shell ekranı yani siyah üzerine beyaz yazılı ekranla karşılaşabiliriz. Bunun windows tarafında aynı olduğunu hatırlatmak hatta windows tarafında açık olan normal shell komutları yetmediği için birde powershell yapısının oluşturulduğunu hatırlatmak ve yüzünüzdeki gülümsemeyi bir nebze olsun almak isterim. Tabi işin bu tarafı gırgır kısmı hali hazırda UI ler bir son kullanıcının tüm isteklerine cevap verebilir durumdadırlar yoksa Allah korusun bir programı yüklemek için Mesut hoca gibi %50 grafik kısmı %50 powershell ile uğraşır dururdunuz. Peki Linux un UI tarafında ne güzellikleri var ve sorunları neresi. Aslında Linux camiasında en sevdiğim kısım bu UI tarafıdır hali hazırda bilmeyenler için hatırlatıyorum Windows 8 metro arayüzünü alıp Windows 7 üzerinde kullanamazsınız aynı zamanda Widnwos 7 AURO arayüzünü alıp Windwos 8 yada Windows XP üzerinde kullanamazsınız yada Windows XP LUNA yı alıp başka bir yerde kullanamazsınız, bir saniye ya ne bu böyle METRO, AURO, LUNA isimleri var, aynı Windows tarafında olduğu gibi Linux tarafında da UI lerin isimleri var ama sistem biraz farklı çalışıyor. Linux tarafında UI isimleri version bazında değildir ve versiyonlar numara ile belirtilir mesala GNOME 3, GNOME 3.2, KDE 4, KDE 4.5, UNITY5, UNUTIY6 gibi fakat fark ettiyseniz farklı isimleri var. Bir linux dağıtımında istediğiniz herhangi bir UI sistemini gerekli paketler yükleyerek kullanabilirsiniz hatta istediğiniz zaman aynı işletim sisteminde sistemi kapatıp açmadan geçişler yapabilirsiniz. Her UI sisteminin kendisine has bazı özellikleri vardır mesala GNOME tarafı hızı ve stabilite hedef almışken KDE tarafı HIZ ve görselliği hedef almıştır fakat görsellik için donanımsal hızlandırıcıya gerek duyarken GNOME duymaz yada diğer masa üstleri. Yani kullanmış olduğunuz dağıtım hangi masa üstü sistemi ile gelirse gelsin siz istediğinize geçiş yapabilir yada aynı anda sistemde kurulu tutup istediğiniz anda değiştirebilirsiniz. İşte bu Linux sistemlerinin eşsiz özelliklerindendir. Masa üstlerinin versiyonlanmasının nedeni hangisinin yeni olduğunu belirtmek içindir, tabi burada şu unutulmamalıdır yeni bir versiyon kullandığı kütüphaneler nedeni ile o kullanmakta olduğunuz sisteme yüklenmeyebilir fakat kullanmakta olduğunuz işletim sistemi için kesin ve kesin bir versiyonu vardır ve depolardan kolayca yüklenebilir. Linux tarafında anlayacağınız tam bir görsel şölen var ve bu kullanıcı arayüzlerine özel yazılmış programlar olsa da bunları herhangi bir diğer kullanıcı arayüzünde kolayca kullanabilirsiniz. Aynı zamanda bu ana masa üstü sistemlerinin birçok çatallanmış versiyonuda bulunur basitce Ubuntu arayüzünü gören arkadaşlar aslında UNITY sisteminin GNOME kullanıcı arabiriminin çatallanmış bir hali olduğunu bilmesi gerekir. Bu çatallama işlemi aynı tabağınızdaki yemekle oynamak gibidir, yeni versiyon hoşunuza gitmedimi ? Çevrende de bolca programcı arkadaş mı var ? Basitçe yemeği çatallıyormuş gibi istemediğiniz bölümleri çıkartın ve ne istiyorsanız ekleyin ve vala yani bir kullanıcı ara biriminiz var. http://kde.org/ ve http://www.gnome.org/ sitelerini ziyaret ederek iki ana sürüm hakkında bilgi alabilirsiniz ayrıca görselliklerin ede bakabilirsiniz. Şunu unutmamak lazım ki bir şeyi kullanmadan tam anlamı ile fikir sahibi olamazsınız. Mesala Windows 8 Metroyu kullandı iseniz neredeyse GNOME 3 kullanmışsındır demektir, bende Microsoftun GNOME çatalladığını düşünmüyor değilim hani :D. Şaka bir yana metro daha hayalken GNOME cu arkadaşlar çok katmanlı masa üstü  sistemini piyasaya sürmüşlerdi bile.

 

UI ler dediğimiz gibi aslında sizin shell üzerinde verdiğiniz komutları UI ile tıklayarak vermeniz anlamına geliyor ve basit anlamda bu paket yönetimi içinde geçerlidir artık hemen hemen her dağıtımın kendisi google market gibi bir arayüzü var tabi google market gibi sistemi reklam ve banner ile doldurmuyorlar sizin isteğiniz dışında program yüklemiyorlar yada bilgilerinizi her kes le ücretli yada ücretsiz olarak paylaşmıyorlar. Bilen bilir google chromun ilk zamanlarında sistemden nasıl dataları arakladığını ispat etmiştim, Çözümpark üzerinde forumda bulunabilir.

 

Ok şimdi Linux hakkında bazı bilgileri biz çatallayalım ve yanlış bilinen gerçekleri ortaya çıkartmaya çalışalı.

 

Linux işletim sistemine virüs bulaşmaz ! Yok daha neler bal gibi de bulaşır lakin Linux işletim sistemleri çok katı bir kullanıcı hak sistemine sahiptir ve Windows daki gibi  ara kullanıcılar yoktur Basitce Root ve diğer kullanıcılar vardır. Bu çok büyük bir stabilite sistemi getirsede aynı zamanda bazı kullanım zorluklarınıda yanında getirir. Aslında Windows tarafında pek fark etmezsiniz fakat bazı donanımlara müdahale edebilmek için o donanıma hükmeden kullanıcı ile aynı hak yada levelde olmanız gerekir ya da o donanıma müdahale edebilecek gurup içinde olmanız gerekir. Linux tarafında da değişen pek bir şey yok sorun gurupların çok fazla hakkı olmaması yani genel olarak hemen hemen her şey kullanıcılara istinaden düzenlenir ve genel olarak root kullanıcısı değilseniz pek bir şeye müdahale edemezsiniz buda güvenliği ve sağlamlığı arttırırken kullanımı zorlaştırır fakat bazı ara programlar ( su ( sper user ), sudo ( super user do ) aynı widnows daki runas ) sayesinde geçici olarak o donanım yada yazılımları kullanabilirsiniz. Yada root haklarını alıp kendi kullanıcınız için o program yada donanıma tam erişim hakkı verirsiniz. Şundan bir bilemedin iki sene önce USB disklere erişmek için tonla işlem yapıyorduk tabi Linux camiası kendi kendine hazırladığı neden Linux berbattır adlı yazı, makale ve video dosyalarından sonra biraz akıllandı ve ara sistemler geliştirerek son kullanıcı tarafında daha kullanılabilir yapılar oluşturdular Bu arada linux neden berbattır demek Linux un berbat olduğu anlamına gelmiyor sadece hatanı kabul et ve düzelt anlamına geliyor ki dünyada ki en büyük erdemde bu olsa gerek zaten bir şeyi düzelteceksen ilk önce onun hata olduğunu anlamak gerekiyor :). Evet bu katı kullanıcı hakları nedeni ile Linux tarafında bir virüs bulaşsa da bu tüm kullanıcıları etkilemez ve sadece bulaştığı kullanıcının dosyalarına zarar verebilir bu durumda toplu zarar vermek isteyen birisi pek fazla Linux ile uğraşmaz daha çok ara katman geçişleri ve ara kullanıcısı olan Windows tarzı sistemlere yönelmek daha mantıklıdır çünkü yapılan işin sonunda alınacak verim daha fazladır. Bu nedenle Linux sistemlerine virüs yada benzeri zararlılar bulaşmaz diyemeyiz fakat çok fazla etkili olamaz. Bunu Windows tarafında açıklamak gerekirse bir kullanıcıya bulaşmış adware programı her yeni kullanıcı açıldığında onlara da bulaşır bu nedenle aynı sistemi kullanan tüm kullanıcıların ekranlarında neşeli popuplar görebiliriz ki genelde ara beni boya beni tarzındadır.

 

Linux işletim sisteminde sürücü sorunu çoktur ! evet durum aynen böyledir onca yıldır tıkla indir tıkla kur yapıları ile yetişen bizler bilgisayarı sadece next buttonundan ibaret biliyoruz. Sonuç üzerinde next yazan bir button yok ise o zordur :). Tabi işin bizim tarafımız olduğu gibi aynı zamanda kernel programcılarının sürekli kernel güncellemesi de var ve kernellerin güncellenmesinde sürücü yazan firmalar sorunlar yaşıyor. Temelde sürücü yazan firmaların asıl işi donanım üretmek, doğal olarak minimum maliyet maximum kar ana hedef ve sürekli olarak sürücü güncellemek istemiyorlar yada bazı ticari kaygılardan dolayı sürücülerini açmak istemiyorlar, Linus Torvalds ın NVIDIA hakkında youtube üzerinde bazı videoları var izleyin mesala :D. Tabi tüm suçu donanım üreticilerde bulmak yanlıştır, kernel programcılarına da bulmak yanlıştır nextci kullanıcılara da bu nedenle daha ortak bir platform gerçekleştirmek lazım. Bu kısımda bir çalışma fısıltıları var umarım kısa sürede sonuç verecek ve artık donanım hızlandırmalı ürünleri son performanslarında daha stabil kullanabileceğiz. Biraz önceki satırda özellikle donanım hızlandırma dedim çünkü hatırlarsanız sürücülerin bu işe yaradığını söylemiştim bu tür şeylere ihtiyacı olmayan yazıcı, çizici, modem ethernet gibi sistemler için zaten ortak sürücüler var o nedenle o tür donanımlarda herhangi bir sorun yaşamazsınız. İkinci bir seçenek longterm kullanan dağıtımları kullanmaktır bu hem daha stabil bir dağıtım kullanmanıza olanak sağlar hemde sürücü sorunlarını minimuma indirmiş olursunuz sadece programların güncel versiyonlarına ulaşmanız zorlaşır hani iki ucu sinekli değnek misali. Umarım kısa sürede bu sürücü işleri düzelecektir hali hazırda şu son bir sene içinde Linux camiası son 10 senede yaptığından daha fazla son kullanıcı tarafına yanaşmaktadır.

 

 

Nedir bu öküz ve penguen karmaşası ?Öküz resmi basitce GNU felsefesinin simgesidir Richard Stallman tarafından bulunmuştur ve aslında bir işletim sisteminin bir felsefe ile birleştirilmesidir. Felsefe kısaca her programcının her seferinde Amerikayı yeniden keşfetmek yerine diğer bir programcının programını tırtıklaya bilmesi, çatallayabilmesi ve o kodlardan esinlenmesinin özgür olmasına dayanır tabi bunları yapabilmek için o programın kaynak kodlarının açık olması gerekir. Tabi yukarılarda bir yerde bahsettiğim gibi free is not a free kelimesi tam olarak burada ortaya çıkıyor, kısaca anlamı şudur; Özgür demek beleş demek değildir. Peki hem programın kodları açık oluyor hemde birileri buradan esinlenebiliyor hemde ben buradan para kazanıyorum. Durum şu, siz bir program yazıyorsunuz kodları okunabilir olarak bırakıyorsunuz fakat programınızın kullanımı için ücret talep edebiliyorsunuz yada günümüz programcılarının yaptığı gibi adam gelir sizden özel bir şey ister kendi programınıza bir patch yazarsınız ve karşılığında para alırsınız. Bu biraz kapitalizm karşıtı bir görüştür, bu görüş sayesinde bilgi saklı kalmıyor ve yayılıyor yayıldıkça daha iyisi ortaya çıkıyor buda programın ilk versiyonunu yazan kişinin birkaç hafta içinde daha iyi ve stabil başka bir programla karşılaşmasına neden oluyor bu seferde döngü tersine devam ediyor. Kısaca Öküz, pencerenin tam tersi mantıkda işlemesine dayanıyor. Peki penguen ne alaka eh oda Linus abiden hediye ve Linux un simgesi. Hatırlarsanız size Linux un aynı isimli kerneli taşıyan işletim sistemi olduğunu söylemiştim.  Richard Stallman aslında bir işletim sistemi yapmak ve bu işletim sistemi üzerindeki programların GNU felsefesi ile yeşermesinin peşinde idi lakin GNU Hurd yani GNU karneli stabil olmadığı ve genç Linus elinde bir kernel ile çıkıp gelince bunu da GNU felsefesine hediye edince işler değişti ve öküz, penguenide kapsayan bir işletim sistemi haline geldi. Günümüzde GNU felsefesi aslında Linux camiasını ortadan ikiye bölmüş durumdadır bunlardan bir kısmı UBUNTU gibi gel ne olursan ol gel felsefesi ile kapalı kodlu yada açık kodlu tüm programlara destek vermeye çalışırken bir diğer kısım, Fedora gibi GNU öküzünün boynuzlarına sadıksan gel yoksa gelme diyor. Tabi yinede kapalı kodlu programları da Fedora üzerinde çalıştırabilirsiniz sonuçta iş gereklilikleri sağlayabilmektir.  Richard Stallman amca aynı zamanda işleri sağlama almak için GPL lisansınıda yazmıştır ve GPL lisanslı bir yazılım üzerinde geliştirilen her yazılım doğal olarak GPL lisansı ile dağıtılmalıdır. Kısaca bugün PHP üzerinde WEB sayfası yazıp kodları saklayan arkadaşlar birilerinin kafasını kızdırır ise ciddi mahkeme durumları ile karşılaşabilirler. En yakın ve büyük örneklerden birisi Cisco nun Linksys nedeni ile ödediği cezalardır, bakınız eğer Linksys nin kodları bugün açıklanmamış olsa idi TPLINK diye bir şey olmazdı :). Ayrıca Stalman UBUNTU için açık ca malware demektedir, bunun temel nedeni ticari amaçlı firmalar ile olan ilişkisi. Mesala bugün UBUNTU üzerinde arama yaptığınızda x bir muzik market üzerinde de arama yapılıyor x bir alışveriş sitesinde de arama yapılıp size aradığınız la ilgili alternatif sonuç olarak veriliyor elbette bu özellikler kapatılabilir fakat şu an için GNU tarafında hoş karşılanmıyor ama Linux un gelişmesi için de bu tür sistemler şart. Souçta kullanıcı istediği anda bu sistemlerle olan bağlantıyı kesebiliyor. Şunu unutmamak gerekir ki eğer Ubuntu olmasa idi bugün Linux aldığı yolun %50 sini alamamıştı her ne kadar ben Fedora kullansamda burada Ubuntu ekibine katılmamak elde değil.

 

Nedir bu yuvarlanan sürüm ? Yuvarlanan sürüm ler ya da dağıtımlar daha güncel bir dağıtım çıktığında bilgisayar format atmaya gerek kalmadan bir üst versiyona yükseltilebilen sistemlerdir. En büyük getirileri sistemde yedek almadan Ubuntu 13.10 dan 14.04 yükseltmek denebilir. Kısaca Windows Xp kullanıyorsunuz ve Windows 7 çıktı ama mail programıdır, ofisinizdeki ayarlardır yada dağıtık durumdaki dosyalarınız dır yedek alıp yeniden bir işletim sistemi kurmak istemiyorsunuz sadece sürümü yükseltip kullanmaya devam. Tabi bazı götürüleri de var sisteminizde yüklü programlar yüklü kütüphaneler hepsi birden güncellenecektir buda bazı sorunlara neden olabilir bazı programlar çalışmaz duruma gelebilir bu nedenle yeni bir versiyon çıktığında bir kaç ay kadar bekleyip testing işleri bittikten sonra ve genel olarak programların o versiyon için yeni versiyonları çıktığı zaman yükseltmekte fayda vardır. Yuvarlanamayan sürümler her versiyon değişikliğinde fresh install denen sistemle yedeklerin alınması ve tüm sistemin yeniden kurulmasına dayanır. Tabi bahsi geçen sistem bir sunucu ise bu sorun olabilir ama yuvarlanan sürümdeki program sorunları ile uğraşmazsınız. Debin ve Debian bazlı dağıtımlar genel olarak yükseltilebilir sistemlerdir ki sırf bu nedenle ben sunucularda Debian bazlı dağıtımları kullanıyorum bunların içinde UBUNTU, MINT gibi sistemler var.

 

Linux camiası nereden para kazanıyor ? Piyasada bunla ilgili tonla şey duyuyorum bunların içinde Linux un İsrail destekli olduğu ( gaybdan gelen israil düşmanlığımız var ya :D ),  Amerika’nın oyunu olduğu ki bu en komiği çünkü Microsoft direk olarak Amerikan hükümeti ile anlaşmalıdır yani hükmet isterse hepinizin verilerini direk olarak paylaşmak zorunda. Neyse her zamanki saçma düşmanlık işleri. Linux camiasında para genelde bağış yöntemi ile toplanır bu nedenle bağış/donate buttonları sizin dostunuzdur. Ayrıca başarılı projeler büyük firmalarca kullanılırlar ve ciddi bağışlar yapılır bu şekilde o projedeki yazılımcılar farklı yazılımlar geliştirmek içinde fırsat bulabilirler. Bir çok firmada iş olanağı vardır bugün IBM/INTEL gibi devlerde açık kaynak kodcu yazılımcılar çokca çalışır ve bu firmalar camiyaya ciddi para yardımlarında bulunurlar. Basitçe google nin Firefox açılış ekranında google arama sayfası gelmesi ve standart arama motorunun google olması için ödediği bir yıllık para modzilla ekibini bir kaç sene sırtında taşır ki her sene ödüyor amcalar.  Ayrıca yazdığınız programları satabilirsiniz ve kullanımından ücret talep edebilirsiniz tabi bazı basit şartlar var bunları GPL ve LGPL lisanlarını okuyarak öğrenebilirsiniz ve daha birçok yol mesala Ubuntu nun reklam sistemide bu gibidir. Birçok katılımcı gönüllülük esası ile çalışır ve programcıların kendilerini geliştirmeleri ve ekip hiyerarşi yapısını öğrenmeleri için iyi bir okuldur. Bugün herhangi bir şirket aklı başında bir eleme yönetimi ile yazılım personeli işe alacak olsa ve bunları üniversiteden yeni mezunlardan seçecek olsa en başta soracağı kaç adet açık kaynak kod projesinde çalıştığıdır, yani bir nevi staj imkanı sunar. Tabi ki daha bir çok yol sayılabilir hem para kazanma hem katkıda bulunma ücretsizliği koruma adına.

 

Linux millileştirilebilir mi ? Bu sorunun cevabını ciddi anlamda vermemiz lazım çünkü dünyada milli linux dağıtımı olan tek milletiz :) Hayır arkadaşlar milli bir dağıtım yoktur Türkiye ye özel hazırlanmış bir dağıtım olabilir ama bu onu milli yapmaz hali hazırda milli olacak olsa Linus ve Stalmanın ülkeleri bellidir oraların milli sistemi olurdu. Bir dağıtımı alıp onu çatallayıp sonra bu millidir demek olmaz, Madem milli işletim sistemi istiyoruz oturur sıfırdan yazarız o zaman milli olur ha Amerikayı baştan keşfetmeyelim çatallayalım dersek o zamanda milli olmaz yerli dağıtım olur.

 

Umarım kafanızdaki bazı sorunlara cevap bulabilmiş imdir, son olarak unutmayınız FREE IS NOT A FREE

Centos 6.5 Final Redmine 2.4.2 Kurulumu

$
0
0

Redmine proje yönetimi, doküman yönetimi, iş akışı yönetimini sağlamak için kullanılabilecek ücretsiz ve açık kaynak kodlu bir uygulamadır.

Centos 6.5 Final işletim sistemine kurulumu için aşağıdaki adımlar takip edilmelidir.

 

clip_image002

İşletim sistemi güncellenmesi için;

# yum update -y

 

Redmine uygulamasının kullanacağı veritabanı ve php için kurulacak mysql ve php mysql desteği için;

# yum install mysql-server mysql php-mysql -y

 

 

Mysql veritabanının işletim sisteminin 2,3 ve 5. çalışma seviyelerinde servis olarak otomatik başlaması için;

# chkconfig --levels 235 mysqld on ; service mysqld start

 

Redmine uygulamasının kurulumunda ve kullanımında ihtiyaç duyulacak paketlerin kurulumu için;

# yum install make gcc gcc-c++ zlib-devel ruby-devel rubygems ruby-libs apr-devel apr-util-devel httpd-devel mysql-devel mysql-server automake autoconf ImageMagick ImageMagick-devel curl-devel -y

 

Redmine kurulum dosyasının indirilmesi için;

# cd /var/www

# wget http://www.redmine.org/releases/redmine-2.4.2.tar.gz

# tar -vxzf redmine-2.4.2.tar.gz

# mv redmine-2.4.2 redmine

 

Ruby modüllerinin kurulması için;

# gem install bundle

Successfully installed bundler-1.3.5

Successfully installed bundle-0.0.1

2 gems installed

Installing ri documentation for bundler-1.3.5...

Installing ri documentation for bundle-0.0.1...

File not found: lib

 

# bundle install --without postgresql sqlite test development

 

Please configure your config/database.yml first

Fetching gem metadata from https://rubygems.org/.........

Fetching gem metadata from https://rubygems.org/..

Resolving dependencies...

Installing rake (10.1.1)

Installing i18n (0.6.9)

Installing multi_json (1.8.2)

Installing activesupport (3.2.16)

Installing builder (3.0.0)

Installing activemodel (3.2.16)

Installing erubis (2.7.0)

Installing journey (1.0.4)

Installing rack (1.4.5)

Installing rack-cache (1.2)

Installing rack-test (0.6.2)

Installing hike (1.2.3)

Installing tilt (1.4.1)

Installing sprockets (2.2.2)

Installing actionpack (3.2.16)

Installing mime-types (1.25.1)

Installing polyglot (0.3.3)

Installing treetop (1.4.15)

Installing mail (2.5.4)

Installing actionmailer (3.2.16)

Installing arel (3.0.3)

Installing tzinfo (0.3.38)

Installing activerecord (3.2.16)

Installing activeresource (3.2.16)

Using bundler (1.3.5)

Installing coderay (1.1.0)

Installing fastercsv (1.5.5)

Installing rack-ssl (1.3.3)

Installing json (1.8.1)

Installing rdoc (3.12.2)

Installing thor (0.18.1)

Installing railties (3.2.16)

Installing jquery-rails (2.0.3)

Installing net-ldap (0.3.1)

Installing ruby-openid (2.3.0)

Installing rack-openid (1.4.1)

Installing rails (3.2.16)

Installing rmagick (2.13.2)

Your bundle is complete!

Gems in the groups postgresql, sqlite, test and development were not installed.

Use `bundle show [gemname]` to see where a bundled gem is installed.

Post-install message from rdoc:

Depending on your version of ruby, you may need to install ruby rdoc/ri data:

 

<= 1.8.6 : unsupported

= 1.8.7 : gem install rdoc-data; rdoc-data --install

= 1.9.1 : gem install rdoc-data; rdoc-data --install

>= 1.9.2 : nothing to do! Yay!

 

Redmine için veritabanı oluşturulması;

# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL

      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

 

In order to log into MySQL to secure it, we'll need the current

password for the root user.  If you've just installed MySQL, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

 

Enter current password for root (enter for none): [ENTER]

OK, successfully used password, moving on...

 

Setting the root password ensures that nobody can log into the MySQL

root user without the proper authorisation.

 

Set root password? [Y/n] Y

New password: [123456]

Re-enter new password: [123456]

Password updated successfully!

Reloading privilege tables..

... Success!

 

By default, a MySQL installation has an anonymous user, allowing anyone

to log into MySQL without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.

 

Remove anonymous users? [Y/n] n

... skipping.

 

Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.

 

Disallow root login remotely? [Y/n] n

... skipping.

 

By default, MySQL comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.

 

Remove test database and access to it? [Y/n] Y

- Dropping test database...

... Success!

- Removing privileges on test database...

... Success!

 

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

 

Reload privilege tables now? [Y/n] Y

... Success!

 

Cleaning up...

 

All done!  If you've completed all of the above steps, your MySQL

installation should now be secure.

 

Thanks for using MySQL!

 

# mysql -u root -p

Password: 123456

mysql> create database redmine character set utf8;

Query OK, 1 row affected (0.00 sec)

 

mysql> grant all privileges on redmine.* to 'redmine'@'localhost' identified by '123456';

Query OK, 0 rows affected (0.00 sec)

 

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

 

mysql> quit

Bye

 

 

Redmine uygulamasının konfigürasyon dosyasının ayarlanması için;

# cd /var/www/redmine/config

 

# cp database.yml.example database.yml

 

# vi database.yml

# Examples for PostgreSQL, SQLite3 and SQL Server can be found at the end.

# Line indentation must be 2 spaces (no tabs).

 

production:

  adapter: mysql2

  database: redmine

  host: localhost

  username: root

  password: "123456"

  encoding: utf8

 

# bundle install --no-deployment

 

Fetching gem metadata from https://rubygems.org/.........

Fetching gem metadata from https://rubygems.org/..

Resolving dependencies...

Using rake (10.1.1)

Using i18n (0.6.9)

Using multi_json (1.8.2)

Using activesupport (3.2.16)

Using builder (3.0.0)

Using activemodel (3.2.16)

Using erubis (2.7.0)

Using journey (1.0.4)

Using rack (1.4.5)

Using rack-cache (1.2)

Using rack-test (0.6.2)

Using hike (1.2.3)

Using tilt (1.4.1)

Using sprockets (2.2.2)

Using actionpack (3.2.16)

Using mime-types (1.25.1)

Using polyglot (0.3.3)

Using treetop (1.4.15)

Using mail (2.5.4)

Using actionmailer (3.2.16)

Using arel (3.0.3)

Using tzinfo (0.3.38)

Using activerecord (3.2.16)

Using activeresource (3.2.16)

Using bundler (1.3.5)

Using coderay (1.1.0)

Using fastercsv (1.5.5)

Using rack-ssl (1.3.3)

Using json (1.8.1)

Using rdoc (3.12.2)

Using thor (0.18.1)

Using railties (3.2.16)

Using jquery-rails (2.0.3)

Installing mysql2 (0.3.14)

Using net-ldap (0.3.1)

Using ruby-openid (2.3.0)

Using rack-openid (1.4.1)

Using rails (3.2.16)

Using rmagick (2.13.2)

Your bundle is complete!

Gems in the groups postgresql, sqlite, test and development were not installed.

Use `bundle show [gemname]` to see where a bundled gem is installed.

 

 

# rake generate_session_store

Note: The rake task generate_session_store has been deprecated, please use the replacement version generate_secret_token

 

# bundle update rake

 

# rake db:migrate_plugins  RAILS_ENV=production

Note: The rake task db:migrate_plugins has been deprecated, please use the replacement version redmine:plugins:migrate

 

# rake db:migrate RAILS_ENV="production"

 

-----------

[kısaltıldı]

==  AddQueriesOptions: migrating ==============================================

-- add_column(:queries, :options, :text)

   -> 0.2173s

==  AddQueriesOptions: migrated (0.2173s) =====================================

 

==  AddUsersMustChangePasswd: migrating =======================================

-- add_column(:users, :must_change_passwd, :boolean, {:null=>false, :default=>false})

   -> 0.2984s

==  AddUsersMustChangePasswd: migrated (0.2985s) ==============================

 

==  RemoveEolsFromAttachmentsFilename: migrating ==============================

==  RemoveEolsFromAttachmentsFilename: migrated (0.0023s) =====================

 

==  SupportForMultipleCommitKeywords: migrating ===============================

==  SupportForMultipleCommitKeywords: migrated (0.0028s) ======================

 

==  AddRepositoriesCreatedOn: migrating =======================================

-- add_column(:repositories, :created_on, :timestamp)

   -> 0.2137s

==  AddRepositoriesCreatedOn: migrated (0.2137s) ==============================

----------------------

 

 

# rake redmine:load_default_data RAILS_ENV="production"

Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en]

[ENTER]

====================================

Default configuration data loaded.

 

 

Redmine standalone çalıştırıp test edilmesi için;

# ruby ./script/rails server webrick -e production

 

=> Booting WEBrick

=> Rails 3.2.16 application starting in production on http://0.0.0.0:3000

=> Call with -d to detach

=> Ctrl-C to shutdown server

[2013-12-26 14:54:12] INFO  WEBrick 1.3.1

[2013-12-26 14:54:12] INFO  ruby 1.8.7 (2011-06-30) [x86_64-linux]

[2013-12-26 14:54:12] INFO  WEBrick::HTTPServer#start: pid=31401 port=3000

Started GET "/" for 127.0.0.1 at Thu Dec 26 14:54:40 +0200 2013

Processing by WelcomeController#index as HTML

  Current user: anonymous

  Rendered welcome/index.html.erb within layouts/base (81.4ms)

Completed 200 OK in 301.1ms (Views: 103.2ms | ActiveRecord: 60.0ms)

 

 

Iptables firewall dan izin vermek için aşağıdaki kurallar girilebilir.

 

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

 

# service iptables restart

 

Passenger installation aşağıdaki adımlar uygualanır.

# cd /var/www/redmine

 

# gem install passenger

 

Building native extensions.  This could take a while...

Successfully installed daemon_controller-1.1.8

Successfully installed passenger-4.0.29

2 gems installed

Installing ri documentation for daemon_controller-1.1.8...

Installing ri documentation for passenger-4.0.29...

Installing RDoc documentation for daemon_controller-1.1.8...

Installing RDoc documentation for passenger-4.0.29...

 

 

# passenger-install-apache2-module

Welcome to the Phusion Passenger Apache 2 module installer, v4.0.29.

 

This installer will guide you through the entire installation process. It

shouldn't take more than 3 minutes in total.

 

Here's what you can expect from the installation process:

 

1. The Apache 2 module will be installed for you.

2. You'll learn how to configure Apache.

3. You'll learn how to deploy a Ruby on Rails application.

 

Don't worry if anything goes wrong. This installer will advise you on how to

solve any problems.

 

Press Enter to continue, or Ctrl-C to abort.

[ENTER]

.

.

 

The Apache 2 module was successfully installed.

 

Please edit your Apache configuration file, and add these lines:

 

   LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-4.0.29/buildout/apache2/mod_passenger.so

   PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.29

   PassengerDefaultRuby /usr/bin/ruby

 

After you restart Apache, you are ready to deploy any number of Ruby on Rails

applications on Apache, without any further Ruby on Rails-specific

configuration!

 

Press ENTER to continue.

[ENTER]

 

--------------------------------------------

Deploying a Ruby on Rails application: an example

 

Suppose you have a Rails application in /somewhere. Add a virtual host to your

Apache configuration file and set its DocumentRoot to /somewhere/public:

 

   <VirtualHost *:80>

      ServerName www.yourhost.com

      # !!! Be sure to point DocumentRoot to 'public'!

      DocumentRoot /somewhere/public

      <Directory /somewhere/public>

         # This relaxes Apache security settings.

         AllowOverride all

         # MultiViews must be turned off.

         Options -MultiViews

      </Directory>

   </VirtualHost>

 

And that's it! You may also want to check the Users Guide for security and

optimization tips, troubleshooting and other useful information:

 

  /usr/lib/ruby/gems/1.8/gems/passenger-4.0.29/doc/Users guide Apache.html

  http://www.modrails.com/documentation/Users%20guide%20Apache.html

 

Enjoy Phusion Passenger, a product of Phusion (www.phusion.nl) :-)

https://www.phusionpassenger.com

 

Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.

# cd /etc/httpd

# mv conf.d available

# mkdir conf.d

# cd conf.d

# vi redmine.conf

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-4.0.29/buildout/apache2/mod_passenger.so

PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.29

PassengerDefaultRuby /usr/bin/ruby

 

 

<VirtualHost *:80>

      ServerName redmine.domain.com

      # !!! Be sure to point DocumentRoot to 'public'!

      DocumentRoot /somewhere/public

      <Directory /somewhere/public>

         # This relaxes Apache security settings.

         AllowOverride all

         # MultiViews must be turned off.

         Options -MultiViews

      </Directory>

                

                  ErrorLog "|/usr/sbin/rotatelogs /etc/httpd/logs/redmine-error.%Y-%m-%d.log 86400"

      CustomLog "|/usr/sbin/rotatelogs /etc/httpd/logs/redmine-access.%Y-%m-%d.log 86400" "%h %l %u %t %D \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""

                

</VirtualHost>

:wq!

 

Apache web servisi konfigürasyon dosyasındaki "NameVirtualHost" özelliği aktif edilir.

# vi /etc/httpd/conf/httpd.conf

# Use name-based virtual hosting.

#

 

NameVirtualHost *:80

 

#

# NOTE: NameVirtualHost cannot be used without a port specifier

# (e.g. :80) if mod_ssl is being used, due to the nature of the

# SSL protocol.

 

:wq!

# chown -R apache:root /var/www/redmine

# service httpd configtest

 

httpd: apr_sockaddr_info_get() failed for savtag

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

[Thu Dec 26 15:10:33 2013] [warn] NameVirtualHost *:80 has no VirtualHosts

Syntax OK

 

 

Selinux kapatmak için;

# vi /etc/selinux/config

 

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of these two values:

#     targeted - Targeted processes are protected,

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted

 

:wq!

# service iptables stop

# chkconfig --level 345 mysqld on

# chkconfig --level 345 httpd on

# cd /var/www/redmine

# /etc/init.d/httpd restart

 

Passenger servisinin redmine uygulamasını çalıştırıp hizmete sunması için;

# passenger start -e production

 

--> Downloading Phusion Passenger support binaries for your platform

     Checking whether the downloaded Watchdog binary is usable

     Checking whether the downloaded HelperAgent binary is usable

     Checking whether the downloaded LoggingAgent binary is usable

     All good

--> Downloading web helper for your platform

     Checking whether the downloaded binary is usable

     All good

=============== Phusion Passenger Standalone web server started ===============

PID file: /var/www/redmine/tmp/pids/passenger.3000.pid

Log file: /var/www/redmine/log/passenger.3000.log

Environment: production

Accessible via: http://0.0.0.0:3000/

 

You can stop Phusion Passenger Standalone by pressing Ctrl-C.

Problems? Check http://www.modrails.com/documentation/Users%20guide%20Standalone.html#troubleshooting

===============================================================================

App 6194 stdout:

App 6194 stderr: *** Phusion Passenger: no passenger_native_support.so found for the current Ruby interpreter. Downloading precompiled binary from the Phusion server (set PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY=0 to disable)...

App 6194 stderr:

App 6194 stderr: cp /usr/lib/ruby/gems/1.8/gems/passenger-4.0.29/download_cache/rubyext-ruby-1.8.7-x86_64-linux.tar.gz /tmp/passenger-native-support-4ebvru/rubyext-ruby-1.8.7-x86_64-linux.tar.gz

App 6194 stderr: # tar xzf rubyext-ruby-1.8.7-x86_64-linux.tar.gz

App 6194 stderr: # rm -f rubyext-ruby-1.8.7-x86_64-linux.tar.gz

App 6194 stderr: Checking whether downloaded binary is usable...

App 6194 stderr:

App 6194 stderr: # /usr/bin/ruby -I. test.rb

App 6194 stderr:

App 6194 stderr: Binary is usable.

App 6194 stderr:

App 6194 stderr: # mkdir -p /tmp/passenger-standalone.1wl4zan/locations.ini/buildout/ruby/ruby-1.8.7-x86_64-linux

App 6194 stderr: Not a valid directory. Trying a different one...

App 6194 stderr:

App 6194 stderr: -------------------------------

App 6194 stderr: # mkdir -p /root/.passenger/native_support/4.0.29/ruby-1.8.7-x86_64-linux

App 6194 stderr: # cd /root/.passenger/native_support/4.0.29/ruby-1.8.7-x86_64-linux

App 6194 stderr:

App 6194 stderr: # Installing passenger_native_support.so

Connecting to database specified by database.yml

Creating scope :system. Overwriting existing method Enumeration.system.

Creating scope :sorted. Overwriting existing method Group.sorted.

Creating scope :sorted. Overwriting existing method User.sorted.

[ 2013-12-26 15:18:46.0777 6163/7f8af0ed6700 Pool2/SmartSpawner.h:301 ]: Preloader for /var/www/redmine started on PID 6194, listening on unix:/tmp/passenger.1.0.6157/generation-0/backends/preloader.6194

Started GET "/" for 127.0.0.1 at Thu Dec 26 15:18:46 +0200 2013

Processing by WelcomeController#index as HTML

  Current user: anonymous

  Rendered welcome/index.html.erb within layouts/base (18.3ms)

Completed 200 OK in 246.6ms (Views: 36.9ms | ActiveRecord: 8.7ms)

 

 

http://ip:3000

Öntanımlı olarak 3000 portundan çalışan redmine uygulamasının 80 portundan çalışması istenildiğinde;

# service httpd stop

# chkconfig httpd off

# ruby /var/www/redmine/script/rails server -p 80 -e production

 

Redmine uygulama sunucusu yeniden başladığında otomatik olarak başlatmak için;

# vi /etc/rc.local

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

 

ruby /var/www/redmine/script/rails server -p 80 -e production

:wq!

Kaynak:

http://mrtn.me/blog/2012/07/06/installing-redmine-on-centos-6-dot-2-wiht-mysql-and-apache/

http://www.redmine.org/boards/1/topics/17692

CentOS ile DHCP Server

$
0
0

Değerli arkadaşlar daha önce çeşitli roller kurarak networkümüze dahil ettiğimiz Linux sunuculara bu kez her şirketin networkünde olması gereken servislerden biri olan DHCP servisini kurmak üzere bu makaleyi hazırlamış bulunuyoruz.

Şirketlerin sistemlerinde bulunan DHCP sunucular artık sadece bir scope ile çalışmıyor. Mutlaka multiscore çalışıyorlar. En azından iki farklı scope yapılandırılıyor. Bunlardan biri şirket içi local network için, diğeri ise misafir network’ü yapılandırılıyor. Bende burada sizlere 2 farklı konfigürasyondan bahsedeceğim. İlki şu şekilde olacak, bunu Config_1 olarak adlandıracağım ve sadece 1 scope barındıracak. Aşağıda diagram olarak görebilirsiniz.

clip_image002

İkinci şeklini ise Config_2 şeklinde adlandıracağım. Buda şekil olacak aşağıdaki şekilde diagram olarak görülebilir,

clip_image004

Şimdi önce Linux sunucumuzun kurulumuna başlayalım. Yine her zamanki tercihim olan CentOS Linux ile yapılandırmaya başlayacağız. Şu anda CentOS’un en son sürümü 6.5 ve biz sunucumuzu bu versiyon ile gerçekleştireceğiz. CentOS’u indirmek için şu adresi kullanabilirsiniz, http://www.centos.org/modules/tinycontent/index.php?id=30

Ben Minimal olan imajı indirdim. DVD imajı ile sunucuyu boot ettikten sonra size ilk olarak aşağıdaki ekran karşılayacak. Bu ekranlar çok açık ve net olduğundan bazılarının altına açıklamalarını yazmayacağım. Devam edelim,

DVD imajı bozuk mu değil mi diye control ekranı Skip diyerek geçebilirsiniz.

clip_image006

clip_image008

clip_image010

clip_image012

clip_image014

Diski tamamen sıfırlayacak. Onay verelim ve No, keep any data seçeneği ile devam edelim,

clip_image016

Sunucu ismi ve local domain ismi ile devam edeceğiz. İsterseniz değiştirebilirsiniz. Ama local domaine almayacağımız için değiştirme yedebiliriz. Tercih tamamen size kalmış. Devam edelim,

clip_image018

Yukarıdaki ekranda bölgesel seçenekler mevcut. Burada Istanbul üzerine mouse ile tıkladığınızda bir alttaki ekran karşınıza gelir,

clip_image020

Gördüğünüz gibi Istanbul üzerine zoom edildi. Devam edelim,

clip_image022

Root password’ünü verelim ve devam edelim.

clip_image024

Disk düzenlemelerinin yapıldığı ekran. Ben tüm disk alanını sunucum için kullanacağım. Benim diskim 60GB ve oldukça yeterli. Next ile devam edelim,

clip_image026

Şimdi diski tam anlamı ile uçuracak, Write changes to disk seçeneği ile uçuşa geçelim o halde,

clip_image028

Kurulum başladı,

clip_image030

Ve bitti.

clip_image032

Root kullanıcısı ile login olalım ve sunucumuzu DHCP sunucumuz haline getirelim. Sunucumuz minimal  her zamanki gibi network kartı kapalı olarak geliyor. Öncelikle sunucumuza static bir ip vermemiz lazım. Bunun için network kartımızın düzenlemelerini yapacağız. vi isimli editör bize yardımcı olacaktır. Linux kurulumunda default geldiği için ilk düzenlemeyi vi ile yapacağız. Kullanımı zor olduğundan bu düzenleme sonrası nano isimli editör ile yapacağız. Aşağıdaki komutu verirseniz ilk Ethernet kartına ait dosyayı açmış olacağız.

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

Karşımıza şu ekran gelir. Ve dosyanın orjinal hali görülür,

clip_image034

Şimdi “a” harfine basarsanız dosya düzenlenebilir hale gelir. Ekranın en altındaki yazıların yerine “insert” yazısı gelir. Gerekli düzenleme aşağıdaki şekilde olmalı, sunucumun adresi 192.168.1.24 olarak görülebilir,

DEVICE=eth0
HWADDR=00:0C:29:69:12:A4
TYPE=Ethernet
UUID=f84313dc-0588-4428-a58a-e306d3378ff9
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=
none
IPADDR=192.168.1.24
NETMASK=255.255.255.0
GATEWAY=192.168.1.250

Son halini aşağıda görebilirsiniz

clip_image036

Dosya içeriğini yukarıdaki metinde gördüğünüz gibi düzenledikten sonra bir kere “esc” tuşuna basınız. Sayfanın altındaki “insert“yazısı silinecektir. Şimdi önce “:” sonra “wq!” harflerini yazarak dosyayı kaydedip çıkabilirsiniz. İlk Ethernet kartımızın ip sini vermiş olduk. İkinci Ethernet kartımızın ’da ipsini verelim ve devam edelim.

# vi /etc/sysconfig/network-scripts/ifcfg-eth1

Orjinal görüntü şöyle, Ben ip adresi olarak 10.0.1.25 olarak ip veriyorum.

clip_image038

Değiştirdikten sonraki içerik şöyle olmalı,

HWADDR=00:0C:29:69:12:AE
TYPE=Ethernet
UUID=cbee0907-2b61-4c3f-89bf-d11915a016fc
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=10.0.1.25
NETMASK=255.255.255.0
GATEWAY=10.0.1.250

Şimdi sunucuyu restart edelim ve düzenlediğimiz iplerin geçerli olmasını sağlayalım. Aslında bu iş için restart gerekmiyor.

# service network restart

Komutunu kullanarak bu işlemi gerçekleştirebilirsiniz. Sistem yeniden başladıktan sonra verdiğimiz iplerin çalışıp çalışmadığını ping atarak control edebilirsiniz.

İşimiz henüz bitmedi. Birde ortamdaki DNS server tanımlamamız lazım. Bunun için aşağıdaki komutla bir doya düzenlemesi daha yapıyoruz. Çok basit şekilde yapılıyor.

# vi /etc/resolv.conf

clip_image040

Dosyanın orijinal hali yukarıdaki gibi. Değiştiriyoruz ve aşağıdaki gibi düzenliyoruz. “a” harfine basarak düzenleme moduna geçelim ve şu şekil değiştirelim,

clip_image042

Eğer ilave DNS sunucularınız varsa alt satırlara yazarak devam edebilirsiniz. Ip düzenlemeleri tamamlandı.

!!! Önemlidir !!!

DHCP servisi çok akıllı bir servis değildir. Sadece verdiğiniz bilgiler doğrultusunda haraket eder. Çok basit çalışır ve yaptığınız konfigürasyon dışında hareket etmez. ilk Ethernet kartımız 192.168.1.xxx bloğuna ip dağıtacak, ikinci Ethernet’imiz 10.0.1.xxx ip bloğuna ip dağıtacaktır. Network konfigürasyonunu yapan teknisyen arkadaşa kart bilgilerini verirseniz size iki adet fiziksel uç verecek sizde bu uçları ilgili Ethernet kartlarına takarak client sistemlerin buradan ip almalarını sağlayacaksınız.

Sistem açıldıktan sonra gerekli paketleri yükleyeceğiz. Bunun içinde aşağıdaki komutu kullanabilirsiniz,

# yum -y install dhcp nano

clip_image044

Yükleme işlemi çok kısa sürecek ve işlem çabucak bitecektir. İşlem bittikten sonra DHCP sunucumuz için konfigürasyonları tamamlamamız gerekiyor. Devam edelim. Önce DHCP servisimizin system açılışında otomatik çalışır hale getirelim. Bunun için şu komutu veriyoruz,

# chkconfig dhcpd on ; service dhcpd start

Şimdi konfigürasyon dosyasını oluşturalım. Bu sayede hangi aralığı dağıtacak, hangi ip’şeri reserve ederek sabitleyecek, bunları belirtelim. Config dosyasını düzenlemek için nano isimli editörü kullanalım. Bu editörün kullanımı “vi” dan daha kolaydır. Önce config dosyasının yedeğini alalım. Yedek almak için verilecek komutumuz şudur,

# mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.org

Sonra önce /etc/sysconfig/dhcpd dosyasının içeriğini düzenleyelim, önce dosyayı açalım,

# nano /etc/sysconfig/dhcpd

Boş bir ekran gelecektir. Bu ekrana aşağıdaki metni kopyalayalım.

DHCPDARGS="eth0 eth1";

Görüntü şöyle olacaktır,

clip_image046

Daha önce bahsetmiştim 2 farklı config olacak. Bunardan ilki “config_1” ikincisi ise “config_2”.

config_1 tek Ethernet üzerinden bir blok ip dağıtacak, config_2 ise 2 farklı ethernetten 2 farklı blok ip dağıtacak. Bunun nedeni yerel network için başka, misafir network’ü için başka bloktan ip’ye ihtiyaç duyuluyor olabilir. Bunu göz önünde bulunduruyoruz. Şimdi DHCP sunucumuza ne yapması gerektiğini anlatalım. Sonrasında hangi dosyaya nereye yazılacak bilgisini veriyor olacağım.

Config_1 Tek Ethernet, Tek ip Bloğu

log-facility local7;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style ad-hoc;
ignore client-updates;
lease-file-name "/var/lib/dhcpd/dhcpd.leases";
authoritative;
option wpad code 252 = text;
option domain-name "cozumpark.intra";

subnet 192.168.1.0 netmask 255.255.255.0 {
            option broadcast-address 192.168.1.255;
            option wpad "http://192.168.1.5/wpad.txt?";
            option subnet-mask 255.255.255.0;
            option routers 192.168.1.250;
            option time-servers 192.168.1.24;
            option domain-name-servers 192.168.1.250,8.8.8.8,4.2.2.2;
            range 192.168.1.50 192.168.1.200;
}

# Static reservations
host name {
            option host-name "Yasin ASIR";
            hardware ethernet 10:10:10:10:10:10;
            fixed-address 192.168.1.8;
}

host name {
            option host-name "3ncu kat HP LaserJet";
            hardware ethernet 10:10:10:10:10:10;
            fixed-address 192.168.1.8;
}

 

Config_2; iki Ethernet ve iki ip bloğu

log-facility local7;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style ad-hoc;
ignore client-updates;
lease-file-name "/var/lib/dhcpd/dhcpd.leases";
authoritative;
option wpad code 252 = text;
option domain-name "cozumpark.intra";

 

## ip block 192.xxx.xxx.xxx
subnet 192.168.1.0 netmask 255.255.255.0 {
            option broadcast-address 192.168.1.255;
            option wpad "http://192.168.1.5/wpad.txt?";
            option subnet-mask 255.255.255.0;
            option routers 192.168.1.250;
            option time-servers 192.168.1.5;
            option domain-name-servers 192.168.1.250,8.8.8.8;
            range 192.168.1.50 192.168.1.200;
}

## ip block 10.xxx.xxx.xxx
subnet 10.0.1.0 netmask 255.255.255.0 {
            option broadcast-address 10.0.1.255;
            option wpad "http://10.0.1.5/wpad.txt";
            option subnet-mask 255.255.255.0;
            option routers 10.0.1.250;
            option time-servers 10.0.1.5;
            option domain-name-servers 10.0.1.250,8.8.8.8;
            range 10.0.1.50 10.0.1.200;
}

# Static reservations

host name {
            option host-name "Hakan UZUNER";
            hardware ethernet 10:10:10:10:10:10;
            fixed-address 192.168.1.7;
}

host name {
            option host-name "HP LaserJet 1nci Kat";
            hardware ethernet 10:10:10:10:10:10;
            fixed-address 10.0.1.17;
}

host name {
            option host-name "Bilgehan POYRAZ";
            hardware ethernet 10:10:10:10:10:10;
            fixed-address 192.168.1.31;

firmanız bünyesinde bulunan ip bloklarına göre yukarıdaki metni düzenleyerek “/etc/dhcp/dhcpd.conf” dosyası içine yapıştıracağız. Böylece DHCP sunucumuz gerekli ip aralığını dağıtmaya başlayacak.

Config dosyalarının içeriğinde düzenlemelerin bulunduğu tanım satırları ile ilgili dikkat edilmesi gereken birkaç nokta daha paylaşmam gerekecek olursa aşağıda bunlarla ilgili açıklamaları bulabilirsiniz,

“option broadcast-address” satırı broadcast satırı. Statik bir satırdır oynamanız gerekmeyecek.

“option wpad” Eğer wpad dağıtacaksanız, yani otomatik proxy dağıtımını DHCP server üzerinden yapacaksanız bu satır ile yapabilirsiniz.

“option subnet-mask” Dağıtılması gereken subnetmask

“option routers” Gateway

“option time-servers” Network time server. Windows domain olan ortamlarda DC’ler time server olduğundan kullanmanız gerekmeyebilir.

“option domain-name-servers” DNS server’larımız.

“range” dağıtılmasını istediğiniz ip aralığının bulunduğu alan.

İşte bu aşama ile kurulum ve konfigürasyonumuz tamamlanmış oluyor. Ben bu sistemi yaygın şekilde çalışmakta olduğum şirketlerde sorunsuz şekilde kullanıyorum. Sizde gönül rahatlığıyla kullanabilirsiniz. Biraz Windows ara yüzünden uzaklaşmak ve komut satırından bazı işlemler yapmak isterseniz oldukça eğlenerek DHCP kurulumunu gerçekleştirebilirsiniz.

 

Ubuntu 12 Üzerinde Windows Paylaşımlarının Mount İşlemi

$
0
0

 

Günümüzde, özellikle IT sektöründe çalışan personeller artık yavaş yavaş, tam anlamıyla bir göç olmasa da Linux tarafına geçmeye başladılar. Birçok kurum ve firma kullanıcılarını yönetebilmek için bu alanda kolaylık ve esneklik sağlamak için Active Directory ile çalışmakta. Doğal olarak böyle ortamlarda Linux türevi bir işletim sistemi ile çalışmak için biraz uğraşmak gerekiyor.

Tabi ki büyük yapılarda bazı alışkanlıklardan ve zorunluluklardan vazgeçmek veya onları yok saymak pek mümkün olmuyor.

Buradan hareketle linux kurup kullanmak isteyen arkadaşlara Windows sharing ya da Windows File Server ortamını Linux işletim sistemine otomatik olarak nasıl bağlayacaklarını(mount) anlattığım bu dökümanı hazırladım.

Ben işletim sistemi olarak Ubuntu 12.04 kullanıyorum. Ubuntu gibi Debian geleneğinden gelen bütün işletim sistemleri için adımlar aşağı yukarı aynıdır. Ancak paket yönetim sistemi farklı olan Red-Hat, Solaris vs.vs. için değişiklik yapmanız gerekebilir.

Kurulum sırasında vi text editörünü kullanıyor olacağım.  vi linux üzerinde kullanılan bir text editördür. Genellikle varsayılan olarak Linux işletim sistemi ile birlikte gelir. Vi yerine nano ya da piko gibi text editörler de kurup kullanabilirsiniz. Vi ile ilgili bu dokümanda yazanları yapabilmek için pratik birkaç bilgi;

  • vi ile dosya açtıktan sonra “i” harfine basıldığında insert mod'a geçilir ve dosya içinde karakterler yazılabilir.
  • Insert modundan çıkmak için Esc butonu kullanılır.
  • vi'den kaydedip çıkmak isterseniz Esc butonuna bastıktan sonra en altta aktif olan satıra wq! komutu verilerek işlemi tamamlayabilirsiniz.

clip_image002

Öncelikle Windows ile Linux arasında bir bağ kurmak için cifs protokolünü kuracağız. Aşağıdaki komut ile paketleri kuralım,

# sudo apt-get install cifs-utils

clip_image004

clip_image006

cifs utils kurulduktan sonra gerekli düzenlemeleri yapıyoruz. Linux sistemimizde File Server’da bulunan klasör için bir bağlantı noktası oluşturacağız;

# mkdir /home/Linux_Kullanıcısı/Desktop/FileServer

komutu ile Linux Kullanıcımızın masaüstünde FileServer adında bir klasör oluşturuyoruz. Bu klasör şu anda Linux sistemimize login olan reel kullanıcımızın masaüstüne gelecektir.

clip_image008

Şimdi ise aşağıdaki komut ile /etc dizininin altında cifs protokolünün kullanacağı Windows kullanıcısının hesap bilgilerini gireceğimiz bir dosya oluşturuyoruz ve aşağıdaki şekilde dosyanın içeriğini düzenliyoruz;

# sudo vi /etc/cifs_ayar

clip_image010

Yukarıdaki şeklini kendi bilgilerimize göre değiştirip bu dosyayı kaydederek çıkıyoruz. Daha sonra aşağıdaki komut ile cifs_ayar dosyasının sahipliğini geçerli Mustafa kullanıcısına ve grubuna veriyoruz.

# sudo chown mustafa.mustafa /etc/cifs_ayar

Linux işletim sistemleri varsayılan olarak /etc/fstab dosyasında yazan diskleri her açılışta mount edip kullanırlar. Bizde otomatik bir düzene bağlamak için bu dosyaya network üzerinden erişeceğimiz file server ile ilgili bilgileri gireceğiz ve disk olarak artık file server'ımızı kullanabileceğiz. Fstab dosyasınız düzenlemek için şu komutu veriyoruz

# sudo vi /etc/fstab

clip_image012

Ve en alt satıra aşağıdaki gibi ekleme yapıyoruz. Buradaki içerik sizin düzenlemeleriniz doğrultusunda değişmelidir.

//sunucu/dosya_adi  /home/user/FileServer/  cifs exec,credentials=/etc/cifs_ayar,rw,uid=mustafa        0      0

clip_image014

Bu satırı ekledikten sonra çıkıyoruz.

Artık işlemlerin problemsiz tamamlandığını control edebiliriz. Aşağıdaki komut ile hemen test edebiliriz. Eğer herhangi bir problem yoksa ekran görüntüsü aşağıdaki gibi olacaktır.

# sudo mount – a

clip_image016

Sistemi restart ettikten sonra herhangi bir uyarı almadıysanız ve masaüstünüzde network diskiniz sorunsuz bağlandı ise problem yok ve her şey yolunda demektir. Aşağıda görebilirsiniz.

clip_image018

Burada dikkat edilmesi gereken nokta; Eğer Windows üzerindeki hesabınızın şifresini değiştirirseniz,

# sudo vi /etc/cifs_ayar

Dosyası içindeki şifre kısmını yenilemeniz gerekecektir. Yenileme yapmazsanız klasör bağlantısı gerçekleşmeyecek, klasör içeriğini göremeyeceksiniz.

Yaptıklarımızı adım adım yazalım;

·        Cifs_utils’in paket kurulumunu yaptık

·        Paylaşımı bağlamak üzere bilgisayarımızda FileServer adında bir klasör oluşturduk.

·        /etc dizini altında cifs_ayar adında domain kullanıcı adı ve şifresini barındıran bir dosya oluşturup sahipliğini kullanıcımıza verdik.

·        Paylaşımın her açılışta otomatik olarak bağlanabilmesi için fstab dosyasını düzenledik.

Faydalı olması dileğiyle…

 

Solaris Kurulum ve Temel Ayarlar

$
0
0

 

 

Dünyada en sağlam işletim sistemleri düşünüldüğünde ilk akla gelen işletim sistemlerinden biri olarak Solaris akla gelmektedir. Solaris proje olarak 1987’de , AT&T Corporation ve Sun yazılım mühendisleri tarafından inşa edilmeye başlanmıştır. BSD Unix’lere alternatif olarak üretilmeye başlanmış ve isim olarak SunOS seçilmişti. Daha sonra satışa sunulurken ismi Solaris olarak değiştirilerek günümüzdeki yerini almıştı.

 

Bu makale serimizde Solaris kurulumunu, sonrasında temel ayarlarını sonrasında da üzerinde neler yapılabiliyor ’a bakacağız. Bir sonraki adımda ise Oracle database kurulumunu yaparak Database adminlerinin kullanımına sunabiliriz. Öncelikle Solaris’i indirelim. Bunun için http://www.oracle.com/technetwork/server-storage/solaris11/downloads/index.html linkinden Solaris’i indireceğiz. Bu indirme işlemini gerçekleştirmek için bir hesap açmanız gerekecek. Bu hesabı açtıktan sonra sürüm 11’i indirebilirsiniz. Şu an canlı sürüm 11/11 mevcut. 11/0 sürümünü kurarak upgrade işlemini yapıp 11/11’e yükselteceğiz. Böylece sürüm yükseltme işleminide görmüş olacağız. Ben Unix ve Linux işletim sistemlerini mutlaka ve mutlaka minimal seviyede kurarak üzerine sadece gerekli paketlerin kurulumu ile devam ederim. Böylece işletim sistemi belki de hiç kullanmayacağım servisleri install etmez ve sunucu kaynaklarım boşa sarf edilmez. Sizlere de kullanım amacınıza uygun olarak sisteminizi yapılandırmanızı öneririm.

 

Şimdi iso kalıbını indirdikten sonra adım adım kurulum işlemi yapalım. Sunucuyu boot ettiğinizde aşağıdaki ekran karşınıza gelecektir,

 

 

image001

 

 

Solaris boot işleminin hemen akabinde sunucu üzerindeki donanımları inceliyor. Gereki sürücü ve donanım düzenlemelerini yapıyor. Sonrasında aşağıdaki ekran ile devam ediyoruz,

 

 

image002

 

 

Bu aşamada “kurulum ekranlarının” dil ayarlarını yaparak devam ediyoruz. Ben seçenekler arasında “45” nolu seçenek ile devam ediyorum.

 

 

image003

 

 

Şimdi de klavye tuş kombinasyonunu hangi dile göre istediğimizi soruyor. Bunuda verdikten sonra ne yapmak istiyoruz sorusuna geliyor sıra,

 

 

image004

 

 

Seçeneklerden ilk sırada bulunan install oracle solaris seçeneği ile devam edelim. İstediğimiz Solaris’i kurmak. Bundan sonra biraz daha grafik ekrana geçiyoruz, Grafik ekranda alt taraftaki bant üzerinde bulunan F tuş kombinasyonları ile devam edebiliriz. Biz genelde F2 ile devam edeceğiz. Hemen tüm seçenkleri seçtikten sonra F2 tuşuna basarak bir sonraki adıma geçebilirsiniz,

 

 

image005

 

 

Hoş geldiniz sihirbazı. Yukarıda da görebilirsiniz kurulum bittikten sonra kurulum esnasında yapılan tüm işlemleri /system/volatile/install_log. dosyasına yazacak. Gerek görürseniz inceleyebilirsiniz. F2 ile devam edelim,

 

 

image006

 

 

Solaris sistem diski olarak nereyi kullanmak istediğimiziz soruyor. Eğer birden fazla diskimiz olsaydı burada o diskleride görecektik. Benim sistemimde 60GB’lık bir disk mevcut. Daha sonra iSCSI protokolü ile bir disk bağlayacağım. Devam edelim,

 

 

image007

 

 

Fdisk ile partition düzenlemesi yapıyoruz. Eğer isteğe bağlı bir düzenleme yapmak isterseniz mümkün. Ben diskin partition yapısını Solaris’in default değerlerini kullanarak yapılandırmak istiyorum. Zaten bu şekilde en iyi şekilde kullandığını biliyorum.

 

 

image008

 

 

Üst kısımda kullanmak istediğiniz sunucu ismini vermeniz gerekiyor. Sunucu ismini verdikten sonra ip düzenlemelerini yapıyoruz. Buradan network ip ayarlarını yaparsanız daha sonra uğraşmaktan kurtulursunuz. Ama ben özellikle otomatik seçeneğini işaretliyorum. Çünkü sonraki adımlarda ip düzenlemesini de manual yaparak nasıl yapıldığını sizlerle paylaşmak istiyorum.

 

 

image009

 

 

Sistem time zone ayaları ile devam ediyoruz. Öncelikle bölge olarak Europe’yi seçiyoruz,

 

 

image010

 

 

Çıkan listede ülke seçeneği olarak Turkey seçelim ve devam edelim,

 

 

image011

 

 

image012

 

 

Tarih ve saat düzenlemelerini yapalım devam edelim,

 

 

image013

 

 

Şifre ve kullanıcı ekranı. Yukarıdaki alanları dolduralım. Güvenlik zorunluluğu dolayısı ile root kullanıcısını sistemde direkt kullanmak yasaklandı. Sisteme kısıtlı kullanıcı ile login olup sonrasında gerekli ise root’a çıkabiliyoruz. Çünkü root kullanıcısı tamamen sınırsız ve sistem üzerinde herşeyi yapabilen kullanıcı. Bu yetki kısıtlanmalıydı, öylede yapmışlar, devam edelim,

 

 

image014

 

 

Ve enson summary ekranı. Bu ekranda tüm seçimlerimizi görebiliyoruz. Eğer değiştirmek istediğiniz birşey varsa yada değiştirmek istiyorsanız F3 ile geri dönerek değişiklik yapabilirsiniz. F2 ile devam edelim ve,

 

 

image015

 

 

Ve kurulumu tamamlayalım.

 

 

image016

 

 

İşlem tamam. Kurulum bitti. F8 ile sistemi yaniden başlatalım ve görelim,

 

 

image017

 

 

Grub boot loader ekranı. Sizi 30 sn beklettikten sonra sistem açılacak ve show zamanı,

 

 

image018

 

 

Daha öncede belirttiğimiz gibi sisteme direk root ile login olamıyorsunuz. Bence de kesinlikle haklı olarak root kullanıcısı yasaklı. Yukarıda kurulum aşamalarında bizim oluşturduğumuz admin kullanıcısı ile login olduktan sonra ikinci adımda su (super user)komutunu kullanarak root kullanıcısının şifresini verdiğimizde (Bir üst ekranda görebiliyorsunuz) root ile login olmuş oluyorsunuz. Kurulum tamamlandı, Bir sonraki makalemizde birçok temel işlemleri birlikte göreceğiz. Servis düzenlemeleri, iSCSI disk bağlantıları, ip değişiklikleri, performans iyileştirmeleri gibi.

 

Tabii en son adım adım Oracle database kuracağız. Oracle Database dünyada en performanslı Solaris üzerinde çalışmaktadır. Solarisin tüm bileşenleri Oracle Database için özel olarak optimize edilmiş en iyi performans hedeflenmiştir. Ben bir DB admini olsam Oracle Database’i kesinlikle Solaris üzerinde kullanırdım. Tabii spesifik bir donanım (IBM power serisi) kullanmıyorsam.

 

Kolay gelsin.


Centos Domain Join

$
0
0

 

Bu makalemizde, mevcut yapıda bulunan bir Windows Server 2012 Active Directory Domain yapısına Centos 6.5 işletim sisteminin dahil edilmesi işlemlerinden bahsediyor olacağız.

Windows Server 2012 işletim sistemi ile çalışan bir  Active Directory Domain yapısına, Centos işletim sistemini dahil etmemiz için, ilk önce Centos sunucumuza root kullanıcımız ile login oluyoruz.

clip_image002

clip_image004

Centos sunucumuza login işleminin ardından üst menüden Systemà PreferencesàNetwork Connections seçeneklerine tıklıyoruz.

clip_image006

Editing System eth0 ekranında, IPV4 Settings menüsü içerisinden IP ayarlarımızı static yapmak için Manual seçeneğine tıklıyoruz.

clip_image008

Addresses kısmında, Add diyerek Centos sunucumuza ait IP adresi, Netmask ve Gateway bilgilerini giriyoruz. DNS Servers kısmında ise, DNS Server sunucumuzun IP adresini giriyoruz. DNS Server servisi DC sunucum üzerinde bulunduğu için ben bu bölüme DC sunucumun IP adresini yazıyorum. Son olarak, Search domains bölümüne domain ismimizi yazıp Apply diyoruz. Tüm bu işlemlerden sonra, centos sunucumuz üzerinde terminal ekranını açıp aşağıdaki komutu çalıştırarak samba ve winbind paketlerini sunucumuza download ediyoruz.

“yum install samba-winbind –y”

clip_image010

clip_image012

 

clip_image014

Samba ve Winbind paketlerinin kurulumunun ardından üst menüden Systemà Administratironà Authentication seçeneklerine tıklıyoruz.

clip_image016

Identitiy Authentication menüsü içerisinde User Account Database kısmından Winbind seçeneğini seçiyoruz.

 

clip_image018

Winbind seçeçenğinin ardından, yine aynı ekran üzerinde ilgili kısımlara domain bilgilerimizi girdikten sonra Advanced Options tabına geçiş yapıyoruz.

clip_image020

Advanced Options tabı içerisinden Create home directories on the first login seçeneğini seçip Apply diyoruz. Apply işleminden sonra domain join işlemi için Identity Authentication kısmından Join Domain seçeneğine tıklıyoruz.

clip_image022

clip_image024

Join Domain işleimin ardından karşımıza bir uyarı ekranı çıkmakta. Bu uyarı ekranında bize, mevcut konfigurasyonda bazı değişiklikler yaptığımızı, yaptığımız bu değişikliklerin domain ‘ e alma işleminde  bazı sorunlara neden olabileceği yönünde bize uyarı verilmekte. Biz Save diyerek ayarları kaydediyoruz.

clip_image026

Joining Winbind Domain ekranında, Domain Admin ve Password bilgilerini yazıp OK diyoruz.

clip_image028

OK işleminin ardından DC sunucum üzerinde Active Directory Users and Computers yönetim konsolu içerisinde Computers tabı altında centos sunucumun gelmiş olduğunu görüyorum.

clip_image030

Centos sunucum üzerinde de domain içerisinde açmış olduğum test kullanıcısı ile login olmayı deniyorum.

clip_image032

Test kullanıcıma ait şifreyi girip Log In diyorum.

clip_image034

Yukarıdaki şekil üzerinde de görüldüğü gibi sunucumuza login işlemimiz başarılı bir şekilde gerçekleşti. Üst kısımda da test kullanıcımız ile giriş yaptığımız görünmekte.

clip_image036

Consol üzerinde pwd komutu ile control işlemi gerçekleştirdiğimizde, home klasörü altında TEST2012 domain’imizi görmekteyiz.

Evet, bu makalemizde, Windows Server 2012 Active Directory Domain yapısına Linux Centos sunucu dahil edilmesi işlemlerinden bahsettik. Bir sonraki makalemde görüşmek üzere hoşcakalın.

Red Hat Satellite 5.6 Kurulum

$
0
0

Bu yazımda Red Hat satellite ürününün son versiyonu olan 5.6 kurulumundan bahsedeceğim.

Kurulum adımlarına başlamadan önce kısaca Red Hat satellite nedir, ne iş yapar, neden bu ürünü kullanmalıyız gibi sorulara kısa kısa yanıtlar vererek kurulum adımlarına geçmek istiyorum.

1.       1.       Kısaca Red Hat Network Satellite,

Red Hat Network Satellite ürünü genel olarak bakıldığında paket yönetimi, merkezi yönetim,

update yönetimi, kickstart kurulum, snapshot, audit, life cycle management tool gibi özellikler sunmakta.

 

1.       2.       Red Hat Network Satellite 5.6 ile gelen yenilikler nelerdir?

 

RHN Satellite 5.6 da yeni neler var diye göz attığımızda ilk olarak göze çarpan değişiklikler aşağıdaki gibi.

 

-          Artan esneklik ve ölçekleme.

-          Geliştirilmiş sistem kullanılabilirliği.

-          Gelişmiş içerik kontrolü ve senkronizasyon.

-          Gelişmiş abonelik ve sistem raporlama

-          Sistem servis analizi

-          Otomatik hata raporlama aracı (ABT)

-          DB olarak Postgresql kullanılabiliyor.,(Oracle da mümkün.)

 

1.       3.       RHN Satellite için kurulumu

Satellite kurulumunu alt başlıklar şeklinde inceleceğiz, gereksinimler, ilgili paketler, kurulum gibi.

 

3.1.  RHN Satellite için yazılım gereksinimleri

Red Hat 5 veya 6 kurulabilir. (Base seçilmeli)

İşletim sistemi sanal olabilir. (RHEV, Xen, Vmware supported)

 

3.2. RHN Satellite için donanım gereksinimleri

3.2.1.        CPU

Gerekli: Intel Core processor, 2.4GHz, 512K cache or equivalent

Önerilen: Intel multi-core processor, 2.4GHz dual processor, 512K cache or equivalent

 

3.2.2.        Memory

Gerekli: 4 GB of memory

Önerilen: 8 GB of memory

 

3.2.3.        Storage

5 GB alan temel kurulum için.

40 GB alan Channel başına.

10 GB alan Cache dizini için(/var/cache/rhn)

Disk yapılandırması olarak Raid 5 tavsiye edilir.

 

3.2.4.        Database

İlk kurulum için 12 GB alan önerilir.

Client ve channel hesaplamaları ise,

250 KB alan client system başına,

500 KB alan çhannel başına, ayrıca 230 KB channel daki paket başına(5000 paketli bir channel için ortalama 1.1 GB)

 

3.2.5.        Firewall Port Erişim Gereksinimleri

Client sistemler Satellite sunucuya 80,443,4545 (Monitoring özelliği kullanılacak ise)

Push client özelliği kullanılacak ise inbound client 5222, satellite inbound 5269.

 

Aşağıdaki adreslere erişilebilir olmalı,

rhn.redhat.com

xm lrpc.rhn.redhat.com

satellite.rhn.redhat.com

content-xm lrpc.rhn.redhat.com

content-web.rhn.redhat.com

content-satellite.rhn.redhat.com

 

Note : Red Hat update sunucuları akamai networks kullandığı için 443 den dışarı daki tüm adreslere erişim verilmesi daha kesin bir çözüm olacaktır.

 

3.2.6.        Dosya izinleri

Umask değeri 022 önerilir.

 

3.2.7.        Selinux

enforcing veya permissive öneriliyor ancak ihtiyacınız yok ise disabled kullabilirsiniz. Ben disabled olarak devam edeceğim.

 

3.2.8.        Caching

/var/cache/rhn/ dizinini kullanır, bu dizin paket sync da kullanılır. Channel paketleri bu dizine indirilir.

 

3.2.9.        DMZ Proxy

Satellite sunucu önünde proxy v.b. var ise satellite-sync –http-proxy ile sync edilir.

 

3.2.10.    SYNC Time

Sync işlemi için satellite sunucunun tarih saat ayarları doğru olması gerekir. Bu nedenle ntp kullanmata fayda var.

 

3.2.11.    System dili ve locate ayarı

UTF-8 kullanmak gerekiyor.

LANG=”[language_TERRITORY].UTF-8″

 

Örneğin:

LANG=”en_US.UTF-8″

 

3.2.12.    Hostname

Satellite sunucu da hostname değeri, satellite olarak belirtilirse bu hatalı olur ve kurulum esnasında hata almanıza neden olacaktır. Bu nedenle sunucu hostname değeri satellite.endersys.com şeklinde FQDN olarak belirtilmelidir.

 

Note : Hostname değeri işletim sistemi kurulurken düzgün belirtilmezse ve RHN Satellite kurulumu sırasında oluşturulan sertifika daki hostname hatalı olur ise, sunucuların RHN Satellite sunucuya register edilmesi ve update edilmesi aşamasında sorunlar yaşanabilmekte, bu nedenle dikkat edilmelidir.

 

3.2.13.    Dns Server

Satellite sunucuya hostname olarak verdiğimiz değer dns sunucuda da A kaydı olarak olması gerekir.

 

3.2.14.    Sertifika

Satellite kurulumunda sertifikaya ihtiyacınız olacak, bu aşamada sertifikayı Red Hat dan support case açarak talep edebilir veya generate certificate sayfasından faydalanabilirsiniz.

 

3.2.15.    Sistem register ve update işlemleri

Satellite kurulumu gerçekleştirecek olduğumuz sunucunun Red Hat işletim sistemini RHN networke register ediyoruz.

Komut :

Rhn_register

 

Register işlemini tamamladıktan sonra sistemimizi update ediyoruz.

Komut :

Yum update

 

3.3. RHN Satellite Kurulumu

3.3.1.        Satellite ISO dosyasının indirilmesi

RHN satellite ürününe ait ISO dosyasını Red Hat ın sitesinden indirerek her hangi bir dizine upload edebilirsiniz.

Note : Red Hat account bilgileriniz ile giriş yaptığınızda download bölümünde Redhat Network Satellite linkini göremezseniz Red Hat’in Türkiye deki ilk Advanced Business partneri olan Endersys’den(destek@endersys.com.tr) adresi ile iletişime geçerek destek alabilirsiniz.

clip_image002

 

3.3.2.        ISO dosyasının mount edilmesi

Satellite kurulumu için hazırlamış olduğumuz sisteme Satellite kurulum ISO sunu mount ediyoruz.

Komut:

mount -o loop /satellite-5.6.0-20130927-rhel-6-x86_64.iso /mnt/

 

3.3.3.        RHN Satellite kurulumuna başlayabiriz

Komut:

Cd /mnt

./install.pl –skip-selinux-test

 

Kurulum için farklı parametreler kullanabilirsiniz, bununla ilgili detaylı bilgi için,

./install.pl –help

Parametresini kullanabilirsiniz.

Note :  –skip-selinux-test parametresini selinux disable ettiğim için kullandım, selinux disabled dışındaki bir durumda ise bu parametreyi kullanmanıza gerek yok.

 

Kurulum esnasında sizden sertifika dosyasının path bilgisini, SSL sertifikası için gerekli bilgileri isteyecektir, bu bilgileri belirterek kurulumu sonlandırabilirsiniz.

Kurulum tamamlandığında satellite sunucu ip adresine erişimi olan bir PC den browser aracılığı ile

https://satelliteserver-Hostname

şeklin de erişerek yetkili user name ve password belirtmeniz gerekir.

clip_image004

 

RHN Satellite için yetkili user oluşturduktan sonra ilgili user bilgileri ile satellite sunucunuza web access den login olabilir ve satellite kullanmaya başlayabilirsiniz.

 

Sisteminizdeki sunucu işletim sistemleri, işletim sistemleri ve versiyonlarına bağlı olarak channel sync işlemi yapmanız gerekir. Aktif channel listesini görebilmek için,

 

satellite-sync –list-channels

 

komutu kullanılır, channel name belirlendikten sonra –c parametresi ile channel download işlemini başlata biliriz.

satellite-sync -c rhel-x86_64-server-6

RHN satellite sunucuya ilk login olduğunuz daki görüntü aşağıdaki gibidir.

clip_image006

 

ilgili channellar satellite sunucuya sync edildikten sonra kullanmakta olduğumuz Red Hat sunucuları sırası ile RHN satellite sunucumuza register edebiliriz.

Linux ile Basit Network Tasarımı GW-NAT-DHCP-DNS

$
0
0

 

Bu makalemde linux sistemler ile temel anlamda Gateway, NAT, DHCP ve DNS gibi temel servislerin kurulmasını anlatacağım. Aşağıdaki resimde de bu yapılandırma için nasıl bir lab kuracağımın detaylarını görebilirsiniz.

Lab ortamında;

 

Router olarak adlandırılan server üzerinde Debian Server 32 bit

Server1 olarak adlandırılan server üzerinde Debian Server 32 bit

Client bilgisayarlarından birisi Windows XP diğeri de Centos 6.5 olarak işletim sistemleri kullanılmıştır.

 

Çizmiş olduğum taslak üzerinde de görüleceği gibi client bilgisayarlar DHCP sunucudan IP bilgilerini alacaklar. Aldıkları bu bilgiler doğrultusunda da Gateway üzerinden internete 192.168.2.0 ağına bağlanarak internete çıkacaklar.

 

 

clip_image002

 

 

Neler yapılacak?

 

router isimli sunucu üzerinde NAT işlemini yapabilmesi için gerekli konfigürasyonlar yapılacak

DHCP-DNS olarak çalışacak server1 isimli sunucu üzerine, sırasıyla DNS ve DHCP kurulumları ve gerekli konfigürasyonları yapılacak.

Client tarafında yapılan testlere göz atılacak.

 

 

1. NAT KURULUMU (router sunucusu)

 

Öncelikle kurulum ve konfigürasyon sırasında vim text editor’u kullanıldı. Uygulama esnasında favori text editorunuz(nano, pico vs…) ile çalışabilirsiniz.

 

# vim /etc/network/interfaces

 

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

 

# The loopback network interface

auto lo

iface lo inet loopback

# The primary network interface

auto eth0

iface eth0 inet dhcp

auto eth1

iface eth1 inet static

address 172.16.16.1

netmask 255.255.255.0

network 172.16.16.0

broadcast 172.16.16.255

 

 

 

“# vim /etc/network/interfaces” komutu ile interfaces dosyasının içeriği yukarıdaki hale getirilmeli.

 

Interfaces dosyası yukarıdaki hale getirildikten sonra

 

# vim /etc/sysctl.conf

net.ipv4.ip_forward=1

 

 

# vim /etc/sysctl.conf  Komutu ile sysctl.conf dosyasında bazı değişikliker yapmak üzere bu dosyayı açıyoruz. Ve “net.ipv4.ip_forward” yazan satırı bularak başındaki diyez(#) işaretini kaldırıyoruz. Yapılan bu değişiklik Linux üzerinde network servisinin yeniden başlatılmasından sonra aktif hale gelecek. Eğer hemen aktif olmasını istiyorsak;

 

# sysctl -w net.ipv4.ip_forward=1

 

Komutunu kullanabiliriz.

 

NAT işlemi için iptables modülünü transparan olarak devreye alacağız. Herhangi bir kesme yapmayacak, sadece ip nat işlemini yapmak üzere konfigure edeceğiz

“rc.local” dosyasına her açılışta iptables'a eklemesi gereken kuralları yazalım;

 

# vim /etc/rc.local

 

#!/bin/sh -e

#

# rc.local

#

# This script is executed at the end of each multiuser runlevel.

# Make sure that the script will "exit 0" on success or any other

# value on error.

#

# In order to enable or disable this script just change the execution

# bits.

#

# By default this script does nothing.

iptables -P FORWARD ACCEPT

iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE

exit 0

 

 

 

rc.local dosyasını yukarıdaki hali ile kaydedip çıkalım.

 

rc.local dosyası kabaca Linux işletim sisteminin boot sırasında hangi komutları çalıştıracağını barındıran bir dosyadır/scripttir. Dolayısı ile bu dosyaya yazdılan komutlar bir dahaki system başlangıcından sonra aktif olacaktır. Sistemi yeniden başlatmadan iptables komutlarını shell’de çalıştıralım;

 

# iptables -P FORWARD ACCEPT

# iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE

 

 

 

Eğer server1 sunucusu üzerinde 172.16.16.2 olarak static IP’yi tanımladıysanız, server1 üzerinden 192.168.2.0 ağına veya dış bir network’e ping atarak konfigürasyonu kontrol edebilirsiniz.

 

clip_image004

 

Ben de herhangi bir problem görünmediği için 2.adıma yani DNS ve DHCP sunucuların kurulumlarına geçiyorum.

 

 

2.1. Dns kurulumu (server1)

 

Standart olarak network yapılandırması ile başlayalım ve interfaces dosyası üzerinde yapmadıysak gerekli ayarları aşağıdaki adımlar doğrultusunda yapalım.

 

# vim /etc/network/interfaces

 

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

 

# The loopback network interface

auto lo

iface lo inet loopback

 

# The primary network interface

allow-hotplug eth0

iface eth0 inet static

address 172.16.16.2

netmask 255.255.255.0

gateway 172.16.16.1

 

 

 

 

Yukarıdaki gibi network ayarlarını bitirip, # ifconfig komutu ile eth0’ın 172.16.16.2 IP’sini kullandığını görebildiysek DNS kurulumuna geçelim. DNS sunucu olarak BIND server kuracağım.

 

# apt-get update

 

$ORIGIN .

$TTL 604800     ; 1 week

yilmaz.com              IN SOA  server1.yilmezy-updates Release.gpg [836 B]                            100      elease                                     604800     ; refresh (1 week)

; retry (1 day)

lease.gpg                      s)

604800     ;                                                  )

rg.tr wheezy/main i386 Packagesrver1.yilmaz.com.

eezy/main Translation-en6.16.2

$ORIGIN yilmaz.com.

server1 -updates/main Sources [4,057 B]ter          A       172.16.16.1

$es/main i386 Packages/DiffIndexek

16.16.172.in-addr.abian.org wheezy/updates Release16.16.172.in-addr.arpa. root.yilmaz.com.16s/main Translation-en/DiffIndex                         150org wheezy/updates/main Sources                  604800     ; refeezy/updates/main i386 Packages               86400      ; retry (ezy/updates/main Translation-en        2419200    ; ex215 kB/s)eks)

 

 

 

 

Depo bilgilerini güncelledikten sonra kurulum adımına geçelim.

 

# apt-get install bind9 dnsutils

 

Reading package lists... Done

Building dependency tree

Reading state information... Done

dnsutils is already the newest version.

Suggested packages:

bind9-doc resolvconf ufw

The following NEW packages will be installed:

bind9 bind9utils

0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.

Need to get 490 kB of archives.

After this operation, 1,257 kB of additional disk space will be used.

Get:1 http://ftp.linux.org.tr/debian/ wheezy/main bind9utils i386 1:9.8.4.dfsg.P1-6+nmu2+deb7u1 [121 kB]

Get:2 http://ftp.linux.org.tr/debian/ wheezy/main bind9 i386 1:9.8.4.dfsg.P1-6+nmu2+deb7u1 [370 kB]

Fetched 490 kB in 0s (706 kB/s)

Preconfiguring packages ...

Selecting previously unselected package bind9utils.

(Reading database ... 38893 files and directories currently installed.)

Unpacking bind9utils (from .../bind9utils_1%3a9.8.4.dfsg.P1-6+nmu2+deb7u1_i386.deb) ...

Selecting previously unselected package bind9.

Unpacking bind9 (from .../bind9_1%3a9.8.4.dfsg.P1-6+nmu2+deb7u1_i386.deb) ...

Processing triggers for man-db ...

Setting up bind9utils (1:9.8.4.dfsg.P1-6+nmu2+deb7u1) ...

Setting up bind9 (1:9.8.4.dfsg.P1-6+nmu2+deb7u1) ...

Adding group `bind' (GID 107) ...

Done.

Adding system user `bind' (UID 104) ...

Adding new user `bind' (UID 104) with group `bind' ...

Not creating home directory `/var/cache/bind'.

wrote key file "/etc/bind/rndc.key"

#

[ ok ] Starting domain name service...: bind9.

 

 

 

Dns sunucu caching işlemi yapacağı için cache içinde bulunmayan isimleri çözebilmesi için opendns üzerinden sorgu yapması için “/etc/bind/named.conf.options” dosyası içindeki forwarders bölümünü aşağıdaki gibi düzenleyelim;

 

# vim /etc/bind/named.conf.options

 

forwarders {

//      OpenDNS

208.67.222.222 ;

208.67.220.220 ;

};

 

 

 

“/etc/bind/named.conf.local” dosyası içinde LAN için kullanacağımız zone’ları ve PTR için kullanacağımız reverse zone’ları tanımlayalım;

 

# vim /etc/bind/named.conf.local

 

zone "yilmaz.com" {

type master;

file "/var/lib/bind/db.yilmaz.com";

};

 

zone "16.16.172.in-addr.arpa" {

type master;

file "/var/lib/bind/db.16.16.172";

};

 

 

 

Zone tanımlama işlemi sırasında farkedildiyse eğer "/var/lib/bind/” klasörü altında bu zone’ların zone’lara ait dosya yolları tanımlandı. Adresleri verilen bu dosyalar zone’lara ait kayıtların ve konfigürasyonun tutulduğu dosyalardır.

 

O dosyaları oluşturup gerekli satırları ekleyelim;

 

# vim /var/lib/bind/db.yilmaz.com

 

$ORIGIN .

$TTL 604800     ; 1 week

yilmaz.com              IN SOA  server1.yilmaz.com. root.yilmaz.com. (

100        ; serial

604800     ; refresh (1 week)

86400      ; retry (1 day)

2419200    ; expire (4 weeks)

604800     ; minimum (1 week)

)

NS      server1.yilmaz.com.

A       172.16.16.2

$ORIGIN yilmaz.com.

server1         A       172.16.16.2

router          A       172.16.16.1

 

 

Db.yilmaz.com dosyasını oluşturduysak PTR kayıtlarını tutan “/var/lib/bind/db.16.16.172” dosyasını oluşturacağız;

 

# vi /var/lib/bind/db.16.16.172

$ORIGIN .

$TTL 604800     ; 1 week

16.16.172.in-addr.arpa  IN SOA  server1.yilmaz.com.16.16.172.in-addr.arpa. root.yilmaz.com.16.16.172.in-addr.arpa. (

150        ; serial

604800     ; refresh (1 week)

86400      ; retry (1 day)

2419200    ; expire (4 weeks)

604800     ; minimum (1 week)

)

NS      server1.

2                       PTR     server1.yilmaz.com.

1                       PTR     router.yilmaz.com

~

 

 

Bahsi geçen zone dosyalarını oluşturduysak “/var/lib/bind” klasörünün grup ve kullanıcı ayarlarını muhakkak bind:bind olarak ayarlamak gerekiyor.

 

# chown bind:bind /var/lib/bind/ -R

 

 

 

Dns kurulumunu ve konfigürasyonunu tamamladık. Şimdi nslookup ile bazı kontroller yapalım.

 

# nslookup

> server 127.0.0.1

> cozumpark.com

Server:                 127.0.0.1

Address:             127.0.0.1#53

 

Non-authoritative answer:

Name:  cozumpark.com

Address: 188.132.200.15

 

 

 

Görüldüğü gibi cozumpark.com alan adını kendi sunucumuz üzerinden çözdük.

 

Yukarıdaki adımlarda herhangi bir yanlışlık yaptığınızı düşünüyorsanız veya dns sunucunuz hata veriyorsa konfigürasyonunuzu ve zone’ları kontrol etmek için şu komutları kullanabilirsiniz;

 

# named-checkconf /etc/bind/<conf_dosyası>

# named-checkzone <hostname> /var/lib/bind/<dosya_adı>

 

 

 

 

2.2. DHCP KURULUMU (server1)

 

Dhcp sunucu olarak isc-dhcp-server kurulumu yapacağız.

 

# apt-get install isc-dhcp-server

Reading package lists... Done

Building dependency tree

Reading state information... Done

Suggested packages:

isc-dhcp-server-ldap

The following NEW packages will be installed:

isc-dhcp-server

0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.

Need to get 935 kB of archives.

After this operation, 2,075 kB of additional disk space will be used.

Get:1 http://http.debian.net/debian/ wheezy/main isc-dhcp-server amd64 4.2.2.dfsg.1-5+deb70u6 [935 kB]

Fetched 935 kB in 1s (561 kB/s)

Preconfiguring packages ...

Selecting previously unselected package isc-dhcp-server.

(Reading database ... 146032 files and directories currently installed.)

Unpacking isc-dhcp-server (from .../isc-dhcp-server_4.2.2.dfsg.1-5+deb70u6_amd64.deb) ...

Processing triggers for man-db ...

Setting up isc-dhcp-server (4.2.2.dfsg.1-5+deb70u6) ...

Generating /etc/default/isc-dhcp-server...

[FAIL] Starting ISC DHCP server: dhcpd[....] check syslog for diagnostics. ... failed!

failed!

invoke-rc.d: initscript isc-dhcp-server, action "start" failed.


Yukarıda da görüldüğü gibi dhcp sunucumuz başlama anında hata verdi. Endişe edecek bir şey yok sadece konfigürasyonu toparlamamız gerekecek. “vim /etc/default/isc-dhcp-server” dosyasını açıp, INTERFACES satırını bulacağız ve karşısına Ethernet ara yüzünün adresini gireceğiz. Bu ayarda DHCP sunucu hangi Ethernet ara yüzü üzerinden DHCP sunacak ona karar veriyoruz.

#vim /etc/default/isc-dhcp-server

 

INTERFACES="eth0"

#vim /etc/default/isc-dhcp-server

 

INTERFACES="eth0"

 

Dhcp sunucusunu yapılandırmak için “/etc/dhcp/dhcpd.conf” dosyası üzerinde düzenlemeler yapıyoruz. Dosyanın içeriğini tamamen silip aşağıdaki konfigürasyon örneğinden yararlanmak konfigürasyon dosyanızı baştan oluşturabilirsiniz.

 

# vi /etc/dhcp/dhcpd.conf

 

ddns-updates on; //dns update acik

ddns-update-style interim; //dns update icin kullanilacak sema

default-lease-time 600;

max-lease-time 7200;

authoritative;

log-facility local7;

ddns-domainname "yilmaz.com";

ddns-rev-domainname "in-addr.arpa.";

option domain-name "yilmaz.com";

option domain-name-servers 172.16.16.2;

option routers 172.16.16.1;

option broadcast-address 172.16.16.255;

subnet 172.16.16.0 netmask 255.255.255.0 {

range 172.16.16.10 172.16.16.25;

zone 16.16.172.in-addr.arpa. {

primary 172.16.16.2;

}

zone yilmaz.com. {

primary 172.16.16.2;

}

}

 

Yukarıdaki dosyada dinamik dns güncellemesi için gerekli ayarları ve dhcp sunucusnun standart ayarlarını yaptık. Son olarak dhcp sunucumuzu başlatıyoruz.

 

# /etc/init.d/isc-dhcp-server start

 

Makalenin başında çizmiş olduğumuz yapıyı yukarıda yapmış olduğumuz işlemler neticesinde gerçeklemiş olduk.

 

Test aşamasına dhcp-dns sunucusu olan server1 üzerinde dhcp lease’leri kontrol ederek başlayalım;

 

# tail /var/lib/dhcp/dhcpd.leases

 

# The format of this file is documented in the dhcpd.leases(5) manual page.

# This lease file was written by isc-dhcp-4.2.2

 

lease 172.16.16.10 {

starts 1 2014/04/21 23:41:16;

ends 1 2014/04/21 23:51:16;

tstp 1 2014/04/21 23:51:16;

cltt 1 2014/04/21 23:41:16;

binding state active;

next binding state free;

rewind binding state free;

hardware ethernet 08:00:27:ef:7d:33;

uid "\001\010\000'\357}3";

client-hostname "yilmaz-xp";

}

lease 172.16.16.11 {

starts 1 2014/04/21 23:43:32;

ends 1 2014/04/21 23:53:32;

tstp 1 2014/04/21 23:53:32;

cltt 1 2014/04/21 23:43:32;

binding state active;

next binding state free;

rewind binding state free;

hardware ethernet 08:00:27:10:52:81;

client-hostname "centos.yilmaz.com";

}

 

Yukarıda görüldüğü gibi client bilgisayarlar sorunsuz IP almışlar.

 

Client tarafındaki testler;

 

Centos client isim çözebiliyor mu?

 

clip_image006

Sorunsuz çözüyor.

 

 

 

XP’nin IP ayarları;

 

clip_image008

 

Sorunsuz bir şekilde kurmuş olduğumuz sistem üzerinden IP alabiliyor.

 

İnternete bağlanalım;

 

clip_image010

 

 

Testlerimizde de sorun yoksa isteklerimizi tam anlamıyla gerçeklemişiz demektir. Linux ile basit bir network ve sistem altyapısı kurmayı hedeflediğim bu makale umarım yararlı olur.

Centos 6.5 Üzerine Apache Server Kurulumu ve Virtual Host Yapılandırması

$
0
0

Eminim ki BT sektöründeki herkesin evinde, işyerinde, ya da profesyonel yaşamında muhakkak bir Web sunucuya ihtiyacı oluyor. Ne var ki ihtiyaç yalnızca Web sunucu kurmak ile bitmiyor. Sunucuyu kurduktan sonra üzerinde birden fazla web uygulaması çalıştırmak gerekiyor. Her web uygulaması için ayrı bir sunucu mu kuracağız? Elbette hayır. Bu noktada imdadımıza bütün Web sunucuların desteklemiş olduğu Virtual Host yapılandırması koşuyor.

İşin hikaye kısmını özetlediğimize göre artık teknik tarafa geçebiliriz.

 

İşe öncelikle bir Centos 6,5 indirerek başlıyoruz. http://isoredirect.centos.org/centos/6/isos/ adresinden donanımınıza uygun işletim sistemini seçip indirebilirsiniz.

İşletim sistemini sunucuya kurup çalıştırdıktan sonra, Sunucu üzerinden ya da uzaktan bağlanma yoluyla kuruluma başlıyoruz.

 

# su

Komutu ile root olmalıyız.

 

clip_image001

 

Hazırlıklar tamamlandıktan sonra apache sunucuyu kurmak için alttaki komutu kullanıyoruz;

 

# yum -y install httpd

 

Çıktısı alttaki gibi olmalı;

 

clip_image002Apache kurulumu bu kadar. Görüldüğü gibi gayet basit ve pratik bir kurulumu var.

Senaryomuz şu şekilde olacak;

 

  1. cozumpark.com, mustafa.com, yilmaz.com olarak 3 adet web sitesini bu sunucudan sunacağız.
  2. Her web sitesi için bir dizin oluşturacağız.
  3. Her web sitesi için virtual host ayarlarını gireceğiz.

 

Önce /home klasörü altına virtual hostlarımızı barındıracağımız public_html klasörünü oluşturacağız, sonra bu klasörün altında virtual host dosyalarımızı oluşturacağız. Bu işlemler için aşağıdaki komut setini kullanıyoruz;

 

# cd /home/

# mkdir public_html

# mkdir -p public_html/cozumpark.com/{public,private,log,cgi-bin,backup}

# mkdir -p public_html/mustafa.com/{public,private,log,cgi-bin,backup}

# mkdir -p public_html/yilmaz.com/{public,private,log,cgi-bin,backup}

 

Linux/Unix sistemlerde işlemler genelde shell üzerinden yapılır. Shell kullanırken dosyalar üzerinde okuma yazma işlemi yaparken, vi ya da nano gibi text editor programları kullanılır. Ben günlük hayatta vi kullanıyorum, o nedenlede makalede vi ile çalışıyor olacağım.

 

Klasör ve dosyaları oluşturduktan sonra virtual hostları denemek amacıyla kullanacağımız birer index.html dosyası oluşturmalıyız;

 

# vi /home/public_html/cozumpark.com/public/index.html

vi editöründe eğer "i" ya da "a" tuşlarına basmazsanız yazma işlemi yapamazsınız, yani insert moda geçemezsiniz. “i” tuşuna basarak yazma moduna geçiyoruz ve alttaki html kodlarını dosyanın içine yapıştırıyoruz;

 

<html>

  <head>

    <title>cozumpark.com</title>

  </head>

  <body>

    <h1>cozumpark.com</h1>

  </body>

</html>

 

Esc tuşuna basıp yazma modundan çıkıyoruz ve “:wq” diyerek dosyayı kaydedip çıkıyoruz.

Bu işlemi diğer hostlarımız için de yapalım;

 

# vi /home/public_html/mustafa.com/public/index.html

Yine “i” tuşuna basarak yazma moduna geçiyoruz, alttaki satırları dosyanın içeriğine ekliyoruz.

 

<html>

  <head>

    <title>mustafa.com</title>

  </head>

  <body>

    <h1>mustafa.com</h1>

  </body>

</html>

Esc’ye basıp “:wq” ile kaydedip çıkıyoruz.

 

 

 

 

# vi /home/public_html/yilmaz.com/public/index.html

 

“i” tuşuna basarak aşağıdaki html kodlarını ekliyoruz;

 

<html>

  <head>

    <title>yilmaz.com</title>

  </head>

  <body>

    <h1>yilmaz.com</h1>

  </body>

</html>

 

Esc’ye basıp“:wq” ile kaydedip çıkıyoruz.

 

Yukarıda neler yaptığımızı birkaç cümle ile özetleyelim;

  • apache kurulumunu yaptık.
  • Virtual Hostlarımızın bulunacağı /home dizini altında bir public_html klasörü oluşturduk.
  • Her bir virtual host için gereken klasörleri oluşturduk.
  • Her bir virtual host’un public dizini altına gereken index.html dosyalarını oluşturduk ve kaydettik.

 

Gelelim Virtual Host ayarlarına;

Apache'nin konfigürasyon dosyasını açıp düzenlemek için vi ile açıyoruz;

 

# vi  /etc/httpd/conf/httpd.conf

 

Apache'yi konfigüre etmek için dosya içerisinde görüleceği üzere birçok parametre yer almakta. Bir sonraki makalede tamamı ile Apache konfigürasyon parametrelerini anlatıyor olacağım. Orada daha detaylı değineceğimiz dosya içerisindeki birçok parametreyi geçiyor ve direk virtual host ayarlarına geliyorum.

insert moduna geçmeden "/" tuşuna basarak vi içinde arama yapabilirsiniz. Dosya içinde "NameVirtualHost *:80" satırını aratın ve insert moda(“i”'ye basarak)

#NameVirtualHost *:80  

satırını

NameVirtualHost *:80

haline getirin.

Esc'ye basarak insert mod'dan çıkabilirsiniz.

Şimdi dosyanın sonuna ekleme yapmak için yine “i” tuşuna basıp şu satırları ekleyelim;

 

# domain: cozumpark.com

# public: /home/public_html/cozumpark.com/

 

<VirtualHost *:80>

 

  # Admin mail adresi, sunucu adi, sunucu takma adi

  ServerAdmin webmaster@cozumpark.com

  ServerName  cozumpark.com

  ServerAlias www.cozumpark.com

 

  # Index ve web sitesinin ya da uygulamasının bulunacagi public klasor

  DirectoryIndex index.html

  DirectoryIndex index.php

  DocumentRoot /home/public_html/cozumpark.com/public

 

  # Custom log file locations

  LogLevel warn

  ErrorLog  /home/public_html/cozumpark.com/log/error.log

  CustomLog /home/public_html/cozumpark.com/log/access.log common

 

</VirtualHost>

 

# domain: mustafa.com

# public: /home/public_html/mustafa.com/public

 

<VirtualHost *:80>

 

  # Admin mail adresi, sunucu adi, sunucu takma adi

  ServerAdmin webmaster@mustafa.com

  ServerName  mustafa.com

  ServerAlias www.mustafa.com

 

  # Index ve web sitesinin ya da uygulamasının bulunacagi public klasor

  DirectoryIndex index.html

  DirectoryIndex index.php

  DocumentRoot /home/public_html/mustafa.com/public

 

  # Log dosyalarina iliskin ayarlar

  LogLevel warn

  ErrorLog  /home/public_html/mustafa.com/log/error.log
  CustomLog /home/public_html/mustafa.com/log/access.log common

  </VirtualHost>

 

# domain: yilmaz.com

# public: /home/public_html/yilmaz.com/public

 

<VirtualHost *:80>

 

  # Admin mail adresi, sunucu adi, sunucu takma adi

  ServerAdmin webmaster@yilmaz.com

  ServerName  yilmaz.com

  ServerAlias www.yilmaz.com

 

  # Index ve web sitesinin ya da uygulamasının bulunacagi public klasor

  DirectoryIndex index.html

  DirectoryIndex index.php

  DocumentRoot /home/public_html/yilmaz.com/public

 

  # Log dosyalarina iliskin ayarla

  LogLevel warn

  ErrorLog  /home/public_html/yilmaz.com/log/error.log

  CustomLog /home/public_html/yilmaz.com/log/access.log common

</VirtualHost>

 

 

Vi ile insert mod'da yukarıdaki satırları httpd.conf dosyasına eklediysek, Esc ile insert mod'dan çıkıp ":wq" komutu ile dosyayı kaydedip çıkabiliriz.

 

Eğer bu işlemleri sorunsuz bir şekilde bitirdiysek

 

# setsebool httpd_disable_trans 1

 

Komutu ile apache sunucu için selinux korumasını devre dışı bırakmak gerekiyor.

Bir ayar da dosya izinleri ve sahiplikleri üzerinde yapacağız. Buraya kadar bütün işlemleri root kullanıcısı ile yaptık. Dolayısı ile dosya sahipliği root kullanıcısında olduğu için apache dosyaları çalıştıramayacak ve permission denied hatası verecektir. Bunun önüne geçmek için önce dosyaların sahipliğini değiştireceğiz ve ardından okuma yazma ayarlarını değiştireceğiz ;

 

# chown apache:apache /home/public_html -R

# chmod 755 /home/public_html -R

 

Daha sonra sunucumuz üzerine hosts dosyasını düzenleyelim;

# vi  /etc/hosts

Ile dosyayı düzenlemek üzere açıyoruz ve “i” ile insert mod geçip aşağıdaki satırları ekliyoruz;

 

127.0.0.1   cozumpark.com       mustafa.com     yilmaz.com

x.x.x.x   mustafa.com www.mustafa.com

x.x.x.x   yilmaz.com www.yilmaz.com

x.x.x.x   cozumpark.com www.cozumpark.com

 

x.x.x.x ‘lerin yerine sunucunuzun IP’sini yazıyoruz ve Esc’ye basıp “:wq” ile kaydedip çıkıyoruz.

Son olarak;

 

# service httpd restart

 

komutu ile apache sunucuyu yeniden başlatıyoruz.

 

clip_image003

 

Sunucuyu yeniden başlattıktan sonra deneme yapacağımız istemci makinesinin hosts dosyasını da değiştirmemiz gerekiyor. Bu dosyaya Linux’ta /etc/hosts, Windows sistemlerde ise C:\WINDOWS\system32\drivers\etc\hosts yolları ile erişebilirsiniz.

Dosyanın içeriğini şu şekilde değiştirmelisiniz;

 

x.x.x.x                  cozumpark.com

x.x.x.x                  mustafa.com

x.x.x.x                  yilmaz.com

(x.x.x.x yerine apache’nin bulunduğu sunucunun IP’sini yazmalıyız.)

 

Web tarayıcınız üzerinden cozumpark.com, yilmaz.com, Mustafa.com adreslerine giderek sonucu görebilirsiniz.

 

clip_image004

 

 

clip_image005

 

 

clip_image006

 

Yaptığımız bütün işlemleri adım adım yazalım;

 

  • Apache sunucu kurulumunu yaptık
  • Virtual host’lar için gereken klasörleri oluşturduk
  • Virtual host’ları denemek için birer index.html dosyası oluşturduk
  • Httpd.conf dosyasında virtual host ayarlarını yaptık
  • Selinux ayarlarını yaptık
  • Dosya izin ve sahipliklerini değiştirdik
  • Sunucu ve Client tarafındaki hosts dosyalarını düzenledik.
  • Apache’yi yeniden başlatıp sonuçları gözlemledik.

 

Bir makalenin daha sonuna geldik. Umarım faydalı bir Makale olmuştur. Bir sonraki makalemde görüşmek dileği ile esen kalın.

 

Centos Web Panel Kurulumu

$
0
0

 

Merhabalar, Linux’ un her geçen gün daha kullanışlı daha kullanıcı dostu ara yüzleri ile ilgi çekmesi devam ediyor. Bu yazımda Linux’ un Centos dağıtımı için geliştirilen Centos Web Panel (CWP)’ in kurulumunu yapacağız. Kuruluma geçmeden önce CWP hakkında biraz bilgi vereyim.

CentOs web panel, kolay ve hızlı kullanımıyla dikkat çekiyor. Bütün kontrol işlemlerini ssh bağlantısına gerek kalmadan panel üzerinden yapmanıza olanak sağlıyor. Dedicated, VPS, VDS serverleriniz için ücretsiz olarak kullanabileceğiniz bu panel sizi birçok zahmetli işten kurtaracak nitelikte.

clip_image001

CentOS web panel, kurulumu ile birçok ücretsiz servisi de beraberinde getirerek, kullanıma sunmakta. Dilerseniz panelle birlikte gelen servislerimizi sıralayalım.

Web Server
- Varnish Cache server desteği
- Apache’ yi kendine göre derler ve %15 performans sağlar.
- Apache Server durumu ve yapılandırma desteği
- Apache vHostlari ve vhost şablonlarını düzenleyebilir, ek konfigürasyon yapabilirsiniz.
- Tek tuşla biri sanal hostlari rebuild edebilirsiniz.
- suPHP & suExec ile gelişmiş güvenlik sağlar.
- Mod Security + OWASP rules tek tık kurulum ve kolayca yönetilebilir.

PHP
- PHP derlemesi yapar ve %20 performans iyileştirmesi yapar.
- PHP Sürüm destekleri (Geçiş yapabileceğiniz sürümler : 5.2, 5.3, 5.4, 5.5)
- Basit PHP Editorü
- PHP eklentilerini tek tıkla kurabilirsiniz.
- PHP.ini Editör desteği & PHP Bilgisi (phpinfo) & PHP modüllerini listeleme

Kullanıcı Yönetimi
- Ekleme, Listeleme, Düzenleme ve Kullanıcı Silme özelliği
- Kullanıcı İzleme (Açık kullanıcı dosyaları ve socket dinlemeleri.)
- Shell Erişim Yönetimi

DNS
- FreeDNS desteği
- Dns bölgeleri ekleyebilir, silebilir, düzenleyebilir ve listeleyebilirsiniz.
- Nameserver iplerini güncelleyebilirsiniz.
- DNS Şablon Yönetimi

Email
-Postfix ve dovecot desteği
- E-Posta Kutuları ve Takma Adlar oluşturabilirsiniz.
- Roundcube webmail desteği
- Postfix Mail Kuyruğu izleme

System
- Donanım Bilgileri (Cpu çekirdek ve saat bilgileri)
- Bellek Kullanım Bilgileri
- Disk Durumu ve Bilgileri
- İşletim Sistemi Bilgileri (Kernel Versiyonu, Uptime Süresi vs..)
- Servis Durumları (Servisleri kolayca restart edebilirsiniz. Apache, Mail, Ftp vs…)
- ChkConfig Yönetimi (Tek tuşla aktif servisleri durdurabilir başlangıçta çalışmasını engelleyebilirsiniz.)
- Ağ port kullanımı
- Ağ ayarları
- SSHD Ayarları

Monitoring
- Canlı Servis İzleme Desteği (Monitor services eg. top, apache stats, mysql…)
- Java SSH Konsolu ile ssh clientlara gerek duymadan ssh bağlantısı kurabilirsiniz.
- Servis Ayarları (eg. Apache, PHP, MySQL…)
- Arkaplan’ da shell komutları koşturabilirsiniz.

Security
- CSF Firewall desteği.
- SSL Sertifikaları Oluşturabilirsiniz.

SQL
- MySQL Veritabanı Yöneticisi
- Yerel MySQL kullanıcıları ve uzak mysql kullanıcı oluşturabilirsiniz.
- MySQL işlemlerini Live Monitoring ile izleyebilirsiniz.
- Veritabanları oluşturabilir, silebilirsiniz.
- Veritabanına birden fazla kullanıcı ekleyebilirsiniz.
- MySQL Sunucu Ayarları
- PhpMyAdmin (Web tabanlı phpmyadmin ile Veritabanlarınızı yönetebilirsiniz.)

Additional options
- TeamSpeak 3 Yönetimi (Voice servers) (tek tuşla kurabilirsiniz.)
- Shoutcast Yönetimi (Shoutcast Radyo Yöneticisi, birden fazla shoutcast server üretebilir ve kolayca yönetebilirsiniz.)
- Otomatik Güncelleme
- Yedekleme Yöneticisi
- Dosya Yöneticisi

ve bir çok özellik bulunmaktadır.

Kısacası CSF Firewall desteği olan, SMTP olarak Postfix, POP3 olarak dovecot, DNS server olarak Bind, FTP olarak VSFTP kullanan ve ek olarak Shoutcast, Teamspeak gibi modüllerini içinde barınan küçük ama güzel bir kontrol paneli.

Panel’ in yönetici seviyesi Maalesef sadece root seviyesidir. Yani Alan adlarınız için alt hesaplar oluşturmayı, domain seviyesinde Panel sunmayı unutun. Biraz daha bu yazılım firmalarına ve kendi web sitelerim barınacak zaten diyen arkadaşlar için kolay ve yönetilebilir bir arayüz bazı arkadaşların tercihi olabilir.

KURULUM

Kuruluma geçmeden belirtmek isterim ki eğer kaynağı sınırlı bir sunucunuz varsa işletim sistemini 32 bit seçin, kaynak sıkıntınız yoksa 64 bit çok daha iyi performans verecektir. CentOs bu paneli 6.x sürümü ile kullanmanızı önermekte.

İlk olarak sunucumuza putty ile ssh bağlantısı sağlıyor ve root olarak oturum açıyoruz.

clip_image002

Öncelikle “/usr/local/src” klasörüne geçiyoruz. Bunun için aşağıdaki komutu kullanıyoruz.

cd /usr/local/src

 clip_image003

Daha sonra bulunduğumuz dizine “wget” komutu yardımı ile “http://dl1.centos-webpanel.com/files/cwp-latest.sh” adresindeki dosyayı çekiyoruz. Bu işlem için aşağıdaki komutu kullanıyoruz.

wget http://dl1.centos-webpanel.com/files/cwp-latest.sh 

clip_image004

Ve kurulum için gerekli olan dosyamızı indirdiğimize göre artık başlayabiliriz. Kurulumu başlatmak için indirdiğimiz “cwp-latest.sh” dosyamızı çalıştırıyoruz. Çalıştırmak için aşağıdaki komutu kullanıyoruz. Komutumuzu çalıştırdığımız zaman bizden MySQL root şifresini isteyecek. Root şifresini yazarak devam ediyoruz.

sh cwp-latest.sh 

clip_image005

Kurulum tamamlandığı zaman aşağıdaki gibi bir bilgilendirme ekranı gelecek. Son olarak sunucunun yeniden başlatılması için Enter’ a basıyoruz. Kurulum adımlarımızın hepsi bu kadar. Sunucu yeniden başladığı zaman web panelimiz erişilebilir durumda olacaktır.

clip_image006

clip_image007

Kurulumun ardından dikkat edilmesi gereken 1-2 alan var. Hemen onlarıda paylaşmak istiyorum. Öncelikle sunucumuz için Name Server kayıtlarını girmemiz gerekmektedir. Bunun için CWPanel menüsünden “DNS Functions” menüsü açıp altından “Edit Nameservers IPs” menüsünü seçiyoruz. Açılacak olan sayfada gerekli alanları kendimize göre dolduruyoruz.

Daha sonra yapmamız gereken son bir ayar kalıyor. Bu ayar ise paylaşılan bir IP adresi tanımlamak. Bunun için de CWPanel menüsünden “CWP Settings” menüsünü açıp altından “Edit Settings” menüsünü seçiyoruz. Açılan sayfaya kullanacağınız paylaşılmış IP adresinizi yazıyorsunuz. Hepsi bu kadar.

Artık “User Accounts” menüsü altından yeni sitelerinizi yaratabilirsiniz.

Ayrıca Centos Web Panel sitesinde yayınlanan “Securing DNS Server BIND (open DNS resolver)” konusuna göz atmakta fayda var.

Viewing all 96 articles
Browse latest View live