17 Haziran 2009 Çarşamba

Apache, PHP ve MySQL Kurulumu


Apache Kurulumu

İlk önce, apache'nin kurulum dosyası indirilir. Son versiyonunu http://httpd.apache.org/download.cgi adresinden ya da http://godel.cs.bilgi.edu.tr/apache/httpd/binaries/win32/apache_2.2.11-win32-x86-no_ssl.msi linkinden apache 2.2.11'i indirebilirsiniz.

Apache sunucusunu kurmadan önce, IIS'in kapalı olduğundan emin olun. IIS'i kapatmak için Denetim Masası->Yönetimsel Araçlar->Hizmetler'i açın. Sonra "World Wide Web Publishing" hizmetine sağ tıklayıp bu hizmeti durdurun. Bu hizmet sizde yüklü olmayabilir, yüklü değilse herhangi bir işlem yapmanıza gerek yok.


İndirdiğiniz dosyayı açın. Yukarıdaki ekrana geldiğinizde, alanları yukarıdaki gibi doldurabilirsiniz, zaten geliştirme amaçlı bir sunucu kurduğunuzdan bu bilgilerin çok da doğru olmasına gerek yok. İlk seçeneği seçerseniz, sunucu windows açıldığında otomatik başlatılacaktır. İkinci seçenekte ise, sunucuyu kullanmak istediğinizde sunucuyu başlatmanız gerekmektedir. Yüklemeyi herhangi bir değişiklik yapmadan tamamlıyoruz.Yükleme sırasında windows güvenlik duvarı uyarı verirse, engellemeyi kaldır seçeneğini seçmelisiniz. Yüklemeden sonra bilgisayarınızı yeniden başlatın.

Eğer yükleme düzgün olarak tamamlandıysa, windows'ta saatin yanında üzerinde yeşil ok bulunan bir apache logosu görmeliyiz. Şimdi internet explorer veya firefox gibi bir tarayıcıdan "http://localhost" adresine gidin. Eğer düzgün çalışıyorsa, "It works!" veya buna benzer bir mesaj/sayfa ile karşılaşacaksınız.

Eğer yeşil ok görünüyor ancak bu sayfaya ulaşamıyorsanız, apache'nin yükleme klasörüne gidin, bende "C:\Program Files\Apache Software Foundation\Apache2.2\conf" şeklinde bir dizinde. Bu dizindeki httpd.conf dosyasını açın, "Listen 8080" gibi bir satır görürseniz, bu sizin sunucunuzun 8080 portunu dinlediğini belirtir. Bu sefer, tekrar tarayıcınızı açın, adres olarak "http://localhost:8080/" yazın. Artık yukarıda bahsettiğim gibi bir mesajlar karşılaşmalısınız.

httpd.conf dosyasında, 'ServerRoot "C:/Program Files/Apache Software Foundation/Apache2.2"' satırı, sunucu kök dizinini belirtiyor. Bu dizini daha basit bir dizinle değiştirebilirsiniz.

Bu dizinin kullanımına örnek olarak "C:/Program Files/Apache Software Foundation/Apache2.2/deneme.jpg" dosyasına, "http://localhost/deneme.jpg" olarak tarayıcınızdan ulaşabilirsiniz.

Son olarak, windows'un kendi WWW hizmetini kullanıyorsanız, apache'nin portunu değiştirmeniz gerekebilir. httpd.conf dosyasında "Listen 80" satırındaki 80 portunu istediğiniz bir sayıyla değiştirebilirsiniz.


Php Kurulumu

Php kurulumuna ilk olarak, php kurulum dosyasını indirerek başlıyoruz. http://www.php.net/downloads.php adresinden, ya da http://www.php.net/get/php-5.2.9-2-Win32.zip/from/a/mirror adresinden versiyon 5.2.9'u indirebilirsiniz.

İndirdiğiniz dosyayı, herhangi bir klasöre çıkarın. "C:\php" klasörü örnek olabilir. Açtığınız klasörde bulunan "php.ini-dist" dosyasını "php.ini" olarak yeniden adlandırıyoruz. Bu dosyayı not defteri veya herhangi bir yazı editörüyle açıyoruz. "doc_root =" satırını buluyoruz. Bunun için arama fonksiyonunu kullanmanızı öneririm. Bu satırı apache'nin kök diziniyle aynı yapın. Ben herhangi bir değişiklik yapmadığım için "doc_root = C:\Program Files\Apache Software Foundation\Apache2.2\" olarak değiştiriyorum. Aynı şekilde 'extension_dir = "./"' satırını da 'extension_dir = "C:\php\ext"' olarak değiştiriyoruz.

Şimdi ise, Php'yi apache'ye tanıtmamız gerekiyor. Bunun için "C:\Program Files\Apache Group\Apache2\conf\httpd.conf" dosyasını açıyoruz. Bu dosyada LoadModule bulunan satırların en altına gidip oraya birkaç satır eklememiz gerekiyor.

LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/php"

Bu satırlarıda ekledikten sonra dosyayı kaydedip, apache'yi yeniden başlatıyoruz. Bunun için saatin yanındaki apache simgesine sol tıklayıp Restart seçeneğini seçin. Eğer bir hata oluşmazsa apache'nizin artık php desteği olmalı. Eğer restart esnasında hata alırsanız, büyük ihtimalle versiyonlar uymuyordur.

LoadModule php5_module "c:/php/php5apache2.dll" satırını
LoadModule php5_module "c:/php/php5apache2_2.dll" olarak değiştirip kaydedin ve tekrar apache'yi yeniden başlatın. Bu kez herhangi bir sorun çıkmaması gerekiyor.

Apache simgesine çift tıkadığınızda açılan pencerede artık php yazısını görmeniz gerekiyor. (Resimdeki gibi)


