Bu site emekli olmuştur. Arşiv amaçlı olarak
BT AKADEMİ
sponsorluğunda yayın hayatına devam etmektedir.
Ana Sayfa
.net TV
Makaleler
Kaynak Kod
Haberler
Serbest Köşe
Canlı Köşe
Forum
C#nedir?
Ekibimiz
RSS
ADO.NET/SQL
C / Sys Prog.
Genel
Mono ve .NET
Silverlight
XML / Web Serv.
X86 Assembly
C++ / C++.NET
J#.NET / Java
.NET 3.x
UML / Analiz
Yazılım Müh.
ASP.NET
C# / VC#/.NET
Mobil Prog.
PHP 5
YAZAR HAKKINDA
Ahmet İpek
http://www.csharpnedir.com/
İletişme geçmek için
tıklayın
.
9
Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için
tıklayın
.
Yayınlanan diğer makaleleri için
tıklayın
.
İlgili etiketler:
ardindan
asp.net
fedora
gerekli
isletim
kurulum
kurulumu
partion
servis
terminal
virtual
vmware
windows
xsp?yi
zamanda
Mono ve .NET
Ahmet İpek
YAZI HAKKINDA
Türü
:
Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi
:
Başlangıç
Kategori
:
Mono ve .NET
Yayınlanma Tarihi
:
18.10.2004
Okunma Sayısı
:
40764
Yorum Sayısı
:
0
yorum yaz
SİTE İÇİ ARAMA
Üye
GİRİŞİ
Üye girişi için
tıklayın
.
Kullanıcı Adı
Şifre
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
Şifremi / Kullanıcı Adımı unuttum.
C#nedir? hesabınız yok mu?
Üye olabilmek için
tıklayın
.
Serbest KÖŞE
(?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
Bende Yazmak İstiyorum
Blogroll
Turhal Temizer
Conda install environment.yml Package
21.11.2024
Turhal Temizer
Mac OS/X Removing CUDA
21.11.2024
Burak Selim Şenyurt
Rust ile ECS Yaklaşımını Anlamak
21.11.2024
Burak Selim Şenyurt
Birlikte Rust Öğrenelim Serisi
21.11.2024
Diğer Herşey
»
Makaleler RSS
»
Video Gönder
»
Makale Gönder
»
Serbest Köşeye Yazı Gönder
»
Yazar Başvurusu
»
C#nedir? Ekibinde Olmalıyım!
Sponsorlar
Ana Sayfa
/
Makaleler
/
Mono ve .NET
/
Mono ve Sanal Makinalar
Mono ve Sanal Makinalar
Favorilerime Ekle
Gönderiliyor lütfen bekleyin...
arkadaşıma gönder
Arkadaşınızın email adresi:
*
Mesajınız:
Bu yazının amacı Mono kelimesini bir çok kez duymuş ve merak etmiş fakat işletim sistemine zarar vermekten çekinip Linux kurmak istemeyen kişilere sanal makinaları duyurmak ve sizi Linux ortamına alıştırmak.
C#nedir?com da karşılaşacağınız bir çok örneği deneme olanağı elde ediceğiniz sanal bir işletim sistemi kurma imkanı sağlayan sanal makinaların belli başlı örneklerini denedim. Ama ilk önce
nedir bu sanal makinalar
onu açıklayayim: Sanal makinalar kullandığınız işletim sisteminize bir program yükleyerek yarattığınız sanal bir donanım ortamıdır. Bu ortama istediğiniz 2. veya 3. bir işletim sistemi yükleyebilirsiniz ve bu sistemleri ana işletim sistemi üzerinden kullanabilirsiniz. Buda
Windowsda bir pencere içerisinde Linux kullanmanız anlamına gelmektedir
. Sanal Makina uygulamalarının belli başlı örnekleri aşağıdaki gibidir.
1. Microsoft Virtual Server 2005
2. Microsoft Virtual PC 2004
3.
VMware
Denemelerim süresinde inceleme sırasıda yukarıdaki gibiydi. Microsoft ürünü olan Virtual Server 2005 ve Virtual PC 2004 üzerine ne yazık ki Fedora Core 2 kurulumu direkt olarak gerçekleştirilemiyor. Gerçi Linuxı text olarak kurduktan sonra çekirdeğinin konfigrasyonu değiştirilerek bunu gerçekleştirmek mümkün fakat bu giriş düzeyi kullanıcıları hitap etmediğinden Fedorayı destekleyen VMwarei nasıl kuracağımızı anlatıcam.
VMwarei
http://www.vmware.com/download/workstation.html
adresinden indirebilir ve 30 günlük deneme sürümü için gene aynı adresden kayıt olarak geçerli bir anahtar edinebilirsiniz. Açıkcası 36.2MB dosyayı indirmek kurulumun en zor ve uzun kısmı :) ardından Next butonları ile VMware Workstationı kısa sürede kurabilirsiniz.
Yandaki simgenin masaüstünde belirdiğini görüceksiniz. VMwarei açtıktan sonra yeni bir sanal makina yaratarak hemen Linux kurlumuna başlayabiliriz. Bunu programı açtıktan sonra karşımıza gelen ekranda "Create New Virtual Machine" menusü ile yapabiliriz.
Virtual Machine Configration :
Typical
Guest Operating System:
Linux , Red Hat Linux (Fedora bir Red Hat ürünüdür)
Virtual Machine Name:
Red Hat Linux (istediğiniz ismi verebilirsiniz)
Location:
... (Bu bölümü sanal makinanızın hangi klasörde tutmak isteğinize göre değiştirin. PS: En az 3GB yeriniz olmalı)
Network Connection:
Use Bridged Networking (Bu şekilde sanal makina üzerinde internete çıkabilirsiniz)
Disc Capacity:
... (Tanımlı olarak 4GB gelmektedir. Siz sanal makinaya yükleme yapmadıkça bu alanı kullanmaz fakat üstüne çıkamazsınız PS: Allocate Now seçeneğini seçerseniz bu sefer 4GBlık alanı Hardiskinizde ayrır)
"Star this virtual machine" ile makinanızı boot edebilirsiniz. Elinizdeki boot edilebilir Fedora CDlerini direkt CD sürücünüze koyabilirsiniz. VMware sanal makinasını burdan boot edebilir veya "Nero CD Burning" yazılımındaki "Image Recorder" ile CD lerinizin imajını oluşturup bunu gene "Nero ImageDrive" aracılığı ile sanal bir CD sürücüsü açıp oraya yükleyebilirsiniz. Birbaşka seçenek ise elinizde CDlerin ISOları mevcut ise VMwarede köşede gördüğünüz CDROM ikonuna tıklayıp burdan isonun dizinini göstererekte bu işlemi tamamlayabilirsiniz(Sanırım bu en kolayı). Ben tüm CD imajlarımı .nrg olarak tuttuğum için makale hazırlama süresince Nero ImageDrive kullandım.
Artık Fedoranın kurulumuna geçebiliriz. Boot edilebilir CD mizi yerleştirdikten sonra Sanal Makinamızı başlatalım. "Fedora 2" başlıklı boot ekranını Enter ile geçerek
görsel
kurlumu tercih etmiş oluyoruz. Burda bize CDlerimizi kontrol edip etmemek istediğimizi soran Test bölümü geliyor. CD lerinizden eminseniz bu bölümü Skip ile geçebilirsiniz aksi taktirde CD lerinizdeki hatalar kurulumun çökmesine neden olucaktır. PS: Bu arada VMware penceresine Tıklayarak girdikten sonra "Ctrl + Alt" kombinasyonu ile dışarı çıkabilirsiniz
Artık görsel kurulum karşımızda. Burdan aşağıdaki bölümleri Next ile geçebilirsiniz.
Burda kurulum tipini Custom olarak seçiyoruz çünki OpenOffice gibi kullanmayacağımız paketlerin sanal belleği şişirmesini istemiyoruz. PS: Eğer bir basamağa değinmemiş ise o bölümü next veya OK ile geçebilirsiniz
Burda biraz ayrıntıya girmeyi faydalı buluyorum.
Disk partion Setup:
Automatic
Automatic Partitioning:
Remove All Pations On This sistem
PS: /swap partionı swap türünden olmalıdır.Linux ortamında swap windows ortamındaki sanal bellektir. Diğer klasörler için /ext3 kullanılabilir.
Linuxda partionlar ile ilgilenmiyorsanız bu pragrafı atlayın. Gördüğünüz üzere sanal hardiskimizde 3 partiona ayrıldı, bunlardan en baştaki boot sonraki root klasörü ve sonuncusu da swap yani sanal ram. Root klasörü ( / olarak gösterilir) /var /etc /root /usr gibi temel klasörlerin bağlı olduğu başlangıç noktasıdır. Bu konfigrasyon şekli ile tüm klasörler 3,6GB lık bir partion da birleştirildi. Manual partion (Disk Durid) ile klasörler için ayrı partion büyüklükleri tanımlamanız mümkün. Örneğin send mail aracılığı ile gelen mailler /var/spool/mail/mailkutusu altında tutulur /var klasörünü ana partiondan ayırıp daha çok yer ayırmak isteyebilirsiniz aynı şekilde kullanıcı dosyaları /usr/kullanıcı klasöründe, web sunucusu dosyaları /var/www/html altında tutulur gene bunlara ayrılan büyüklükleri düzenleme şansınız var.
Burda eğer statik ip üzerinde bir networkünüz varsa o zaman makinanıza yukardaki gibi yeni bir ip verebilirsiniz. Aksi taktirde tanımlı konfigrasyon ile devam edebilirsiniz. Ardından karşınıza Firewall bölümü gelecek tavsiyem kapalı tutmanız çünki şuanki kurlumumuz bir sunucu olamayacak sadece denemeler yapacağımız bir sanal makina, bu yüzden olduğunca az sorunla karşılaşmak bizi mutlu eder. Yani "No Firewall" ve Next.
Additional Language Support:
Listeden Türkçenin yanına tik atmayı lütfen atlamayınız.
Set Root Passwors:
en az 6 karakter olmalı
Işte en önemli bölümlerden biriyle karşı karşıyayız. Burda paketleri iyi seçmemiz gerekiyor örneğin mySQLi kurmayı atlarsak kurlumsan sonra kurmak istediğimizde bizden ilk önce 1. CD ardından 3. CD ve gene 1.CD isteyeceğinden baya sinirlenebiliriz :)
Seçilmesi uygun paketler:
Editors
[ Edit ] altındaki tüm paketlerleri (ekleyin)
Office
(eğer office kullanmayı planlamıyorsanız çıkarmanız iyi olacaktır keza kurlumu uzatır)
Sound and Video
(çıkarınız)
Graphics
(çıkarınız)
Server Configrations Tools
(ekleyin)
Web Server
(ekleyin. eğer PHP çalıştırmayı düşünüyorsanız içine girip PHP modlarınıda ekleyiniz)
Mail Server
(ekleyin, uygulamamıza mail attırmak isteyebiliriz)
Windows File Server
(ana bilgisayarın paylaşılan klasörlerine bağlanmamız için gerekli)
SQL Database Server
(isteğe bağlı. bu paket mysql4 ü içermektedir.ben kurmamanızı tavsiye ederim çünki ileriki makalelerde
mysql5
in kurulumu ve getirdiği yenilikleri göreceğiz "örneğin stored procedures" )
Development Tools
(kaynak koddan uygulama kurmak için gerekli)
Xsoftware Development
(ekleyin)
Gnome Development GTK+
(Monoda GTK# form tasarımı yapabileceğiniz Glade programını içermekte)
Administration Tools
(ekleyin)
System Tools
(ekleyin)
Printing Support
(çıkarınız)
Kurulum 30 ile 45 dakka arası sürebilir ps: kurulumu hızlandırmak için windows task managerdan vmware işleminin priortysini high yapabilirsiniz fakat olumsuz oluşabilecek bir durumda sorumluluk size aittir. Kurulum sonrası Fedora açıldığında bazı hatalar ile karşılaşabilirsiniz bu VMware ile fedora arasındaki renkderinliği anlaşmazlığından kaynalanıyor. Sık sık ekran gidip gelebilir buna aldırmayın gerekli değişikliği yaptıkdan sonra düzelecek. Ayrıca klavyeniz çalışmıyor ise Power bölümünden restart ediniz ve sanal makine açılana kadar pencereyi terketmeyiniz. "Text Login" ile aşağıdaki gibi giriş yapınız.
user: root
password: şifreniz
Ardından joe editörünü kullanarak X pencerelerinin konfigrasyon dosyasını düzenleyeceğiz. (CTRL + K + X kombinasyonu ile joe editöründe kayıt yapabilirsiniz. aynı anda basmanıza gerek yok sadece sırası önemli). Konsola joe /etc/X11/xorg.conf yazınız ve pagedown ile aşağı inerken Screen bölümünde "DefaultDepth 16" gördüğünüz değeri "DefaultDepth 24" olarak değiştirip kayıt ediniz (ctrl + k + x) ardından startx yazarak sisteme giriş yapabilirsiniz.
ps: bu esnada gidip gelen görüntülere aldırmayınız
VMware Status de gördüğünüz araçları yüklemediniz uyarısını dikkate almayınız. Açıkcası toollar yüklenebiliyor fakat text moda geçmeniz ve uğraşmanız gerek. Ben denedim ne yazık ki araçlar fedora ile uyumsuz olduğundan gerekli hızlandırmayı gerçekleştiremiyorlar bu nedenle yüklemenin bir anlamı yok. Belki VMwarein ileriki sürümlerinde Fedora için direkt destek çıkabilir.
PS: VMware ile ilgili değinmek istediğim son nokta menuden Snapshotı seçerseniz o anki durumu kayıt eder. Burda login ekranından sonra Snapshot almanız çok önemli çünki Mono kurulumda içinden çıkamayacağınız bir duruma düşerseniz yukardaki revert seçeneği ile Snapshot aldığınız ana geri dönebilirsiniz. Ayrıca her seferinde makinayı kapamak zorunde değilsiniz işiniz bittiğinde Power menüsünden suspend ile işletim sistemini o anki durumu ile saklayabilirsiniz bir sonraki açılışında bıraktığınız ekrandan devam edecektir. Suspendde Snapshotdaki gibi geri sarma olanağı yoktur lütfen buna dikkat ediniz.
Artık sanal makinanız üzerindeki Fedoraya Mono ve MonoDevelop yükleyebilirsiniz. Dikkat etmeniz gereken konu Mono 1.0.1 sürümü Fedora 2 ile gelen Apache sürümündeki bazı kütüphaneler ile uyumsuz bu yüzden ASP.NET çalıştıramayabilirsiniz. Açıkcası bu mod_mono dan kaynaklanmakta bu yüzden eğer ASP.NET çalıştırmak istiyorsanız Mono 1.0.0 veya 1.0.2 sürümünü yükleyebilirsiniz. Aşağıda Mono 1.0.2ın kurlunumu anlatıyor olucam.
VMware ve Fedora Core 2 üzerine Mono 1.0.2 kurulumu
Mount nedir ?
Linux dosya sisteminde dosya okunacak tüm cihazlar önce mount edilmelidir. (mount türkçe: monte etmek) Yani CDROM olsun USB cihazları olsun disket sürücüsünden hardiske tüm dosya taşıyan cihazlar mount edilmelidir. Mount komutu linuxda tanımlı bulunmaktadır. Read (okuma), Write (Yazma) ve RW olarak bir cihaz mount edilebilir. Aynı zamanda
samba
uygulaması aracılığı ile bazı Windows sunuculardaki paylaşılmış klasörlerde sanki linuxın yerel klasörüymüş gibi mount edilebilir. /mnt klsörü disket, cdrom ve usb gibi cihazların tutulması için kullanılır.
Kolay kullanım.
Terminali ilk kez kullanıyorsanız bilmeniz gereken bir ikinci konu dir klasöre girmek istediğinizde klasör yolunu yazarken bir kısmını yazdıktan sonra TABa basarsanız terminal otomatik olarak bunu tamamlıyacaktır.
RPM nedir ?
RPM ler kaynak kodları derlenmiş hazır paketlerdir. Kaynak kodundan kurulan programlarda (genelde tar.gz olarak sıkıştırılmışlardır) gereken configrasyon farklılıklarını ortadan kaldırmaktadır.Aynı zamanda bağımlı paketleri de kullanıcıya belirtmektedir, kaldırması veya güncellemesi daha kolay yapılardır.
ps: kurulum 1.0.2 de gerçekten çok kolay ama ne yazık ki 1.0.0 de paket sıralarına dikkat etmeniz gerekmekte aynı zamanda asp.neti apache üzerinde çalıştırmak için gerekli olan mod_monoyu da kaynak kodundan derlemek zorundasınız. Burda 1.0.0ı derlmek gibi bir zorunluluğunuz olursa bana mail atmaktan çekinmeyiniz.
Gerekli Dosyalar:
http://www.go-mono.com/archive/1.0.2/fedora-2-i386/
Burda mono-all.zip i çekip bir klasöre açtıkdan sonra yandaki ekran görüntüsü gibi bir imaja kayıt ederseniz bu şekilde tekrar tekrar kullanma şansınız olur veya Linux üzerinden nete çıkabiliyorsanız bunu /root klasörüne kaydettikten sonra orayada açabilirsiniz. Her durumda ben gerekli rpm dosylarını cd içerisinde mono.1.0.2.rpms altına açılmış ve buraya kayıt edilmiş gibi davranıcam. ps: yandaki ekran görüntüsü 1.0.0 için alınmıştır sizin 1.0.2yi indirmeniz gerekmektedir burda kafanız karışmasın.
Bir terminal ekranı açıp mount edilmiş cdrom içerisine geçip
rpm -ivh --force *.rpm
ile kurulumu başlatabiliriz. burda --force kullanmamın sebebi eğer PHP kütüphanelerini yüklemeyi seçtiyseniz PHP GTK+ için gelen kütüphanelerin mono ile çakışması sonucunda mono ile gelen kütüphaneler yeni olduğundan üzerine yazması için kurulumu zorluyoruz. Aşağıda kurulum ile ilgili iki ayrıntılı ekran görüntüsü bulabilirsiniz.
Bu işlem sonrasında artık mono uygulamalarını çalıştırabiliriz fakat bir denemeyi bu aşamada yapmayacağız çünki eğer asp.net çalıştırabilirsek bu aynı zamanda zaten mononun çalıştığını ispatlayacaktır. O yüzden hemen asp.net kurulumuna geçiyoruz.
Mono 1.0.2 ve ASP.NET kurulumu
Bildiğiniz üzere IIS de ASP.NET uygulamarını çalıştıran asp_wp.exe bulunmakta bunun için mono da XSP tasarlamış durumda; bu şekilde bellek yönetimi kontrol edilebilmekte. Gerekli derlenmiş ara kodlar /tmp/mod_mono_server klasörüne kaydedilmekte. XSP için gerekli yüklemeyi farkettiyseniz RPMler ile yapmıştık. Şimdi sunucu her açıldığında otomatik olarak XSPyi de ayağa kaldırması için son bir kaç düzenlemeyi de gerçekleştirdikden sonra artık merhaba dünya diyebileceğiz. Fakat önce apacheye aspx dosyaları için monoyu çağırması gerektiğini belirtmemiz lazım.
ps: XSP sadece bir modül değil aynı zamanda istendiğinde kendi başına bir sunucu gibi davranabilmektedir. Fakat asp.netin apache dışında kullanıldığını düşünmek sanırım biraz yanlış bir yaklaşım olur
Bunun için
gedit /etc/httpd/conf/httpd.conf
ile açtığımız konfigrasyon dosyasına
mod_cgi.so
ardından alttaki 2 satırı eklemeliyiz AddHandler mono .aspx .ashx .asax .config .ascx .cs
MonoUnixSocket /tmp/mod_mono_server
sıra geldi XSPyi çalıştırmaya.
cd /usr/bin
mono mod-mono-server.exe --root /var/www/html --applications /:/var/www/html --nonstop & // burda size çalışma bilgisi gelene kadar bekleyiniz
cd /tmp
chmod 666 mod_mono_server
son yazdığımız satır ile geçici aspx binary dosyalarının yazılacağı klasöre yazma yetkisi verdik. Artık apacheyi çalıştırabiliriz bunun için
httpd -k start
ihtiyacımız olan bir aspx dosyası bunuda
gedit /var/www/html/index.aspx
ile açıp içini aşağıdaki gibi düzenledikten son mozillada
Http://localhost/index.aspx
yazdığımızda aspx dosyamızın çalışması lazım. ps: terminal penceresini kapamayınız
<%
Response.Write("selam");
%>
XSP sunucusunun servis olarak tanımlanması:
Terminal penceresini kapatıp tekrar aspx dosyasına ulaşmaya çalışırsanız
service unavaible
gibi bir hata ile karşılaşıcaksınız çünki XSPyi çalıştıran terminal ortamını kapadık. Bunun için XSPyi bir servis olarak tanımlamamız gerekmekte. Gelişmiş ve xml dosyalarına göre host açan servis uygulaması kodları mevcut fakat bizim amacımız şuan için sadece bir XSP servisini ayağa kaldırmak.
cd /etc/init.d
joe xsp
aşağıdaki dosyayı joe içine giriniz. ps: terminal ekranına paste edebilirsiniz
#!/bin/bash
#
# Startup script for xsp server
#
# chkconfig: 3 84 16
# description: xsp is a asp.net server
#
RETVAL=0
case $1 in
start)
echo -n $"Starting xsp..."
mono /usr/bin/mod-mono-server.exe --root /var/www/html --applications /:/var/www/html --nonstop & >/dev/null
sleep 8
chmod 666 /tmp/mod_mono_server
echo
;;
stop)
echo -n $"Stopping xsp..."
killall mono
echo
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: xsp start|stop|restart"
;;
esac
exit $RETVAL
Ardından servis listesine eklememiz ve çalıştırılabilir hakkı vermemiz gerekmekte
/sbin/chkconfig --add xsp
chmod +X xsp
chmod 777 xsp
Artık servis tablosunda xspyi görebilir ve başlatabiliriz. ps: xsp yanına tik atıp servis tablosunu kayıt ederseniz bilgisayar her başladığında yanında tik olan servisler başlatılır bu sayede xsp de başlar. httpd yani apache tanımlı olarak başlangıçta başlamaz bu yüzden yanına tik atmayı ve tabi servis tablosunuda kaydetmeyi unutmayınız. Geçmiş olsun artık windows içerisinde çalışan bir Linux makineniz ve onun içindede .net kodları çalıştıran mononuz var :)
Monoda başka yerde bulamayacağınız Türkçe içerik için CSharpnedir.comu takip edebilirsiniz.
Makale:
Mono ve Sanal Makinalar Mono - Linux'ta .NET Ahmet İpek
Yazılan Yorumlar
Yorum Yaz
Bu konu hakkında yayınlanan yorum bulunmamaktadır.
"Yorum Yaz" tabını kullanarak sizde yorumlarınızı yazabilirsiniz.
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için
tıklayın
.
Üye değilseniz
Üyel Ol
linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
Bu Konuda Son 10
Eklenen Son 10
Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
Dizayn ve Kodlama
bt
akademi
. Tüm Hakları Saklıdır © Copyright 2002-2009 c#nedir?com
Makaleler
Serbest Köşe
Makale Gönder
.Net TV
Video Gönder
Canlı Köşe
Kaynak Kod
Forum
Haberler
Röportajlar
Anketler
C# Nedir?
İletişim
Site Haritası
RSS
Favorilere Ekle
Üyelik
Hesap Aktivasyon
Ekibimiz
Ekibe Katıl