Eğitim Amaçlı Debian Web, FTP ve Veritabanı Sunucusu Yönetimi Dumlupınar Üniversitesi, Bilgisayar Mühendisliği Bölümü, Kütahya cakirhal@dpu.edu.tr, saytekin@dpu.edu.tr, makcay@dpu.edu.tr Özet: Bu çalışmada bir GNU/Linux işletim sistemi dağıtımı olan Debian üzerinde web hizmeti için Apache 2.2, ftp hizmeti için vsftpd ve veritabanı hizmeti için Mysql Server kurulumu gerçeklenmiştir. Daha sonra her öğrenci için sunucuda kullanıcı hesabı açılmıştır. Bu hesaplar sayesinde öğrenciler kolayca kendi web sayfalarını yayınlayıp üniversite yerel ağından bu sunucu üzerinde çalışmışlardır. Üniversitelerin ücretsiz işletim sistemi gibi yazılımları daha etkin ve amacı dahilinde kullanmasına örnek olan bu uygulama sadece donanım maliyetiyle bölüm içinde gerçeklenmiştir. Anahtar Sözcükler: Debian, Web Sunucusu, Ftp. Managing a Debian Web, FTP, and Database Server for Education Abstract: In this study, some applications such as Apache 2.2 for web server, vsftpd as an ftp server, and Mysql as a database server are installed on a GNU/Linux operating system distribution named Debian. Afterwards, users accounts were created for each student so that they can work and publish their own pages on the local server. This implementation can be seen as a model of using free operating systems and tools for education among universities, thus the only cost is hardware. Keywords: Debian, Web Server, Ftp. 1. Giriş Gelişen teknoloji ve hızla artan sistem ürünleri eğitim alanında büyük ilgi ve merak uyandırmaktadır. Bu ürünlerden biri olan açık kaynak kodlu GNU/Linux işletim sistemi dağıtımı olan Debian yeni kullanıcı meraklıları ve öğrenciler için kullanılması kolay ve güvenlik açısından da tehdit unsuru taşımayan bir sistem olması açısından çalışmalar için ideal bir sistemdir. Çalışmalarda daha çok birinci sınıf öğrencilerini dikkate alarak şunlar amaçlanmıştır: uygulayarak sanal makinalar üzerinden kullanılabileceğini anlatmak, Farklı türden işletim sistemleri arasındaki farkları gösterebilmek, Web Sunucusu ile Ftp arasındaki ilişkiyi kavratabilmek, Öğrenciye sunucu üzerinden hesap açarak hesaplarını kullanmalarını sağlayacak çalışmalara teşvik edip bilgi paylaşımında bulunmalarını sağlamak, Sunuculara uzaktan erişimle Moodle sistemini kullanmalarını sağlamak. Yeni başlayan öğrenci arkadaşlarımız için değişik bir yol izleyerek sabit tek bir işletim sistemi kullanma alışkanlıklarını yenmelerini sağlamak, Birden fazla işletim sisteminin tek bir makine üzerinden sanallaştırma metotlarını 643 Çalışmamızın ilk bölümünde GNU/Linux işletim sistemi ürünleri ile Debian sisteminin tanıtılması ve kurulum aşamalarından bahsedilmiştir. Buna ek olarak paket kurulum çalışmaları incelenmiştir. Diğer bir bölümde Debian ın sunucu üzerinde uygulama ve test aşamaların-
Eğitim Amaçlı Debian Web, FTP ve Veritabanı Sunucusu Yönetimi dan çeşitli uygulamalar anlatılmıştır. 2. Debian Kurulumu Debian desteklediği donanım ve farklı işletim sistemleri çekirdekleriyle birlikte i386, AMD64, PowerPC, SPARC, DEC Alpha, ARM, MIPS, HPPA, S390, IA64 gibi platformlarda çalışabilmektedir. Bir makineye kurulması için en az 256 MB Ram, 4GB Harddisk gereksinimleri yeterli olabilmektedir. Install ekranından sonra hemen ardından gelen dil seçeneklerinde Türkçe gibi birçok dil desteği de mevcut olup dil seçimini yaptıktan sonra bulunduğumuz alan adını seçerek bölümlendirme kısmına geçilir. Bölümlendirme kısmında debian için ayırmış oluğunuz sabit diskinizin ister hepsini ister bir bölümünü aşağıdaki şekilde karşınıza gelen ekran penceresinden seçilir. Test amaçlı kullanım veya yeni kullanıcılar için sanal makine üzerinde yapılan çalışmalar önem kazanmaktadır. 2.1. Debian ı Sanal Makine Üzerinde Kurmak Debianı sanal makina üzerine kurulabilmek için piyasada çeşitlilik gösteren kullanabileceğiniz herhangi bir sanal makine yazılımını bilgisayarınıza kurmanız gerekmektedir. Çalışmamızda VMware Workstation yazılımından faydalanarak tek bir donanımı paylaşan bir veya birden fazla işletim sisteminden aynı anda faydalanma imkanına sahip olabildik [1]. Şekil 2. Debian Bölümlendirme Sayfası Bölümlendirme yardımcısını kullanarak aşağıdaki şekilde elle yapılandırarak sabit diskteki bölümleri görüp istenilen alan kurulum için ayrılır. Debianı CD üzerinden boot ederek veya sanal makinenin.iso image dosyası ile kurulmasına imkan verdiği seçenekten kurmak mümkündür. Debian ın 4.0 etch sürümü ile kurulumuna grafiksel arayüz eklenmiştir. Kullandığımız 5.0 sürümü ile kurulum başlama ekranı aşağıdaki gibidir. Şekil 3. Debian Bölümlendirme Sayfası Bu kurulumda 8GB lık alanın hepsi debian için ayrılmıştır. Şekil 3 ten sonra gelen ekran penceresinde yeni ve boş bir bölümlendirme tablosunda evet dedikten sonra karşımıza aşağıdaki ekran görüntüsü gelecektir. Şekil 1. Debian Kurulum Açılış Sayfası 644 Şekil 4. Debian Bölümlendirme Sayfası
Boş alan üzerinde yeni bir bölüm oluşturarak gelen ekranda alan miktarının hepsini (8.6GB) belirledikten sonra aşağıdaki şekildeki gibi bölüm türü birincil seçilerek işleme devam edilir. Şekil 7. Debian Bölümlendirme Sayfası Şekil 5. Debian Bölümlendirme Sayfası Birincil bölümler bazı işletim sistemlerinin açılması için şarttır. Linux için böyle bir şart olmamakla birlikte mantıksal bölüme de kurulabilir. Dosya sistemi olarak da Ext3 tercih edilmektedir. Şekil 6. Debian Bölümlendirme Sayfası Bölümlendirmedeki tüm alanı kök dizini (/) olarak belirledik. Bağlama noktasını /home dizini olarak seçerseniz ve de başka bir bölümde olmasını sağlarsanız Debian ı yeniden kurduğunuzda bu dosyaya bağlanarak tüm kullanıcı dosyalarına yeniden ulaşabilirsiniz. Linux işletim sistemlerinde bir de swap(takas) alanları vardır. Bu alanlar belleğin yetersiz geldiği zamanlarda kullanılır. Swap alanı ayırmakta fayda vardır. Çünkü bellek dolduğu anda Linux aslında sanal bellek olarak ayrılan bu swap alanını kullanmayı tercih edecektir. Swap alanı da dolduğu zaman Linux sistemden bellek isteyen uygulamaları sonlandıracaktır. Şekil 7 de de görüldüğü üzere çalışmamızda Debian ı sanal makine üzerine kurduğumuzdan dolayı disk bölümlendirme sırasında herhangi bir swap alanı ayırmadık. Bölümler ayarlanıp değişiklikler diske kaydedildikten sonra sistem kurulumu başlayacaktır. Hemen ardından root şifresi ile kullanıcı adı ve şifresi ile kurulum devam edecektir. 2.2. Paket Kurulumu 1991 yılında Linux un duyurulmasından iki yıl sonra ortaya çıkan Debian ın uygulama yazılımlarını yükleyebileceğimiz paket sayısı 25000 e ulaşmıştır [2]. Paketleri elde etmenin birden fazla yolu vardır. Bunu doğrudan internet üzerinden ya da hazır CD/DVD gibi depolama birimlerinden yapabiliriz [3]. Depomuzun nerede olduğunu ise işletim sistemimiz / etc/apt/sources.list dosyasında saklamaktadır. Bu dosya herhangi bir metin editörü ile açılarak yeni depolar eklenebilir veya çıkartılabilir. Örnek bir sources.list dosyasının içeriğinde şu satırlar bulunabilir: deb file:/cdrom stable main contrib deb http://www.us.debian.org/debian stable main contrib non-free deb http://non-us.debian.org/debiannon-us stable non-us [4] Yeni bir program kurmak istediğimizde apt get adlı uygulama sayesinde istediğimiz paketleri tanımlı depolardan elde etmekle kalmaz, onları anında bilgisayarımıza kurabiliriz. Paket listesi güncellendikten sonra yeni uygulamalar kurmak için apt get ile birlikte install 645
Eğitim Amaçlı Debian Web, FTP ve Veritabanı Sunucusu Yönetimi komutunu paket adıyla birlikte komut satırından girmemiz gerekiyor: apt-get install paket_adi Sadece ihtiyacımız olan paketleri kurmamız yeterli olacaktır. Bunlar: mysql-server-5.0, vsftpd, apache2, php5, php5-mysql. 3. Uygulama Ayarları Sunucumuza kurulan uygulamaların ayarları belli dosyalarda saklanır. Her uygulama kendine özgü ayar dosyaları içerebilir. Apache2 uygulaması çok yaygın olan bir web sunucusu uygulamasıdır. Debian sistemine otomatik olarak kurduktan sonra /var/www dizini altına sunucumuzun yayınlanacak dosyalarını koyabiliriz. Her kullanıcının kendi sayfasını yayınlayabilmesi için de aşağıdaki işlemleri yapmak yeterli olacaktır: cd /etc/apache2/mods-enabled ln -s../mods-available/userdir.conf userdir.conf ln -s../mods-available/userdir.load userdir.load vsftpd için /etc/vsftpd/vsftpd.conf dosyasının düzenlememiz gereken satırların bazıları şunlardır: listen=yes anonymous_enable=yes local_enable=yes write_enable=yes local_umask=022 [5]. Mysql server kurulumunda bizden kullanıcı adı ve parola gibi bilgiler doğrudan istenir, bunların dışında herhangi bir ayarlamaya gerek yoktur. Apache üzerinde Php ve MySql modüllerinin çalıştığını görebilmek için boş bir dosyaya <? phpinfo();?> satırlarını yazabilir ve bu sayfayı açarak paketlerin doğru bir şekilde kurulup konfigüre edildiğinden emin olabiliriz: 4. Sunucu Yönetimi Şekil 8. PHP Bilgi Sayfası Linux dağıtımları kurulum sırasında tanımlamış olduğumuz gibi bir adet ana kullanıcıdan ve birden fazla normal kullanıcıdan oluşur. Ana kullanıcının yani yöneticinin görevlerinden birisi de diğer kullanıcıların hesaplarını oluşturmaktır. Yeni kullanıcılar oluşturmak için adduser komutunu kullanırız. Her kullanıcının home dizini altında kendi adında bir klasörü bulunur. Bu klasör içine oluşturulan public_html adlı dizin kullanıcının yayın yapmasını sağlar. Örneğin burada kendi web sayfasını bulundurabilir. Her kullanıcının hesabına sunucu ip si yazıldıktan sonra ~ işareti ile birlikte kullanıcı adını yazarak herhangi bir web tarayıcıdan ulaşılabilir. Örneğin, http://192.168.1.100/~ahmet gibi. Sunucumuzun yönetimi için doğrudan onu kullanmamıza da gerek yoktur. TCP/IP üzerinden ssh sunucu uygulaması ile istediğimiz bir bilgisayardan yönetim işlerini kolayca halledebiliriz. Tüm işlemlerimizi komut satırından kolayca yapabilmemizi sağlayan bir tür ssh istemcisi olan putty kullanılabilir[6]. Sunucuya bağlanmak için herhangi bir FTP programını bilgisayarınıza kurarak bağlanacağınız sunucu IP si ile kullanıcı adı ve şifrenizle hesabınıza ulaşmanız mümkündür. 646
6. Kaynaklar [1] VMvare Workstation Download Trial (Çevrimiçi: http://www.vmware.com/ products/ ace/ ) Şekil 9. Putty ile SSH bağlantısı 5. Sonuç ve Öneriler Hedeflenen çalışma öğrencilerin bu hizmeti kullanarak yaptıkları çalışmaları daha aktif kullanmalarını sağlayacak niteliktedir. Kendi hesaplarını kullanarak sunucu üzerinden bilgi paylaşımına açık olmaları sağlanmıştır. Çalışma test amaçlı olarak başlayıp gerekli düzenlemeler ve araştırmalarla desteklenerek testi başarılı bir şekilde geçerek öğrencilerin kullanımına açılmıştır. Yeterli bakım çalışmalarıyla öğrencilere Debian işletim sistemi ile güvenli bir ortam sunulmaya devam edilmektedir. [2] Learning Debian GNU/Linux, Bill McCarty, 1-56592-705-2 [3] Debian Paket Uygulamaları (Çevrimiçi: www.debian.org ) [4] Debian GNU/Linux Bible, Steve Hunger, 0-7645-4710-0 [5] Debian FTP Kurulum (Çevrimiçi: http:// www.debian.org.tr/vsftpd_(ftp_server)_ Kurulumu_ve_ayarlar%C4%B1 ) [6] Putty ile SSH Bağlantısı (Çevrimiçi: http:// www.chiark.greenend.org.uk/~sgtatham/ putty/ ) Bu çalışmada sanal makine, MySql ve Apache web hizmetleri ile birlikte FTP programı kullanılmıştır. Bazı uygulamalar ders niteliğinde olup laboratuar uygulamalarında öğrencilere sunulmuştur. Ayrıca moodle gibi yaygın olarak kullanılan eğitim amaçlı içerik yönetim sistemlerinin de etkin olarak kullanımı sağlanmıştır. Çalışmaların boyutları arttırılarak önümüzdeki dönemlerde çalışmanın daha farklı sistemlerde ve platformlarda denenmesi sağlanacaktır. Aynı anda iki sunucuyu aktif olarak kullanarak ikisi arasında paralel bilgi alış verişinde bulunmalarını ve sunucu güvenliğini test etme çalışmalarına ağırlık verilerek bu çalışmanın öğrenciler üzerinde daha etkin kullanılması hedeflenmiştir. 647