Çalışan php sunucunuzun özelliklerini öğrenmek için, info.php adlı bir dosya oluşturun ve içine aşağıdaki satırları yazın.

<?php
phpinfo();
?>

Bu dosyayı çalıştırdığınızda aşağıdaki gibi bir sonuç almalısınız.



MYSQL Kurulumu

Her zamanki gibi, yine kurulum dosyasını indirmekle başlıyoruz işe. Şu an ki son versiyonu 5.1 olduğundan http://dev.mysql.com/downloads/mysql/5.1.html#win32 linkinden, windows için olan kurulumlardan Windows Essentials (x86)'yı indiriyoruz. İster kayıt olarak, ister olmayarak indirme işlemini tamamlıyoruz. İndirme işlemi bittikten sonra, kurulum dosyasını çalıştırarak, kurulumu bitiriyoruz. Diyaloğu bitirmeden önce, Configure Server seçeneğini seçili bırakıyoruz. Yeni çıkan pencerede sunucumuzu ayarlıyoruz.

Yeni pencerede, Next diyip "Detailed Configuration"ı seçiyoruz. Bir sonraki sayfada, Developer Machine'i seçiyoruz ve devam ediyoruz. Sonraki sayfada Multifunctional Database'i işaretleyip bir sonraki sayfaya geçiyoruz. Bu sayfada C'ye kurulum yapıcağımız için geçiyoruz ve sonraki sayfalarda, Decision Support, sonrakinde değişiklik yapmadan devam ediyoruz. Bir sonraki sayfada Best Support For Multilingualism seçeneğini seçiyoruz. Sonraki sayfayıda geçiyoruz. En son olarak root şifremizi girip, işlemi sonlandırıyoruz. "Execute" demeden önce, Zone Alarm gibi bir firewall kullanıyorsanız, ya 3306 portu için izin verin, ya da firewall'u kapatın.

Hepsinin beraber çalışabilmesi için mysql'i php'ye tanıtmamız gerekiyor. C:\php\php.ini dosyasında
;extension=php_mysql.dll
satırındaki noktalı virgülü kaldırıyoruz.
extension=php_mysql.dll

Bir sonraki adımda C:\php klsaöründe bulunan libmysql.dll dosyasını C:\Windows\system32 klasörüne kopyalamamız gerekiyor. Son olarak da apache'yi yeniden başlatıyoruz.

Bu adımıda uyguladıktan sonra, daha önce hazırladığımız http://localhost/info.php adresine gittiğinizde aşağıdaki resimdeki gibi bir sonuç almanız gerekiyor.


16 Haziran 2009 Salı

Yerel IIS'de ASP.NET ile MSSQL bağlantısı nasıl sağlanır ?


Kendi bilgisayarınıza asp.net sunucusu kurduysanız ve veritabanı olarak mssql kullanıyorsanız, farkedeceğiniz gibi web sayfanızda, sql bağlantısı açılırken, size bağlantı hatası verecektir. "Login Fail" ya da buna benzer bir hata oluşacaktır.

Buna benzer bir sorunu düzeltmek için mssql sunucunuza gerekli kullanıcıları, uygun izinlerle oluşturmanız gerekmektedir.

Bunu gidermek için birkaç adım izledim, ancak bazı adımlar sizin için fazla olabilir. Kendi sorunumuz çözerken hepsini uygulamam gerekti, umarım sizin için de faydalı olur.

Komut istemi açılarak, .net framework'ün bulunduğu dizine gidilir. Benim için bu dizin "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727" şeklinde. Bu dizindeyken "aspnet_regsql.exe" çalıştırılır. Burada karşımıza çıkan pencere izlenir. Sunucunuzun ismi (sunucu isminiz büyük ihtimalle BİLGİSAYARADI\SQLEXPRESS olacaktır) ve bağlanacağınız veritabanı seçilir ve diyalog sonlandırılır. Yaptığınınz ayarların işe yarayıp yaramadığını anlamak için, Sql Management Studio'yu açıp, veritabanı kullanıcılarını "Datebase Roles"dan kontrol edin. Eğer yeni database roles oluşturulmadıysa aşağıdaki adımıda uygulayabilirsiniz.


Gerekli olmayabilir ancak sunucunuza bağlantı sağlanmazsa bu adımıda uygulayabilirsiniz. Komut isteminde, yine aynı dizindeyken, "aspnet_regsql.exe -A all -sqlexportonly C:\runproviders.sql" yazarsanız, c'ye runproviders.sql oluşturulacaktır. Bunuda Sql Management Studio ile çalıştırabilirsiniz.



Son olarak kullanıcı oluşturmamız gerekiyor. Sql Management studio'da Security altındaki Logins'e (Veritabanlarının altındaki security sekmesiyle karıştırmayın.) gelinir. Buna sağ tıklanarak "New Login" denir. Bende login ismi "ERCAN-DATRON\ASPNET" olduğu için bu isimle bir login oluşturuyorum. Şifre olmaması için “Windows Authentication” seçilir. Eğer şifre ile bağlanmak istiyorsanız, "SQL Server authentication"ı seçmeniz gerekiyor. Kendinize isteğinizce göre aşağıda bulunan üç kutucuk seçilir ya da kaldırılır. Kullanacağınız veritabanını, bu kullanıcı için varsayılan olarak atamanız gerekiyor. Bunun için "Default Database"e tıklayarak, kendi veritabanınızı seçin.



En son olarak, kullanıcı oluşturma penceremize iki küçük ayar yapıyoruz. İlki "Server Roles" sekmesinde "sysadmin"i seçiyoruz.


İkinci olarak da, "User Mapping" sekmesinden, varsayılan olarak atadığımız veritabanını seçiyoruz.